• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

NuGuN

[VB6] Pesquisar em Listbox/ComboBox - How To

6 mensagens neste tópico

Ora é isso mesmo..... estava a fazer um pequeno programa para "consumo próprio" e tive a necessidade de fazer pesquisas em listbox's/combobox's e então fui procurar no google algoritmos que fizessem tal coisa, e ate encontrei como fazer mas não como queria e então decidi fazer eu... Não é nada de especial mas decidi partilhar aqui com o pessoal  :thumbsup: e só funciona bem com listas que não sejam demasiado grandes...

Para encontrarem outras formas de o fazer procurem por -> "search in listbox with VB6" no google.

A função que fiz é a seguinte:

Private Sub FProcura()
Dim i As Integer
Dim SearchStr As String
Dim temp As String

SearchStr = Space(Len(txtProcura.Text)) 'Dimenciona a variavel SearchStr para o tamanho da string a procurar
SearchStr = txtProcura.Text
lstResultado.Clear
For i = 0 To lstConteudo.ListCount - 1
    temp = Mid(lstConteudo.List(i), 1, Len(SearchStr)) 'Guarda o inicio de cada linha da listbox com o tamanho da string que se procura
    If (LCase(SearchStr) = LCase(temp)) And (Len(SearchStr) > 0) Then
        lstResultado.AddItem lstConteudo.List(i)
    End If
Next i
End Sub

Download do projecto.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olha colega o código tá bom ;só falta uma coisa em minha opinião vc esqueceu de fazer a rotina para pesquisar letra a letra..

ex : se vc tiver

aa

aaaiiacc

ab

e procurar a letra "b" ele não mostra o resultado pois existe uma frase com a letra b

vc só tá fazendo letra a letra de um modo dinâmico ( se é o que pretende tá óptimo..)

até +

programadorvb6

Ps :veja pelo exemplo que postei no programa cheat List v 2.0 do que estou-lhe a dizer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas...

Eu estou a perceber o que queres dizer. Só que eu fiz isso com um objectivo especifico que que era pesquisar nomes numa listbox por ele só procura as cenas exactas :P

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então  e para procurar mas dentro de uma pagina carregada no componete webbrowzer? isso é que era! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes utilizar a função InStr. Esta função retorna a posição da string ou de um único carácter que estas à procura.

Imagina que tens o seguinte texto numa variável de nome strCodigo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

        <html xmlns="http://www.w3.org/1999/xhtml"><head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<meta name="description" content="Resposta" />

E querias procurar a palavra PUBLIC, então fazes - intPosicao = instr(strCodigo, "PUBLIC")

Na variável intPosicao iria ser guardado o valor 16 que é a posição onde se encontra a primeira letra da palavra.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E depois é só dizer que quero guardar numa outra varavel os caracteres  x até x+10 (neste caso 16 até 26) para obter ""-//W3C//"

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora