Opções de Busca rápida.

Vamos mostrar como criar uma janela de localização onde à medida que o usuário digita o nome a procurar ,o sistema se antecipe ao que ele esta escrevendo mostrando na tela o item digitado.
Muito difícil !!!
Não, siga o roteiro passo a passo:

1. Crie um novo formulário (form) , desenhe nele uma caixa de texto e, logo abaixo dela uma caixa de listagem.
2. Adicione dois botões de comando, um Cancelar para encerrar o programa e outro OK para mostrar como se determina o valor do texto selecionado na caixa de listagem.(Veja figura abaixo.)

    Código para o botão Cancelar
    Sub Cancelar_Click
       end
    End Sub

    Código para o botão OK
    Sub OK_Click
            msgbox "Você selecionou " + list1.text
    End Sub

3. Na rotina do evento Form_Load , use o comando AddItem para preencher a caixa de listagem com alguns nomes de cidades:

    Sub Form_Load( )
            list1.AddItem "Salvador"
            list1.AddItem "Fortaleza"
            list1.AddItem "Recife"
            list1.AddItem "São Paulo"
            list1.AddItem "Rio de Janeiro"
            list1.AddItem "Natal"
            list1.AddItem "Vitória"
            list1.AddItem "Porto Alegre"
            list1.AddItem "Manaus"
            list1.AddItem "Porto Velho"
            list1.AddItem "Belém"
    End Sub

4. No evento Text1_Change, digite a rotina de busca, ela entra em ação a cada caractere escrito e tenta localizar na caixa de listagem o item iniciado pelo conjunto de letras já digitado.

    Sub Text1_Change( )
       Search$=UCase$(text1.text)
       Searchlen=len(Search$)
       If Searchlen then
         For i=0 to list1.ListCount-1
           if Ucase$(Left$(List.List(i),Searchlen))=Search$ then
             List1.ListIndex=I
             Exit For
           End if
         Next
       Endif
    End Sub

A localização do item coincidente e feito pelo laço For/Next que transfere a barra de seleção para o item correspondente(List1.ListIndex=I), saindo do loop com Exit For.

Pronto ! Agora Salve o seu projeto e teste-o. Que tal ? Simples, não ?

Fonte:Revista Exame Informática

Retorna