Hallo zusammen,
ich habe eine Texdatei, deren Zeilen bei Programmstart in ein eindimensionales Array eingelesen werden.
Die Zeilen beginnen jeweils mit der Angabe einer Woche/Jahr, also z. B. 01/2010, 02/2010, 03/2010 usw.
Im Programmverlauf werden Änderungen an den Daten vorgenommen, wie z. B. neue Zeile einfügen, was aber nicht zwingend in chronologischer Reihenfolge vorgesehen ist. Vor dem Zurückspeichern als Textdatei lasse ich das Array daher mit Array.Sort(Arrayname) neu sortieren.
Problem ist nun, dass beim Sortieren offensichtlich nur die ersten 3 Zeichen der Textzeilen berücksichtigt werden. Um bei o. g. Beispiel zu bleiben, wird bei Eingabe eines neuen Datensatzes für die zweite Woche des Jahres 2009 (02/2009) diese Zeile zwischen 01/2010 und 02/2010 einsortiert, anstatt diese an den Anfang zu stellen, wie es richtig wäre.
Kann "Array.Sort" das grundsätzlich nicht, oder wie kann ich ggf. erreichen, dass neben der Wochenangabe auch die Jahreszahl für die Sortierfolge berücksichtigt wird?
Vielen Dank im Voraus.
Mike
ich habe eine Texdatei, deren Zeilen bei Programmstart in ein eindimensionales Array eingelesen werden.
Die Zeilen beginnen jeweils mit der Angabe einer Woche/Jahr, also z. B. 01/2010, 02/2010, 03/2010 usw.
Im Programmverlauf werden Änderungen an den Daten vorgenommen, wie z. B. neue Zeile einfügen, was aber nicht zwingend in chronologischer Reihenfolge vorgesehen ist. Vor dem Zurückspeichern als Textdatei lasse ich das Array daher mit Array.Sort(Arrayname) neu sortieren.
Problem ist nun, dass beim Sortieren offensichtlich nur die ersten 3 Zeichen der Textzeilen berücksichtigt werden. Um bei o. g. Beispiel zu bleiben, wird bei Eingabe eines neuen Datensatzes für die zweite Woche des Jahres 2009 (02/2009) diese Zeile zwischen 01/2010 und 02/2010 einsortiert, anstatt diese an den Anfang zu stellen, wie es richtig wäre.
Kann "Array.Sort" das grundsätzlich nicht, oder wie kann ich ggf. erreichen, dass neben der Wochenangabe auch die Jahreszahl für die Sortierfolge berücksichtigt wird?
Vielen Dank im Voraus.
Mike