Geht sowas ohne viel Aufwand schöner?
Eine abgeleitete Stringliste mit eigener CompareStrings Funktion. Dann geht auch einfach
Sort
bzw.
Sorted := True
.
Delphi-Quellcode:
type
TFileNameList = class(TStringList)
protected
function CompareStrings(const S1: string; const S2: string): Integer; override;
end;
function TFileNameList.CompareStrings(const S1, S2: string): Integer;
begin
Result := string.Compare(S1, S2, [coDigitAsNumbers]); // bei Bedarf noch weitere Optionen
end;