Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Objekte nach Datum Sortieren (https://www.delphipraxis.net/120511-objekte-nach-datum-sortieren.html)

Jelly 14. Sep 2008 16:18

Re: Objekte nach Datum Sortieren
 
Zitat:

Zitat von freak4fun
Delphi-Quellcode:
function CompareDate(Item1, Item2: Pointer): Integer;
  var
    Val1, Val2: TDateTime;
  begin
    val1 := TTermin(Item1).FTime;
    val2 := TTermin(Item2).FTime;
    Result := DateUtils.CompareDate(Val1, Val2);
  end;

Genau eine solche Funktion ist es, welche du direkt der TObjekList in der SortMethode als Pointer übergeben kannst...

Delphi-Quellcode:
meinKalender.Liste.Sort(@CompareDate);
Damit nutzt du nicht den langsamen Bubblesort und deine Exchange Methode kannst du dir auch sparen, da die eh überflüssig ist, denn du musst nicht das Objekt clonen sondern lediglich deren Platz in der ObjektListe vertauschen.

freak4fun 14. Sep 2008 16:32

Re: Objekte nach Datum Sortieren
 
Delphi-Quellcode:
procedure TTerminKalender.Sort(AList: TStrings);

  function CompareDate(Item1, Item2: Pointer): Integer;
  var
    Val1, Val2: TDateTime;
  begin
    val1 := TTermin(Item1).Time;
    val2 := TTermin(Item2).Time;
    Result := DateUtils.CompareDate(Val1, Val2);
  end;

begin
  FTerminListe.Sort(@CompareDate);
end;
@DeddyH & Jelly: Danke! :mrgreen:

DeddyH 14. Sep 2008 16:33

Re: Objekte nach Datum Sortieren
 
Ich dachte, das wäre in meinem Beispiel deutlich geworden :|

omata 14. Sep 2008 19:16

Re: Objekte nach Datum Sortieren
 
Genau die Lösung habe ich ja schon ganz am Anfang geschrieben und gezeigt. Schön das du hier nicht jeden ignorierst, so erhälst du ja doch noch irgendwann mal eine brauchbare Lösung...

freak4fun 14. Sep 2008 20:00

Re: Objekte nach Datum Sortieren
 
Zitat:

Zitat von omata
Genau die Lösung habe ich ja schon ganz am Anfang geschrieben und gezeigt. Schön das du hier nicht jeden ignorierst, so erhälst du ja doch noch irgendwann mal eine brauchbare Lösung...

Habe ich übersehen! :pale: So wie einiges andere hier. :stupid: Sorry! :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz