Soweit ich weiss, geht das einfacher.
Zitat von
Delphi-7-Hilfe:
Mit Sort wird für die Liste ein QuickSort-Algorithmus gestartet, der auf der Vergleichsfunktion Compare basiert.
Delphi-Syntax:
procedure Sort(Compare: TListSortCompare);
C++ Syntax:
void __fastcall Sort(TListSortCompare Compare);
Beschreibung
Mit Sort können die Elemente des Arrays Items sortiert werden. Compare ist eine Vergleichsfunktion, die anzeigt, wie die Elemente sortiert sind.
Zitat von
Delphi-7-Hilfe:
Der Typ TListSortCompare wird für Callback-Routinen verwendet, die zwei Listeneinträge miteinander vergleichen.
Unit
Classes
Delphi-Syntax:
type TListSortCompare = function (Item1, Item2: Pointer): Integer;
C++ Syntax:
typedef int __fastcall (*TListSortCompare)(void * Item1, void * Item2);
Beschreibung
TListSortCompare ist eine Vergleichsfunktion, die einen positiven Wert zurückgibt, wenn Item1 kleiner als Item2 ist. Der Rückgabewert ist Null, wenn beide Einträge gleich sind. Wenn Item1 größer als Item2 ist, ist der Rückgabewert negativ.
Wert Beschreibung
> 0 (positiv) Item1 ist kleiner als Item2
0 Item1 ist gleich Item2
< 0 (negativ) Item1 ist größer alsItem2
Zitat von
Delphi-7-Hilfe:
Der folgende Code sortiert die Objekte einer Liste in alphabetischer Reihenfolge. Dabei wird vorausgesetzt, dass die Liste nur Komponentenreferenzen enthält.
Die Funktion CompareNames führt den Vergleich der Objekte durch. Wenn der Benutzer eine Schaltfläche anklickt, wird die Sortierung ausgeführt.
function CompareNames(Item1, Item2: Pointer): Integer;
begin
Result := CompareText((Item1 as TComponent).Name, (Item2 as TComponent).Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
List1.Sort(@CompareNames);
end;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.