座標のリストを最初に x 座標で並べ替え、次に y 座標で並べ替えたい:
Orginal: (7,8)(10,22)(7,3)(5,10)(20,14)(7,10)(7,3)
First Step by x: (5,10)(7,8)(7,3)(7,10)(7,3)(10,22)(20,14)
Second Step by y: (5,10)(7,3)(7,3)(7,8)(7,10)(10,22)(20,14)
最初のステップで機能する関数が既にあります。
function SortCoords(Item1: Pointer; Item2: Pointer): Integer;
var
line1 : Coords;
line2 : Coords;
begin
line1 := Coords;(Item1);
line2 := Coords;(Item2);
if (line1.X < line2.X) then
result := -1
else if (line1.X > line2.X) then
result := 1
else
result := 0;
end;
しかし、私は2番目のステップを取得しません。