sexta-feira, 16 de janeiro de 2009

Artigo Nº 17: Usando AutoCompleteExtender do Ajax Control Toolkit

Opa.... Hoje um post de como se utiliza o AutoComplete, este recurso é usado agora pelo google para mostrar perguntas freqüentes. É nada mais nada menos que mostrar os possíveis complementos para uma palavra que esteja sendo digitada em um textbox.

Para começo adicione os componentes ajax básicos (UpdatePanel e ScriptManager) e em seguida um textbox e o componente AutoCompleteExtender, feito isso vá para o aspx para adicionar uma coisa no componente AutoCompleteExtender, é:
  • servicemethod="AutoCompleta"
Entre aspas duplas é a função que estará no .pas portanto vamos lá declara-la.

[WebMethod]
class function AutoCompleta(prefixText: string; count: Integer): TStringArray; static;

...isso mesmo tem sim um [WebMethod] ali junto na declaração dela, e se tentar compilar vai dar erro, então adicione System.Web.Services nas suas uses. Outra coisa necessária a se fazer é logo depois do Type fazer esta declaração:

TStringArray = array of string;

Pois o delphi não aceita funções que retornem array of string, então se da uma enrolada nele. Agora vamos para o código da nossa função.

PESSOA := TuClassPessoa.create; SetLength(Result, Count); for I := 1 to count do
begin
Result[I - 1] := PESSOA.AutoComplete(prefixText,I);
end;


Bom, aqui foi o básico, tenho uma classe que retorna uma string com uma sql que faz o filtro por like, isso vocês mesmos podem fazer fácil fácil, e no final retorno uma array of string com o result (lembra pra enganar ele criamos um tipo chamado TStringArray. A variavel prefixText vem do componente AutoComplete que é o texto digitado no textbox. Bom, esta feito e agora vamos ao teste.


Como podem ver comecei a digitar meu nome e já me trouxe vários Mauricio, e podem ver que cada uma dessas enormes linhas é uma string que ele retornou da minha função. Axo que era isso por hoje.

Abração e Até

Delphi.net Nova Versão

Pois é.... Depois de um looongo tempo sem postar nada - compromissos com o trabalho - volto para mostrar para quem ainda não sabe da nova versão do delphi.net, o Delphi Prism, agora este não rodara mais na IDE do RAD Studio, agora ele será um plug-in do Visual Studio.

Algumas das novidades em relação ao Delphi Prism...
  • Não mais a VCL.NET
  • .NET Framework 3.5
  • Não necessita uma nova licença do Visual Studio
  • Produz executáveis compatíveis com o framework .NET Mono, para Linux e Mac
  • Ainda não se pode desenvolver aplicativos .NET Compact Framework uma vez que a Microsoft fez o CF só para suas linguagens.
  • A linguagem traz recursos avançados como nullable types e “future” types, generics, sequences e query expressions (LINQ)
  • Funcionará com as tecnologias WPF, Silverlight, ASP.NET and LINQ
  • Não precisa instalar os outros pacotes do Visual Studio.
Para quem quiser ver já ele em uso ta ai uma PREVIEW em inglês por