M
mischaehl
Gast
hi, mit diesem Stückchen Code kann man anhand von Eingaben (hier erst noch radius und Umfang) auf einem Canvas Feld einen Kreis zeichnen lassen. Dieser Kreis wird gezeichnet, sobald man auf den "Button1" klickt. Jedoch muss ich diese Eingaben noch für Rechtecke und Dreiecke machen, die Editfelder habe ich, doch wie erweitere ich diese Prozedur, dass er auch die anderen Figuren malt? Der Maßstab ist zunächst nicht so wichtig.
procedure TForm1.Button1Click(Sender: TObject);
var rad, umf, hoehex, hoehey : Integer;
begin
Rad := StrToIntDef(Radius.Text, 0);
Umf := StrToIntDef(Umfang.Text, 0);
with PaintBox1 do begin
hoehex := width DIV 2;
hoehey := height DIV 2;
Canvas.Pen.Color := clGreen;
Canvas.Pen.Width := 10;
Canvas.Ellipse(hoehex - rad, hoehey - rad, hoehex + rad, hoehey + rad);
Canvas.Ellipse(hoehex - Umf, hoehey - Umf, hoehex + Umf, hoehey + Umf);
end;
Umfang.Text := IntToStr(Round(2 * PI * Rad));
Radius.Text := IntToStr(Round(Umf DIV 2));
end;
Am meisten geholfen wäre mir, wenn mir das einer für die Rechtecke und/oder Dreieck da reinarbeitet.. nur Canvas.Rectangle und so, weiß ich auch ^^ aber ich tüftel jetzt hier rum und der will irgendwie nicht..
procedure TForm1.Button1Click(Sender: TObject);
var rad, umf, hoehex, hoehey : Integer;
begin
Rad := StrToIntDef(Radius.Text, 0);
Umf := StrToIntDef(Umfang.Text, 0);
with PaintBox1 do begin
hoehex := width DIV 2;
hoehey := height DIV 2;
Canvas.Pen.Color := clGreen;
Canvas.Pen.Width := 10;
Canvas.Ellipse(hoehex - rad, hoehey - rad, hoehex + rad, hoehey + rad);
Canvas.Ellipse(hoehex - Umf, hoehey - Umf, hoehex + Umf, hoehey + Umf);
end;
Umfang.Text := IntToStr(Round(2 * PI * Rad));
Radius.Text := IntToStr(Round(Umf DIV 2));
end;
Am meisten geholfen wäre mir, wenn mir das einer für die Rechtecke und/oder Dreieck da reinarbeitet.. nur Canvas.Rectangle und so, weiß ich auch ^^ aber ich tüftel jetzt hier rum und der will irgendwie nicht..