
Zitat von
franktron:
Danke für die Antworten ich habe das jetzt so gelöst
Delphi-Quellcode:
function CompareNamesY(Item1, Item2: PData): Integer;
begin
Result:=Round(Item1^.Y+(1/Item1^.X)-Item2^.Y+(1/Item2^.X));
end;
Das funktioniert nicht, bzw. liefert das Sortieren dann nicht das oben gewünschte Ergebnis.
Da zuerst nach Y und erst innerhalb gleicher Y nach X sortiert werden soll, eher so:
Delphi-Quellcode:
function CompareData (Data1, Data2 : Pointer) : Integer
begin
Result := PData(Data1)^.Y - PData(Data2)^.Y;
If Result = 0 Then
Result := PData(Data1)^.X - PData(Data2)^.X;
end;