Registriert seit: 13. Mär 2011
4 Beiträge
|
AW: Prozedur abbrechen
13. Mär 2011, 16:02
Delphi-Quellcode:
procedure TForm1.BtqeClick(Sender: TObject);
var a, b, c, d, ax, ay, bx, by, cx, cy, dx, dy, ex, ey, fx, fy, gx, gy, hx, hy : integer;
begin
//Variablen zuweisen:
try
a := StrToInt(Edbr.text);
b := StrToInt(Edh.text);
c := StrToInt(Edt.text);
except
showmessage ('Bitte überprüfen sie ihre Eingaben!');
end;
d := round(sqrt((c/2)*(c/2)/2));
ax := 10;
ay := 10 + d + b;
bx := 10 + a;
by := 10 + d + b;
cx := 10 + a;
cy := 10 + d;
dx := 10;
dy := 10 + d;
ex := 10 + d;
ey := 10 + b;
fx := 10 + a + d;
fy := 10 + b;
gx := 10 + a + d;
gy := 10;
hx := 10 + d;
hy := 10;
//wenn der quader zu groß oder zu klein ist:
if (d+b>500) or (d+a>700) then showmessage ('Geben sie bitte kleinere Werte ein!');
if a or b or c < 20 then showmessage ('Geben sie bitte größere Werte ein!');
//Zeichnen:
Repaint;
canvas.Pen.Color := clGray;
canvas.Pen.Width := 1;
canvas.MoveTo(ex,ey);
canvas.lineTo(ax,ay);
canvas.MoveTo(ex,ey);
canvas.lineTo(fx,fy);
canvas.moveTo(ex,ey);
canvas.lineTo(hx,hy);
canvas.pen.color := clBlack;
canvas.pen.width := 2;
canvas.moveTo(dx,dy);
canvas.lineTo(cx,cy);
canvas.lineTo(bx,by);
canvas.lineTo(ax,ay);
canvas.lineTo(dx,dy);
canvas.lineTo(hx,hy);
canvas.lineTo(gx,gy);
canvas.lineTo(fx,fy);
canvas.LineTo(bx,by);
canvas.MoveTo(cx,cy);
canvas.lineTo(gx,gy);
//oberflächeninhalt/Volumen berechen:
PV.Caption:=IntTOStr (a*b*c);
PO.Caption:=IntToStr (a*b*2+a*c*2+b*c*2);
//Drehen-Button sichtbar machen:
Btdrehen.Visible := true;
end;
Geändert von mkinzler (13. Mär 2011 um 16:06 Uhr)
Grund: Delphi-Tag eingefügt
|
|
Zitat
|