Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Sortierung von Daten in Textdateien

  Alt 31. Aug 2009, 08:12
Hallo,

da hilft ein Käffchen *einschenk*

Ist das Datum immer so ?
24.08.09


dann etwa so

Delphi-Quellcode:

function CompareDate(const theDate1, theDate2: TDateTime): Integer
begin
  if theDate1<theDate2) then
  begin
    Result:= -1;
    Exit;
  end;
  if theDate1<theDate2) then
  begin
    Result:= +1;
    Exit;
  end;

  Result:= 0;
end;


function MyCompare(theStr1, theStr2: String): Integer;
begin
  sSubStr1:= Copy(theStr1, 1, 8);
  StrToDate(sSubStr1, tdtDate1);
  sSubStr2:= Copy(theStr2, 1, 8);
  StrToDate(sSubStr2, tdtDate2);

  Result:= CompareDate(tdtdate1, tdtDate2);
end;

StrList.CustomSort(@MyCompare);
Ist zwar etwas langsam wegen den ganzen Copy-Befehlen,
aber das kann man auch ändern, wenn man statt StringList
eine TList benutzt (hat auch CustomSort, logisch)
und die Daten in eine eigene Klasse packt, wo das tdtDate
schon beim Erzeugen der Datenklasse gemacht wird.


Heiko
Heiko
  Mit Zitat antworten Zitat