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!