Wie auch immer man das NaturalCompare umsetzen mag, ich denke man sollte unbedingt ein Testprogramm dafür haben.
Rein gefühls- und erfahrungsmässig kann der NaturalCompare schwieriger sein als gedacht; vielleicht hat man irgendwelche Grenzfälle vergessen oder verhält sich bei manchen Strings anderst als gedacht.
Hier sind z.B. 4 Strings bei denen man etwas überlegen muss um sie in die richtige Reihenfolge zu bringen
Code:
Part- 200B
Part-200B
Part-01000-
Part-01000-000
PS:
function StrCmpLogicalW(P1, P2: PWideChar): Integer; stdcall; external 'Shlwapi.dll';
Gut, wenn's nicht immer funktioniert ist MS schuld