pesquisar uma string dentro do listbox
23/03/2006
0
Preciso pesquisar dentro de um listbox um texto, so consigo trazer a posição.
Se alguem poder me ajudar Agradeço Muito
Minervasoft
Post mais votado
12/08/2016
Pode ser resolvido também utilizando: ListBoxA2X.Perform(LB_SELECTSTRING, 0, LongInt(PChar(EditA2X.Text)));
Será pesquisado por parte
Abraços,
Anderson Amaral
Mais Posts
23/03/2006
Aroldo Zanela
Desculpe, mas não entendi exatamente sua dúvida, pois ao utilizar algum método de pesquisa (e.g: IndexOf) ele vai retorna a posição do índice. Pode adicionar mais detalhes?
23/03/2006
Minervasoft
seria assim
tenho uma variavel tipo string
Menu := ´Cadastro1´
tenho que pesquisar dentro do listbox se tem um item com este nome
ai vou fazer uma condição para deixar visivel ou não.
Mas desde ja agradeço a ajuda
23/03/2006
Adriano Santos
Desculpe, mas não entendi exatamente sua dúvida, pois ao utilizar algum método de pesquisa (e.g: IndexOf) ele vai retorna a posição do índice. Pode adicionar mais detalhes?[/quote:72505d2529]
if ListBox1.Items.IndexOf(´Item1´) > 0 then ShowMessage(´O item existe no ListBox1´);
23/03/2006
Paullsoftware
var Procura : Integer; begin Procura := ListBox1.Items.IndexOf(Edit1.Text); if Procura >= 0 then begin ListBox1.ItemIndex:=Procura; ShowMessage(ListBox1.Items.Strings[procura]); end; end;
espero ter ajudado! :wink:
23/03/2006
Adriano Santos
var Procura : Integer; begin Procura := ListBox1.Items.IndexOf(Edit1.Text); if Procura >= 0 then begin ListBox1.ItemIndex:=Procura; ShowMessage(ListBox1.Items.Strings[procura]); end; end;
Pall, funciona o que vc fez, mas não é necessário. O IndexOF já retorna o indice do item encontrado, então você pode fazer assim:
procedure TForm1.... begin if ListBox1.Items.IndexOf(Edit1.Text) > 0 then ShowMessage(ListBox1.Items[ListBox1.Items.IndexOf(Edit1.Text)]) else ShowMessage(´Não encontrou´); end;
Se quiser pode até focar no ItemIndex:
procedure TForm1.... begin if ListBox1.Items.IndexOf(Edit1.Text) > 0 then begin ListBox1.ItemIndex := ListBox1.Items.IndexOf(Edit1.Text); ListBox1.SetFocus; end else ShowMessage(´Não encontrou´); end;
23/03/2006
Paullsoftware
var Procura : Integer; begin Procura := ListBox1.Items.IndexOf(Edit1.Text); if Procura >= 0 then begin ListBox1.ItemIndex:=Procura; ShowMessage(ListBox1.Items.Strings[procura]); end; end;
Pall, funciona o que vc fez, mas não é necessário. O IndexOF já retorna o indice do item encontrado, então você pode fazer assim:
procedure TForm1.... begin if ListBox1.Items.IndexOf(Edit1.Text) > 0 then ShowMessage(ListBox1.Items[ListBox1.Items.IndexOf(Edit1.Text)]) else ShowMessage(´Não encontrou´); end;
Se quiser pode até focar no ItemIndex:
procedure TForm1.... begin if ListBox1.Items.IndexOf(Edit1.Text) > 0 then begin ListBox1.ItemIndex := ListBox1.Items.IndexOf(Edit1.Text); ListBox1.SetFocus; end else ShowMessage(´Não encontrou´); end;
blz Adriano, valeu! :wink:
23/03/2006
Martins
paullsoftware, valew pela contribuição.
:)
23/03/2006
Minervasoft
Caiu como uma luva estes exemplos de voces deram
Muitissimo obrigado
Silvio Coelho
23/03/2006
Adriano Santos
Estamos sempre a disposição. :D
23/03/2006
Martins
Estamos sempre a disposição. :D[/quote:0a5c7a5e92]
Os créditos devem ser dados ao [b:0a5c7a5e92]paullsoftware[/b:0a5c7a5e92], [b:0a5c7a5e92]Adriano[/b:0a5c7a5e92], [b:0a5c7a5e92]Aroldo Zanela[/b:0a5c7a5e92]...
Minha participação foi meramente para agradecer a participação dos amigos.
Clique aqui para fazer login e interagir na Comunidade :)