Friday, November 07, 2008 8:31:57 AM
|
Rate this Content
|
1
|
1 Votes
|
Pela segunda vez ao começar um novo projeto AspNet usando o extender AutoCompleteExtender para auto-sugerir valores num dropdown conforme se digita num textbox, eu tenho dificuldades em fazer o recurso funcionar.
Faço todas as chamadas, crio o webService, testo o webService, tudo OK mas,.. simplesmente na página ao digitar nada é sugerido.
Após apanhar muiiiiito, comparando minhas outras aplicações (onde o recurso está funcionando) com a nova, identifiquei sutis diferenças nas declarações dos webMethods e dos webServices e... sim eram esses os problemas. Para que eu não volte a esquecer, vou documentar aqui
Declaração do webService:
<WebService(Namespace:="http://tempuri.org/")> _ <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ <Script.Services.ScriptService()> _
Public Class AutoComplete
Inherits System.Web.Services.WebService
Declaração do webMethod (declaração é totalmente case-sensitive):
<WebMethod()> _
<Script.Services.ScriptMethod()> _
Public Function GetTerceiros( _
ByVal prefixText As String, _
ByVal count As Integer) As String()
Chamada no AspX:
<ajaxToolkit:AutoCompleteExtender
ID="TerceiroAutoComplete"
runat="server"
TargetControlID="TerceiroTextbox"
ServicePath="~/Common/AutoComplete.asmx"
ServiceMethod="GetTerceiros"
MinimumPrefixLength="1"
CompletionInterval="1000"
CompletionSetCount="20"
EnableCaching="true"
Enabled="true"
/>
Ah sim, mais uma coisa, no AspX os objetos devem estar dentro de um UpdatePanel, naturalmente.
AJAX: AutoCompleteExtender not firing, not responding
Tuesday, October 28, 2008 2:45:20 PM
|
Rate this Content
|
0
|
0 Votes
|
"Como provocar um erro SQL Server ?" Essa foi a pergunta do meu amigo. Achei válido catalogar aqui pois além de não precisar me lembrar, pode ser uma dúvida de outros. Eis a resposta:
-- DENTRO DE UMA TRIGGER POR EXEMPLO
if AlgumCoisa = SeiLaQue begin
raiserror 30005 'Faz direito que funciona.'
end
-- OU ALGO ASSIM NUMA PROCEDURE
if AlgumCoisa = SeiLaQue begin
RAISERROR ('Faz direito que funciona.', 16, 1)
end
Monday, December 10, 2007 2:02:26 PM
|
Rate this Content
|
0
|
0 Votes
|
 |
Eu sempre fui um cara muito chato com relação às minhas coisas, gosto de ter tudo muito catalogado e organizado (minha mulher que o diga). Com minhas finanças (quem lê pensa que é muita) não poderia ser diferente, por isso sempre tive um programinha para isso. |
| Na época que trabalhava com Clipper eu fiz um aplicativo com base em DBFs, telinhas bem pobres mas que dava conta do recado. Quando comecei a trabalhar com vb6 migrei a base para o Microsoft Access e fiz, junto com o Luciano Nascimento, um novo programa. Foi uma festa, tinha interface gráfica, botõeszihos coloridos, navegação em grid e era multi-tarefa... cara, pros mais novinhos que já nasceram em berço Windows e não viveram os gloriosos dias do DOS, a idéia de poder visualizar a lista de clientes e a lista de contas a pagar ao mesmo tempo era algo perto de sobre-natural. Utilizei-o até o advento do Microsoft .Net quando novamente re-fiz, desta vez com a ajuda do William da Motta, meu pequeno Fluxo de Caixa, agora utilizando base de dados MSDE e telinhas ainda mais agradáveis. Os maiores avanços foram internos com o uso de herança nas classes, geração de telas e relatórios em tempo de execução e procedures direto na base de dados, etc. |
 |
 |
