Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: Doppel schnell aus Lise löschen.

  Alt 8. Dez 2014, 12:37
Hallo,
Du sortierst doch zweidimensional. Da musst Du doch zuerst x und nur bei gleichem x auf y testen []..
Thanx. Das war das wo ich auf dem Schlauch stand.
Delphi-Quellcode:
function TFloatPoints.SortCompare(const I, J: integer): integer;
const
  Eps = 1E-4;
var
  A, B: TFloatPoint;
begin
  A := FItems[I];
  B := FItems[J];
  if CompareValue(A.X, B.X, Eps) > 0 then
    Result := 1
  else
    if CompareValue(A.X, B.X, Eps) < 0 then
      Result := -1
    else
      if CompareValue(A.Y, B.Y, Eps) > 0 then
        Result := 1
      else
        if CompareValue(A.Y, B.Y, Eps) < 0 then
          Result := -1
        else
          Result := 0;
end;
  Mit Zitat antworten Zitat