@TStringlist: Jetzt war ich auch gerade fertig mit meinem Vorschlag, aber du warst schneller
Man kann noch den Radius und die Drehrichtung einbeziehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
XR := 40;
YR := 40;
X0 := Label1.left - XR;
Y0 := Label1.top;
Grad := 0;
Richtung := 1 //1 = mathematische pos. Drehsinn (gegen Uhrzeigersinn), -1 = entsprechend anders herum
Timer1.Enabled := true
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
inc(Grad,2);
Label1.left := X0 + round (cos(2*Pi/360 * Grad) * XR);
Label1.Top := Y0 - round (sin(2*Pi/360 * Richtung * Grad) * YR);
if Grad = 360 then Timer1.Enabled := false
end;
... wenn man XR und YR unterschliedlich groß macht, entsteht eine Ellipse.