000
03.08.2004, 14:07 Uhr
~Nuro
Gast
|
Tag
Ich programmiere gerade ein Programm das Strings wie diese:
03.09.2003 13:55:55 3 Das 03.09.2003 13:55:55 7 muss 03.09.2003 13:55:55 5 so 03.09.2003 13:55:55 1 bleiben
ordnen soll. Die Strings stehen in einer StringList. Es kommt oft vor das die Strings genau die gleiche Uhrzeit haben und deswegen darf die Reihenfolge nicht geändert werden.
Es soll also nur nach Datum und Uhrzeit sortiert werden wobei bei gleichem Datum und Uhrzeit nicht sortiert werden soll. Ich habe das mit CustomSort probiert .. hab dabei aber nicht den gewünschten Erfolg.
Hier de Code:
C++: |
int __fastcall ProtocollCompare( TStringList *List, int Index1, int Index2) {
return CompareText(list->Strings[Index1].SubString(1, 19), list->Strings[Index2].SubString(1, 19));
}
|
Wenn ich damit sortiere bekomme ich das:
03.09.2003 13:55:55 5 so 03.09.2003 13:55:55 1 bleiben 03.09.2003 13:55:55 3 Das 03.09.2003 13:55:55 7 muss
Also scheinen wirklich nur die Zeichen 1-19 benutzt zu werden sonst hätte ja das rauskommen müssen:
03.09.2003 13:55:55 1 bleiben 03.09.2003 13:55:55 3 Das 03.09.2003 13:55:55 5 so 03.09.2003 13:55:55 7 muss
Obwohl die (Sub)Strings alle gleich sind wird die Reihenfolge vertauscht.
Weiß jemand wie man das verhindern kann ? besten dank Nuro |