Hallo,
Delphi-Quellcode:
// dein Objekt
type
TMyObject = class
ArtNr: Integer;
end;
function CompareItem(Item1, Item2: Pointer): Integer;
var
MyObject1: TMyObject;
MyObject2: TMyObject;
begin
MyObject1 := TMyObject(Item1);
MyObject2 := TMyObject(Item2);
if MyObject1.ArtNr<MyObject2.ArtNr then
begin
Result := -1;
Exit;
end;
if MyObject1.ArtNr>MyObject2.ArtNr then
begin
Result := 1;
Exit;
end;
Result := 0;
end;
// jetzt deine anderer Code +
FValueList.Sort(CompareItem);
TObjectList.Sort erwartet eine Funktion mit 2 Pointern als Parameter
und Integer als Rückgabewert, die du selbst definieren musst.
function CompareItem(Item1, Item2: Pointer): Integer;
Das
Math. habe ich mal ausgeschrieben (hatte das Delphi 6 schon?)
TObjectList implementiert dann einen Quicksort und holt sich aus deiner Liste
die jeweiligen Objekte und übergibt deiner Funktion die Objekte.
Du musst dann sagen, welches der beiden Objekte größer ist.
Heiko