Hallo Nico,
wenn du deine VirtList sortierst, dann musst du nicht ständig über die ganze Liste iterieren. In meinem Code ist SortedList die Liste mit den normierten Strings (CINO für Nico) und in TextEdit steht der zu verwendende Buchstabenvorrat. In Objects steht der Index des nicht-normierten Strings im Wörterbuch - bei mir eine ListBox:
Delphi-Quellcode:
procedure TDemoForm.MatchButtonClick(Sender: TObject);
var
i: Integer;
begin
if SortedList.Find(SortedString(Uppercase(TextEdit.Text)), i) then
begin
i := Integer(SortedList.Objects[i]);
ShowMessage(ListBox.Items[i]);
end;
end;
Grüße vom marabu