Delphi-Quellcode:
function MySortCompare(List: TStringList; Index1, Index2: Integer): Integer;
var
Str1, Str2: string; // oder direkt List[...] benutzen
Flags: Dword;
begin
Str1 := List[Index1];
Str2 := List[Index2];
Flags := 9; // coDigitAsNumbers + coIgnoreCase
Result := CompareString(LOCALE_USER_DEFAULT, Flags, PChar(Str1), Length(Str1), PChar(Str2), Length(Str2)) - CSTR_EQUAL;
end;
Ich habe auch damit angefangen (mit CompareString und einfach string-Variablen), aber ich habe eine Fehlermeldung - Index out of range - bekommen. Warum weiß ich momentan nicht. Mit einem anderen Flag (weniger als 8) gab es keine Fehlermeldung, aber die Sortierung war nicht wie gewünscht (was logisch ist). Deshalb habe ich mit CompareStringW gemacht. Hast du selber mit deinem Code ausprobiert? funktioniert wie gewünscht? Welche Delphi-Version?