pesquisar uma string dentro do listbox

23/03/2006

bom dia a todos

Preciso pesquisar dentro de um listbox um texto, so consigo trazer a posição.

Se alguem poder me ajudar Agradeço Muito


Minervasoft

Respostas

23/03/2006

Aroldo Zanela

Colega,

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?


Responder Citar

23/03/2006

Minervasoft

Bom dia Aroldo,

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


Responder Citar

23/03/2006

Adriano Santos

[quote:72505d2529=´Aroldo Zanela´]Colega,

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´);



Responder Citar

23/03/2006

Paullsoftware

pelo que eu entendi, deve ser isso que ele quer:
var
Procura : Integer;
begin
 Procura := ListBox1.Items.IndexOf(Edit1.Text);
 if Procura >= 0 then
  begin
  ListBox1.ItemIndex:=Procura;
  ShowMessage(ListBox1.Items.Strings[procura&93;);
  end;
end;

espero ter ajudado! :wink:


Responder Citar

23/03/2006

Adriano Santos

pelo que eu entendi, deve ser isso que ele quer:
var
Procura : Integer;
begin
 Procura := ListBox1.Items.IndexOf(Edit1.Text);
 if Procura >= 0 then
  begin
  ListBox1.ItemIndex:=Procura;
  ShowMessage(ListBox1.Items.Strings[procura&93;);
  end;
end;
espero ter ajudado! :wink:



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&91;ListBox1.Items.IndexOf(Edit1.Text)&93;)
  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;



Responder Citar

23/03/2006

Paullsoftware

[quote]pelo que eu entendi, deve ser isso que ele quer:
var
Procura : Integer;
begin
 Procura := ListBox1.Items.IndexOf(Edit1.Text);
 if Procura >= 0 then
  begin
  ListBox1.ItemIndex:=Procura;
  ShowMessage(ListBox1.Items.Strings[procura&93;);
  end;
end;
espero ter ajudado! :wink:



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&91;ListBox1.Items.IndexOf(Edit1.Text)&93;)
  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;
[/quote:2996f61d99]

blz Adriano, valeu! :wink:


Responder Citar

23/03/2006

Martins

Muito bom Adriano, mandou bem, valew :wink:

paullsoftware, valew pela contribuição.

:)


Responder Citar

23/03/2006

Minervasoft

Obrigado paullsoftware, Adriano, Martins e Aroldo......

Caiu como uma luva estes exemplos de voces deram


Muitissimo obrigado

Silvio Coelho


Responder Citar

23/03/2006

Adriano Santos

Obrigado paullsoftware, Adriano, Martins e Aroldo...... Caiu como uma luva estes exemplos de voces deram Muitissimo obrigado Silvio Coelho


Estamos sempre a disposição. :D


Responder Citar

23/03/2006

Martins

[quote]Obrigado paullsoftware, Adriano, Martins e Aroldo...... Caiu como uma luva estes exemplos de voces deram Muitissimo obrigado Silvio Coelho


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.


Responder Citar

12/08/2016

Doamaralx Currículo

Olá Pessoal,
Pode ser resolvido também utilizando: ListBoxA2X.Perform(LB_SELECTSTRING, 0, LongInt(PChar(EditA2X.Text)));
Será pesquisado por parte

Abraços,
Responder Citar