Bom galera, há pelo menos 4 anos eu estou querendo criar um novo aplicativo para administrar minhas finanças pessoais e não consigo. Falta de tempo, ausência de tempo e tempo escasso tem sido os motivos principais. Por isso que, seguindo a dica do Joseph (que logo irá inaugurar uma série de posts aqui no blog), resolvi iniciar essa série. Desta forma, havendo o comprometimento com o blog eu devo me esforçar mais para conseguir concluí-lo e terei não apenas o programa para meu uso pessoal como todo o desenvolvimento do mesmo devidamente documentado.
A idéia é simples; vamos explorar a criação de um simples e eficaz controle financeiro desde a concepção da base de dados até a geração do setup. A cada post vamos exemplificando e explicando, deixando sempre disponível os fontes abertos e atualizados. Com isso, os mais experientes poderão colaborar com idéias e sugestões e os menos experientes poderão se beneficiar desse passo-a-passo. |
| Fiquem atentos ao próximo post para o início dessa empreitada. |
Monday, December 10, 2007 11:40:10 AM
|
Rate this Content
|
0
|
0 Votes
|
Se voce, como eu, cotuma particionar seu HD em pelo menos dois volumes deixando os programas instalados num drive C: com o mínimo possível de espaço e o resto num drive D: para os dados, voce já teve a necessidade de a pasta 'Meus Documentos' ser localizada no drive D: também para facilitar as coisas.
Bem, para alguma dessas pastas isso é bastante intuitivo, basta clicar com o botão direito na pasta e escolher a localização desejada. Porém eu vou além, eu tenho a necessidade de ter plena certeza de que meu drive C: possa ser formatado a qualquer momento sem me preocupar com dado algum que possa nele existir. E isso significa não apenas a pasta Meus Documentos, mas também Meus Favoritos por exemplo, entre outras. Fora Minhas Músicas, Vídeos, Imagens que no Windows Vista não mais ficam dentro de Meus Documentos.
 |
Bom, no WindowsXP a chave de registro que possui essas configurações é essa logo abaixo, bastando apenas preencher seus valores com as localizações desejadas.
HKCU\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ User Shell Folders\ Favorites |
Já no WindowsVista, a chave é essa abaixo. Reparem que no Vista podemos também definir a localização das pasta Public muito útil para compartilhamentos pois o próprio sistema operacional disponibiliza atalhos para ela de dentro dos diversos programas.
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList |
 |
Monday, December 10, 2007 11:11:26 AM
|
Rate this Content
|
5
|
1 Votes
|
Para desbloquear arquivos .exe, .mdb, .bat, etc... que vêm anexo às mensagens do Microsoft OutLook (XP/2003) faça o seguinte:
- Adicione um novo valor da seqüência à chave [HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Security].
- Dê o nome de Level1Remove a novo valor.
- Adicione as extensões que você quer que sejam desbloqueadas pelo OutLook separadas por ; (ponto e vírgula), exemplo: exe;bat;mdb

