Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RodolphoChagas

Função de busca

Recommended Posts

Bom dia pessoal.

Estou fazendo um programa no vb6 em que o usuario digita em um textbox(txtBusca) e o listview vai selecionando conforme

vai encontrando o que ele digitou.

Ex: O usuario digitou Ação.

E no ListView existem várias palavras como :

1-Obrigação

2-Atração

3-Ação

 

Estou usando a função InStr() para fazer essa busca, o único problema é que ela não começa a buscar pelo inicio da palavra ou frase, e sim na palavra toda, ou seja, assim que ele escreveu "Ação" automaticamente o ListView selecionou "1-Obrigação" e não "3-Ação".

Teria alguma forma de eu fazer com que a busca inicie no começo ?

 

 

 

Private Sub txtBusca_Change()
Dim i As Integer
If Len(Trim(txtBusca.Text)) = 0 Then
lstBusca.Visible = False
txtCodPro = ""
Else
lstBusca.Visible = True
For i = 1 To lstBusca.ListItems.count
If InStr(1, (lstBusca.ListItems(i).ListSubItems(1).Text), (LCase(txtBusca))) Then
lstBusca.ListItems(i).EnsureVisible
lstBusca.ListItems(i).Selected = True
Exit For
End If
Next i
End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode quebrar a string resultante por "-", para separar o "3 - Ação" em um array, depois usa uma função de comparação, ou usa a função direto se você quiser:

 

http://stackoverflow.com/questions/813335/is-vb6-string-comparison-case-insensitive

https://msdn.microsoft.com/en-us/library/215yacb6.aspx

https://msdn.microsoft.com/pt-br/library/9s233cfc(v=vs.90).aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.