Zitat von
Muetze1:
Delphi-Quellcode:
procedure TForm1.LabeledEdit1Change(Sender: TObject);
var
i: Integer;
lTemp: String;
lItem: TListItem;
begin
lTemp := AnsiUpperCase(LabeledEdit1.Text);
for i := 0 to Pred(ListView1.Items.Count) do
begin
lItem := ListView1.Items[i];
if Pos(lTemp, AnsiUpperCase(lItem.SubItems.Text)) <> 0 then
begin
ListView1.HideSelection := False;
ListView1.Selected := lItem;
lItem.MakeVisible(False);
Break;
end;
end;
end;
1. MakeVisible()
2. Schleife abbrechen, wenn Eintrag gefunden
3. Selected sollte schneller als ItemIndex sein.
4. AnsiUpperCase() nach Bernhard Geyer rausgezogen
5. nur einmaliger Zugriff auf Items[] Array Property
Danke, ändert zwar nichts an der Geschwindigkeit aber jetzt wird wenigstens zum Eintrag hingescrollt
Edit:
Oh, hatte vergessen was vom Code zu übernehmen
Die Suche ist jetzt spürbar schneller!
Danke!!
Gruß
Dash