unit Unit0; { This software has been designed and it is CopyLefted by Han de Bruijn: (===) @-O^O-@ #/_\# ### } INTERFACE uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Grafisch; type TForm1 = class(TForm) Image1: TImage; procedure Toetsdruk(Sender: TObject; var Key: Char); procedure Scheppen(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; IMPLEMENTATION {$R *.dfm} procedure tekenen; { Original Grid } var k : integer; begin with Form1.Image1.Canvas do begin Pen.Color := clGreen; Pen.Width := 1; end; for k := 0 to Round(xmax)-1 do with Form1.Image1.Canvas do begin MoveTo(0,x2i(k)); LineTo(Wijd-1,x2i(k)); end; for k := 0 to Round(ymax)-1 do with Form1.Image1.Canvas do begin MoveTo(y2j(k),0); LineTo(y2j(k),Hoog); end; with Form1.Image1.Canvas do begin Pen.Color := clBlack; Pen.Width := 2; MoveTo(x2i(1),y2j(1)); LineTo(x2i(xmax-1),y2j(1)); LineTo(x2i(1),y2j(ymax-1)); LineTo(x2i(1),y2j(1)); end; end; procedure rechthoek; var i,j : integer; uit : string; begin Form1.Image1.Canvas.Font.Size := 14; for j := 1 to Round(ymax)-1 do begin for i := 1 to Round(ymax)-j do begin with Form1.Image1.Canvas do begin uit := '('+IntToStr(i)+','+IntToStr(j)+')'; TextOut(x2i(i)-12,y2j(j),uit); end; end; end; end; procedure driehoek; const wat : array[1..9,1..9] of integer = ( (1,2,4,7,11,16,22,29,37) , (3,5,8,12,17,23,30,38,0) , (6,9,13,18,24,31,39,0,0) , (10,14,19,25,32,40,0,0,0) , (15,20,26,33,41,0,0,0,0) , (21,27,34,42,0,0,0,0,0) , (28,35,43,0,0,0,0,0,0) , (36,44,0,0,0,0,0,0,0) , (45,0,0,0,0,0,0,0,0) ); var i,j,k : integer; uit : string; begin with Form1.Image1.Canvas do begin Pen.Color := clGreen; Pen.Width := 1; for k := 1 to 9 do begin MoveTo(x2i(k),y2j(1)); LineTo(x2i(1),y2j(k)); end; end; Form1.Image1.Canvas.Font.Size := 14; for j := 1 to Round(ymax)-1 do begin for i := 1 to Round(ymax)-j do begin with Form1.Image1.Canvas do begin uit := IntToStr(wat[j,i]); TextOut(x2i(i),y2j(j),uit); end; end; end; end; procedure TForm1.Toetsdruk(Sender: TObject; var Key: Char); { Inactive } begin ClearDevice; tekenen; driehoek; Form1.Image1.Picture.SaveToFile('driehoek.bmp'); end; procedure TForm1.Scheppen(Sender: TObject); { At moment of creation } begin xmin := 0; xmax := 10; ymin := 0; ymax := 10; TV(Form1.Image1); ClearDevice; tekenen; rechthoek; Form1.Image1.Picture.SaveToFile('rechthoek.bmp'); end; END.