Zadatak: Kreirati aplikaciju u kojoj se po formi iscrtavaju horizontalne linije, vertikalne linije ili mreža, u zavisnosti od izbora. Broj linija se određuje preko komponente SpinEdit, minimalan broj je 5, a maksimalan 100. Linije treba da su različite boje, slučajnim izborom.

mreža:

image

horizontalne linije:

image

vertikalne linije:

image

kod:

var
  Form1: TForm1;  stat:string;

implementation

{$R *.dfm}

procedure TForm1.horizontalne1Click(Sender: TObject);
var a,b,i,n:integer;
begin
stat:=’h’;
randomize;
refresh;
n:=spinedit1.Value;
  a:=round(clientheight/n);

  b:=a;
   for I := 0 to n do
       begin
          canvas.Pen.Color:=rgb(random(255),random(255),random(255));

     canvas.MoveTo(0,b);
     canvas.LineTo(clientwidth,b);
     b:=b+a;
end;   end;

procedure TForm1.mreza1Click(Sender: TObject);
var n,i,a,b,x,y:integer;
begin
stat:=’m’;
randomize;
refresh;
n:=spinedit1.Value;
  a:=round(clientheight/n);
   b:=round(clientwidth/n);
  x:=a;
      for I := 0 to n do
       begin
          canvas.Pen.Color:=rgb(random(255),random(255),random(255));

     canvas.MoveTo(0,x);
     canvas.LineTo(clientwidth,x);
    x:=x+a;
end;
y:=b;
      for I := 0 to n do
       begin
          canvas.Pen.Color:=rgb(random(255),random(255),random(255));

     canvas.MoveTo(y,0);
     canvas.LineTo(y,clientheight);
     y:=y+b
end;
end;

 

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
        if stat=’h’ then

horizontalne1.Click;
if stat=’v’ then  vertikalne1.Click;
if stat=’m’ then   mreza1.Click;

end;

 

procedure TForm1.vertikalne1Click(Sender: TObject);
var i,n,a,b:integer;
begin
     stat:=’v’;
randomize;
refresh;
n:=spinedit1.Value;
  a:=round(clientwidth/n);

  b:=a;
   for I := 0 to n do
       begin
          canvas.Pen.Color:=rgb(random(255),random(255),random(255));

     canvas.MoveTo(b,0);
     canvas.LineTo(b,clientheight);
     b:=b+a;
end;

end;

  end.

Advertisements