Versuch's mal mit folgender Strategie:
Stringliste sortieren (mit Quicksort) und dabei Duplikate löschen.
Delphi-Quellcode:
procedure SortTStrings(Strings:TStrings; Duplicates:TDuplicates);
var
tmp: TStringList;
begin
if Strings is TStringList then
begin
TStringList(Strings).Duplicates := Duplicates;
TStringList(Strings).Sort;
end
else
begin
tmp := TStringList.Create;
try
tmp.Duplicates := Duplicates;
tmp.Sorted := True;
// make a sorted copy
tmp.Assign(Strings);
// copy back
Strings.Assign(tmp);
finally
tmp.Free;
end;
end;
end;
SortTstrings(PCListe, dupIgnore);