sábado, 23 de outubro de 2010


Existe um método simples para se realizar consultas rápidas usando um Listbox, um Edit e um Button. (O Button é opcional).
Iremos usar estes três componentes, com os nomes padrões para facilitar...



O nosso objetivo é fazer com que o texto digitado no Edit, seja selecionado na Listbox.
Podemos fazer o mesmo, em 2 diferentes formas, usando o Button ou não.

Usando o Button:
A consulta não seria feita no mesmo momento da pesquisa do item correspondido na Listbox, o item seria selecionado apenas após o clique no botão.

Não Usando o Button:
Ao contrário do que foi dito acima, a pesquisa será realizada no momento em que o usuário digita o conteúdo que deseja buscar.

O Interessante deste método, é que o item é selecionado de acordo ou não com o que se digita! Espere... deixe-me esclarecer....
Não é necessário digitar o nome inteiro do item, exemplo:

Digamos que na Listbox, existam 2 itens semelhantes: Maria Joana e Maria da Silva, ao digitar Maria, o primeiro item de acordo com a Listbox será selecionado, não sendo necessário digitar ou especificar por qual 'Maria' você está procurando! Certo?

Então, eu acho mais interessante, não usar o Button, mas faça como quiser!
Caso use-o, o comando será no onClick mesmo, caso use direto no Edit, será no evento onChange.

Usaremos o comando Listbox1.Perform, veja:


Usaremos como Msg: Cardinal o comando LB_SELECTSTRING, seria interessante que você explorasse os demais comandos, apertando Ctrl+Space.

O comando por completo, será:

Listbox1.Perform(LB_SELECTSTRING,0,LongInt(PChar(Edit1.Text)));

Agora, adicione os itens ao seu Listbox, e teste o programa! =D

Resultado:


Faça o download deste código, clicando aqui.


4 comentários:

  1. Anônimo24.10.10

    Bem interessante este procedimento!

    ResponderExcluir
  2. Anônimo22.9.12

    Muito bom!!!

    ResponderExcluir
  3. Obrigado por compartilhar

    ResponderExcluir
  4. mas e se a pessoa quiser procurar uma palavra que esteja depois da primeira frase tipo por exemplo

    dasdasdas@hotmail.com
    dfsafsdfsd@gmail.com
    sdfsdfsdf@terra.com

    como eu faço pra encontrar a palavra que vem depois do @ ?

    ResponderExcluir