Array
(
)

pesquisar uma string dentro do listbox

Minervasoft
   - 23 mar 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


Aroldo Zanela
   - 23 mar 2006

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?


Minervasoft
   - 23 mar 2006

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


Adriano Santos
   - 23 mar 2006


Citação:
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?


#Código


if ListBox1.Items.IndexOf(´Item1´) > 0 then
ShowMessage(´O item existe no ListBox1´);



Paullsoftware
   - 23 mar 2006

pelo que eu entendi, deve ser isso que ele quer:
#Código

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:


Adriano Santos
   - 23 mar 2006


Citação:
pelo que eu entendi, deve ser isso que ele quer:
#Código

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:


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:

#Código

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:

#Código

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;



Paullsoftware
   - 23 mar 2006


Citação:

Citação:
pelo que eu entendi, deve ser isso que ele quer:
#Código

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:


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:

#Código

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:

#Código

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:


Martins
   - 23 mar 2006

Muito bom Adriano, mandou bem, valew :wink:

paullsoftware, valew pela contribuição.

:)


Minervasoft
   - 23 mar 2006

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

Caiu como uma luva estes exemplos de voces deram


Muitissimo obrigado

Silvio Coelho


Adriano Santos
   - 23 mar 2006


Citação:
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


Martins
   - 23 mar 2006


Citação:

Citação:
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


Os créditos devem ser dados ao paullsoftware, Adriano, Aroldo Zanela...

Minha participação foi meramente para agradecer a participação dos amigos.


Doamaralx
|
MVP
    12 ago 2016

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

Abraços,