Últimas Novidades

AutoCompleteExtender não dispara eventos, não responde 

Friday, November 07, 2008 8:31:57 AM
Rate this Content 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

Como provocar um erro SQL Server 

Tuesday, October 28, 2008 2:45:20 PM
Rate this Content 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

fsCash - Capítulo 01: Introdução 

Monday, December 10, 2007 2:02:26 PM
Rate this Content 0 Votes
Clipper 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. vb6
vb.Net 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.

Definindo nova localização para os diretórios de Sistema 

Monday, December 10, 2007 11:40:10 AM
Rate this Content 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.

WinXP 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
WinVista

Desbloquear anexos no Outlook 

Monday, December 10, 2007 11:11:26 AM
Rate this Content 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

Nova Versão 1.00b 

Wednesday, October 17, 2007 8:25:22 PM
Rate this Content 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.

 

Bíblia On Line 

Saturday, October 13, 2007 12:44:06 PM
Rate this Content 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.

 

Alterar idioma (language) do SQL Server 

Monday, October 08, 2007 5:30:47 AM
Rate this Content 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.

Smart Menu: Novo Membro da Família 

Friday, September 28, 2007 9:14:47 PM
Rate this Content 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.

Transformar array de valores em tabela 

Wednesday, September 26, 2007 6:36:28 PM
Rate this Content 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

Copyright 2008 Friendship Solutions