Habe es nur mal rasch mit FreePascal probiert und stelle nichts falsches fest wenn ich es so mache:
Code:
program Project1;
uses
SysUtils, Classes;
function CompareProc(List: TStringList; Index1, Index2: Integer): Integer;
begin
Result := string.Compare(List[Index1], List[Index2], [coIgnoreCase]);
end;
var
SL: TStringList;
i: Integer;
begin
SL := TStringList.Create;
try
SL.Add('2.6.1.csv');
SL.Add('4.5.csv');
SL.Add('4.9.1.csv');
SL.Add('1.3.csv');
SL.Add('2.3.csv');
SL.Add('2.6.2.csv');
SL.Add('1.7.csv');
SL.Add('4.9.2.csv');
SL.Add('1.6.csv');
SL.Add('2.8.csv');
SL.Add('2.6.3.csv');
SL.Add('4.8.csv');
SL.Add('2.12.csv');
SL.CustomSort(@CompareProc);
for i := 0 to Pred(SL.Count) do
WriteLn(SL[i]);
finally
SL.Free;
end;
ReadLn;
end.
Zitat:
1.3.csv
1.6.csv
1.7.csv
2.12.csv
2.3.csv
2.6.1.csv
2.6.2.csv
2.6.3.csv
2.8.csv
4.5.csv
4.8.csv
4.9.1.csv
4.9.2.csv
Macht Delphi da was anders?