Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#1

Sortierfunktion nach Datum in einer TStringList

  Alt 3. Jul 2015, 19:08
Hallo zusammen,

ich hatte bisher beim Einlesen von Dateien in eine StringList das Datum der jeweiligen Datei als Integerwert in das jeweilige Object der StringList gespeichert und konnte die StringList somit gut nach Datum sortieren. Wenn Dateien das gleiche Datum hatten, wurde dann nach Dateiname sortiert
Delphi-Quellcode:
  function DoCompareByDate(List: TStringList; Index1, Index2: Integer): Integer;
  begin
    Result := 0;
    if Assigned(List) then begin
      if (Integer(List.Objects[Index1]) < Integer(List.Objects[Index2])) then begin
        Result := 1;
      end
      else if (Integer(List.Objects[Index1]) > Integer(List.Objects[Index2])) then begin
        Result := -1;
      end;
    end;
  end;

Nun kann ich das Datum nicht mehr als Object in der StringList speichern, da was anderes dafür vorgesehen ist.
Meine derzeitiges Konzept:
Damit ich weiterhin auch nach Datum sortieren kann, würde ich beim Einlesen der Dateien eine *zweite, neue* Stringlist füllen, welche dieselbe Object-ID erhält wie die "Master"-StringList. In der zweiten Stringlist würde ich dann nur das Datum speichern.
Meine Datumssortierfunktion könnte dann auf diese 2. Liste angewendet werden.

Meine Fragen:
- Wie bekomme ich die "Master" Stringlist so sortiert wie die Datums-StringList (beide Object-Ids sind ja gleich)?
- Gibt es evtl. alternative Konzept-Vorschläge?

Edit: Eine Umstellung der vorhandenen Master-TStringList auf z.B. TObjectList würde ich nur sehr, sehr ungern vornehmen...


Vielen Dank schon mal im Voraus!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat