Hallo ich hoffe ich bin richtig hier mit meiner Frage.
Also ich benötige zur Klausurvorbereitung ein Programm. Ich möchte einen Stern zeichnen.
Ich bin jetzt nicht so der Crack
. Akutell sieht das ganze so aus: Imagefeld, 1 Button, 3 Editfelder.
Ich benutze das Programm Lararus.
Aber es bleibt immer so eine unschöne Ecke stehen
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var // lokale Variablen
x,y,xm,ym,xmm,ymm,ir,ar,index,vz,anzahl:integer;
winkel,winkelschritt:double;
begin
anzahl:=strtoint(edit1.text); // Anzahl aus Edit 1
xm:=image1.Width; // X-Wert aus Edit2
ym:=image1.height; // Y-Wert aus Edit 3
xmm:= xm div 2;
ymm:= ym div 2;
ir :=strtoint(edit4.text); // Innenradius aus Edit 4
ar :=strtoint(edit6.text); // Außenradius aus Edit 6
image1.canvas.pen.color:=clblack; // Stiftfarbe
image1.canvas.fillrect(0,0,xm,ym);
x:=ar+xmm; y:=ymm; // Anfangspunkt
vz:=-1;
image1.canvas.MoveTo(x,y); // mit gehobenem Stift anfahren
winkelschritt:=(2*Pi)/anzahl; // Winkelschritt berechnen
for index:=1 to anzahl do
begin
winkel:=winkelschritt*(index-1)+winkelschritt/2; // Winkel ab 0°
x:=round(ar*cos(winkel))+xmm; // x- Koordinate
y:=round(vz*ar*sin(winkel))+ymm; // y- Koordinate
image1.canvas.lineto(x,y); // Zeichnen
winkel:=winkelschritt*index;
x:=round(ir*cos(winkel))+xmm; // x- Koordinate
y:=round(vz*ir*sin(winkel))+ymm; // y- Koordinate
image1.canvas.lineto(x,y);
end;
end;