Na empresa aonde trabalho, precisei localizar uma string dentro do listbox, agora irei compartilha este código com vocês.

vamos ao nosso exemplo :

  Quando pretendemos procurar uma determinada palavra no Help de um programa, escrevemos as primeiras letras da palavra a procurar e o Help vai seleccionar a palavra mais parecida com a que digitamos.

Primeiro deve criar um projecto novo, logo após  inserir um TEdit(Edit1) e um TListBox(ListBox1), depois pode inserir várias strings na ListBox.

No evento onChange do Edit1 deve colar o código abaixo. Quando correr o programa deve digitar no Edit as primeiras letras da palavra a procurar, e repare como a palavra mais parecida é automaticamente seleccionada na ListBox.


procedure TForm.Edit1Change(Sender: TObject);

var

  lcTemp : Array[0..255] of char;

begin

  StrPCopy(S, Edit1.Text);
   with
ListBox1 do
   ItemIndex := Perform(LB_SELECTSTRING, 0, LongInt(@S));
end;