Otra forma:
Código Delphi
[-]
procedure TForm1.Edit1Change(Sender: TObject);
var
I: Integer;
begin
if ListBox1.Items.Count = 0 then
Exit;
for I := 0 to ListBox1.Items.Count - 1 do
if AnsiSameText(Edit1.Text, Copy(ListBox1.Items[i], 1, Length(Edit1.Text))) then
begin
ListBox1.ItemIndex := I;
Break
end
end;
La función
AnsiSameText compara dos cadenas sin tomar en cuenta mayúsculas y minúsculas. Ahora, este ejemplo solo compara lo que has escrito en Edit1 con el inicio de cada Item en ListBox1, tal como lo pides en tu mensaje.
Saludos...