Vielen Dank für die schnelle antwort, jedoch hat es nicht funktioniert, weil die werte waren immer zu klein:
Delphi-Quellcode:
var
i:integer;
sm,sm1,diff:TPoint;
m1,m2:Extended;
begin
sm.x:=TFigure(obj.Items[selobj]).Style.LastPos.X div 2;
sm.y:=TFigure(obj.Items[selobj]).Style.LastPos.y div 2;
// und von einenm anderen objekt
for i:=0 to obj.count-1 do begin
if (TFigure(obj.Items[i]).Style.isSel = True) and (i <> SelObj) then begin
sm1.x:=TFigure(obj.Items[i]).Style.LastPos.X div 2;
sm1.y:=TFigure(obj.Items[i]).Style.LastPos.y div 2;
diff.X:=sm1.x-sm.x;
diff.y:=sm1.y-sm.y;
m1:=Sqrt(diff.x*2) + (diff.y*2);
end;
end;
Label2.Caption:=FloatToStr(m1);
Bei den Objekten haldelt es sich um Vieecke