Wednesday, October 17, 2007 8:25:22 PM
|
Rate this Content
|
5
|
1 Votes
|
Já esta disponível a nova versão do SmartMenu (1.00b).
Novidades da versão:
- Correção na chamada dos programas, pois ao clicar várias vezes rapidamente no mesmo atalho causava erro;
- Ajuste no tamanho da barra de busca, podendo agora realizar buscar na internet pelo Google, abrindo automaticamente o seu browser.
Baixe agora mesmo esta nova versão e deixe um comentário ou uma dica.
A Equipe Friendship, agradece sua atenção e estamos trabalhando para facilitar a sua vida.
Saturday, October 13, 2007 12:44:06 PM
|
Rate this Content
|
3
|
2 Votes
|
Olá irmãos e amigos, disponibilizamos em nosso site a primeira versão totalmente on-line do Minha Biblia, clique aqui para acessar. Poderemos consultar a palavra de Deus de qualquer lugar usando apenas o browser. Estamos trabalhando para tornar a ferramenta ainda melhor, postem suas sugestões e criticas aqui em nosso blog.
Fiquem na paz do Senhor.
Monday, October 08, 2007 5:30:47 AM
|
Rate this Content
|
5
|
1 Votes
|
Muitas vezes me questionam sobre como proceder com consultas envolvendo campos data. Bem, em linhas gerais podemos dizer que, fazendo a consulta utilizando o padrão ‘yyyy-mm-dd’ ou ‘yyyymmdd’ ( sendo [y]ear, [m]onth, [d]ay, respectivamente ) não teremos problemas.
SELECT
Codigo, Descricao, DataCadastro
FROM Clientes
WHERE
DataCadastro = '2007-10-07'
Bem, não é bem assim, para que a sintaxe acima funcione, o servidor (e usuário logado) precisa estar utilizando o idioma inglês. Agora, e se o servidor tiver sido instalado com idioma em português, ou ainda, uma aplicação que antes funcionava pois estava em um servidor cujo idioma era inglês e fora restaurado num servidor cujo idioma seja português. Para esses casos precisaríamos de uma instrução para alterar o idioma, o script abaixo faria o serviço.
-- EXIBIR A ATUAL CONFIGURACAO DE IDIOMA
SELECT @@language, @@langid
-- DEFINIR O IDIOMA DEFAULT PARA O SERVIDOR
EXEC sp_configure 'default language', 0
-- DEFINIR O IDIOMA PARA CADA LOGIN DO SERVIDOR
EXEC sp_defaultlanguage 'sa', 'us_english'
-- EXEC sp_defaultlanguage 'NomeUsuario', 'us_english'
-- EXEC sp_defaultlanguage 'Maquina\Usuario', 'us_english'
-- COMANDO PARA RECONFIGURAR ALTERACOES FEITAS
RECONFIGURE
-- APOS ISSO SERA PRECISO DAR UM STOP e START NO SQL SERVER
até a próxima.
Friday, September 28, 2007 9:14:47 PM
|
Rate this Content
|
4
|
2 Votes
|
A Equipe Friendship tem novamente o prazer de apresentar à vocês o mais novo membro da família, Smart Menu, esta nova ferramenta irá revolucionar a sua forma de acessar programas.
Basta configurar o Smart Menu com os seus programas mais utilizados, separados por grupo e com a possibilidade de ser uma barra superior que diminuirá automaticamente o tamanho, quando perder o foco, para não poluir sua tela ou atrapalhar o seu trabalho. Ele pode ser utilizado também como um Ícone de Bandeja, localizado ao lado do seu relógio na Barra do Menu Iniciar, clicando com o botão direito do Mouse sobre a “estrelinha”, você terá acesso a todos os seus programas de forma clara e limpa.
O Smart Menu foi criado para ter o seu jeito, possuir o seu estilo, facilitando e agilizando seu trabalho, por isso, se você tiver dicas, sugestões ou reclamações, mande para nós.
Estamos aguardando o seu feedback.
Wednesday, September 26, 2007 6:36:28 PM
|
Rate this Content
|
4
|
2 Votes
|
Muitas vezes, me deparo com o problema de ter uma lista de valores (contida numa string, por exemplo) e querer utilizá-la como registros de uma tabela, talvez para fazer join com alguma outra tabela ou coisa assim. Se essa necessidade ocorrer dentro de uma PROC, poderíamos criar uma tabela temporária, abastecê-la com os registros desejados, fazer uso da forma que desejarmos e depois apagá-la. Já numa VIEW não temos como criar objetos, apenas os consultamos, ou numa rotina dentro de um programa, as limitações seriam semelhantes.
Foi pensando nisso que eu dei uma estudada e cheguei no script abaixo. Ele cria na base de dados uma FUNCTION que recebe por parâmetro uma string contendo a lista de valores e outro contendo o caractere usado como separador na lista e retorna uma tabela com uma coluna e os diversos valores em forma de registros. Vamos ao script:
|
CREATE FUNCTION dbo.GetTableFromString
(
@Valores VarChar(4000),
@Separador Char(1)
)
RETURNS @Retorno TABLE( Valor VarChar(256) )
BEGIN
DECLARE @PosIni INT, @PosFim INT
SELECT
@PosIni = 1,
@PosFim = CharIndex(@Separador, @Valores)
WHILE @PosIni < Len(@Valores) + 1 BEGIN
IF @PosFim = 0 BEGIN
SET @PosFim = Len(@Valores) + 1
END
INSERT INTO @Retorno (Valor)
VALUES( SUBSTRING(@Valores, @PosIni, @PosFim - @PosIni) )
SET @PosIni = @PosFim + 1
SET @PosFim = CharIndex(@Separador, @Valores, @PosIni)
END
RETURN
END
|
Supondo que temos a seguinte lista: 'azul|verde|branco|preto', podemos ver que os valores são separados pelo caractere: '|' ou seja, faríamos a chamada da função da seguinte forma:
|
SELECT * FROM dbo.GetTableFromString('azul|verde|branco|preto', '|')
|
E o retorno seria:
|
Valor
-------------------
azul
verde
branco
preto
(6 row(s) affected)
|
po-po-por hoje é só pe-pe-pessoal... até a próxima