Ich habe es GESCHAFT..... es gibt zwar noch ein paar schönheitsfehler aber die löse ich auch noch:
Delphi-Quellcode:
var
i:integer;
sm,sm1:TPointExt;
s1,s2:TPointExt;
m,s:Extended;
begin
with TFigure(obj.Items[selobj]).Style do begin
S1.X:=(LastPos.X-FirstPos.X) / 2;
S1.Y:=(LastPos.Y-FirstPos.Y) / 2;
sm.x:=FirstPos.X + s1.x;
sm.y:=FirstPos.y + s1.y;
end;
// 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
with TFigure(obj.Items[i]).Style do begin
S2.X:=(LastPos.X-FirstPos.X) / 2;
S2.Y:=(LastPos.Y-FirstPos.Y) / 2;
sm1.x:=FirstPos.X + s2.X;
sm1.y:=FirstPos.y + S2.y;
end;
end;
end;
// Label2.Caption:=FloatToStr((Sm1.X-sm.X) / 3 )
m:=(sm.X)-sm1.X; s:=S1.X+s2.X;
Label2.Caption:=FloatToStr((s-m));
m:=(sm.y)-sm1.y; s:=S1.y+s2.y;
Label3.Caption:=FloatToStr((s-m));
mit diesem code kann die entfernung von mittelpunk a zu mittelpunk b erechnet werden.
ich werde daraus noch eine funktion bauen(wegen der übersichtlichkeit)....