Forum: Neuen Beitrag zur Code-Library hinzufügen
by Stevie,
17. Apr 2012
Nun, da das Thema heißt "sortieren wie im Windows Explorer", ist die Function StrCmpLogicalW genau das Richtige, denn diese wird vom Explorer benutzt.
Dass die Sortierung anhand bestimmter Pattern eventuell anders sein muss, steht auf einem anderen Blatt.
Forum: Neuen Beitrag zur Code-Library hinzufügen
by Stevie,
17. Apr 2012
Welche Sortierung der Explorer benutzt, ist durch einen Registry Eintrag geregelt, den konnte man schon mindestens unter Vista verstellen afaik.
Forum: Neuen Beitrag zur Code-Library hinzufügen
by Stevie,
17. Apr 2012
Stimmt, hab die Delphi Versionen vor 2009 schon verdrängt ;) Hab es mal editiert
Forum: Neuen Beitrag zur Code-Library hinzufügen
by Stevie,
17. Apr 2012
Für XP/Server 2003 gibt's auch folgende Möglichkeit:
function StrCmpLogicalW(P1, P2: PWideChar): Integer; stdcall; external 'Shlwapi.dll';
function NaturalCompare(List: TStringList; Index1, Index2: Integer): Integer;
begin
Result := StrCmpLogicalW(PWideChar(List), PWideChar(List));
end;
Und dann am besten wie schon erwähnt in Verbindung mit CustomSort benutzen.