Hm, und wie soll ich die dann aufrufen? Ich möchte ja keinen Prozentwert angeben, sondern einen absoluten Wert...
Und TPointF kann man ja nicht im LineTo einbauen.
Hier mal mein Lösungsansatz:
Delphi-Quellcode:
function TForm1.PointOnLine(X1,Y1,X2,Y2,Abstand:integer):TPoint;
var V:real; //Verhältnis zwischen AB und AD
AB,BD,AD,AE,CE,x,y:integer;
begin
AD:=X1-X2;
BD:=Y1-Y2;
AB:=(Round(sqrt(sqr(AD)+sqr(BD))));
if AD<>0 then V:=AB/AD else V:=1;
CE:=Round(BD/V);
AE:=Round(Sqrt(sqr(Abstand)-sqr(CE)));
x:=Round(X1+AE);
y:=Round(Y1+CE);
Result:=Point(X,Y);
end;
Ich lad mal ein Bild hoch, was die Punkte benennt