unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls;
type
TForm1 =
class(TForm)
Image1: TImage;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
SpinEdit3: TSpinEdit;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
xm, ym,
Anzahl_Punkte,
ri, ra: integer;
Winkelstueck: double;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
xm:=image1.Width
div 2;
ym:=image1.height
div 2;
Anzahl_Punkte:=2*spinedit1.value;
ri:= SpinEdit2.value;
//spinedit.value ist sofort
ra:= SpinEdit3.value;
//ein integer wert...
xm:=xm+ri;
winkelstueck:=(2*pi)/Anzahl_Punkte;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
index,x,xi,yi: integer;
begin
image1.Canvas.moveto(xm,ym);
x:=Anzahl_Punkte
mod 2;
for index:=1
to Anzahl_Punkte
do
if x=0
then
begin
xi:=trunc (ri*cos(
index*winkelstueck));
yi:=trunc (ri*sin(
index*winkelstueck));
image1.Canvas.LineTo(xi,yi)
end
else
begin
xi:=trunc (ra*cos(winkelstueck));
yi:=trunc (ra*sin(winkelstueck));
image1.Canvas.lineto(xi,yi);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
image1.picture:=
nil
end;
end.