5. Креирати апликацију у delphi-ју у којој се приказајују изабрани облици, у изабраним бојама. Боја линије и боја попуне се врше путем колор дијагога.
При избору ставке концентрични кругови, у инпутбокс унети колико кругова се црта. За унету вредност 8 добија се следећи резултат:
При избору ставке квадрати у инпутбокс се уноси број квадрата, а у други инпут бокс размак између квадрата. За 5 квадрата са размаком 20, боја попуне роза, боја линије љубичаста треба да се добије следеће:
При избору ставке степенице у инпутбокс се уноси број степеница, у други инпутбокс ширина степеница, а у трећи висина степеница . За 5 степеница, ширине 50 и са висином 20, боја попуне роза, боја линије љубичаста треба да се добије следеће:
При избору ставке бриши се брише приказано.
Решење:
implementation
{$R *.dfm}
procedure TForm1.Label1Click(Sender: TObject);
begin
if colordialog1.Execute then
begin
canvas.Brush.Color:=colordialog1.Color;
label1.Color:=colordialog1.Color;
end;
end;
procedure TForm1.Label3Click(Sender: TObject);
begin
if colordialog1.Execute then
begin
canvas.Pen.Color:=colordialog1.Color;
label3.Color:=colordialog1.Color;
end;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
var n,x1,x2,y1,y2,i,k,a,b:integer;
begin
refresh;
case radiogroup1.ItemIndex of
0: begin
n:=strtoint(inputbox(‘unos’,'unesi koliko krugova ‘,”));
for I := 0 to n-1 do
Canvas.Ellipse(100+10*i,150+10*i,250-10*i,300-10*i);
end;
1: begin
n:=strtoint(inputbox(‘unos’,'unesi broj kvadrata’,”));
k:=strtoint(inputbox(‘unos’,'unesi razmak izmedju kvadrata, manje od 20′,”));
for I := 0 to n-1 do
canvas.Rectangle(100+k*i,150+k*i,250-k*i,300-k*i);
end;
2:begin
x1:=100;
y1:=300;
n:=strtoint(inputbox(‘unos’,'unesi broj stepenica’,”));
a:=strtoint(inputbox(‘unos’,'unesi sirinu stepenice, manje od 50′,”));
b:=strtoint(inputbox(‘unos’,'unesi visinu stepenice, manje od 20′,”));
y2:=y1+b;
for I := 0 to n – 1 do
begin
x2:=x1+a;
canvas.Rectangle(x1,y1,x2,y2); x1:=x2-1; y1:=y1-b;
end;
end;
end;
end;
end.
последњи коментари