
3. Рисунок
Нарисовать произвольный рисунок.
unit Unit1_ris;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var Form1: TForm1;
implementation {$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Canvas.MoveTo(100,150);
form1.Canvas.lineto(100,350);
form1.Canvas.lineto(400,350);
form1.Canvas.lineto(400,150);
form1.Canvas.lineto(100,150);
form1.Canvas.lineto(250,50);
form1.Canvas.lineto(400,150);
form1.Canvas.MoveTo(220,200);
form1.Canvas.lineto(220,280);
form1.Canvas.lineto(280,280);
form1.Canvas.lineto(280,200);
form1.Canvas.lineto(220,200);
form1.Canvas.MoveTo(220,225);
form1.Canvas.lineto(280,225);
form1.Canvas.MoveTo(250,225);
form1.Canvas.lineto(250,280);
form1.Canvas.MoveTo(400,350);
form1.Canvas.lineto(500,300);
form1.Canvas.lineto(500,100);
form1.Canvas.lineto(400,150);
form1.Canvas.MoveTo(500,100);
form1.Canvas.lineto(350,0);
form1.Canvas.lineto(250,50);
form1.Canvas.ellipse(230,90,280,130);
form1.Canvas.ellipse(10,10,80,80);
form1.Canvas.MoveTo(70,70);
form1.Canvas.lineto(80,120);
form1.Canvas.lineto(110,90);
form1.Canvas.lineto(70,70);
form1.Canvas.MoveTo(80,45);
form1.Canvas.lineto(130,65);
form1.Canvas.lineto(130,25);
form1.Canvas.lineto(80,45);
form1.Canvas.MoveTo(45,80);
form1.Canvas.lineto(25,140);
form1.Canvas.lineto(60,140);
form1.Canvas.lineto(45,80);
form1.Canvas.brush.color:=clyellow;
form1.Canvas.floodfill(250,300,clblack,fsborder);
form1.Canvas.floodfill(450,300,clblack,fsborder);
form1.Canvas.floodfill(30,30,clblack,fsborder);
form1.Canvas.floodfill(75,80,clblack,fsborder);
form1.Canvas.floodfill(85,45,clblack,fsborder);
form1.Canvas.floodfill(45,85,clblack,fsborder);
form1.Canvas.brush.color:=clblue;
form1.Canvas.floodfill(100,10,clblack,fsborder);
form1.Canvas.brush.color:=claqua;
form1.Canvas.floodfill(250,60,clblack,fsborder);
form1.Canvas.brush.color:=cllime;
form1.Canvas.brush.style:=bscross;
form1.Canvas.floodfill(430,100,clblack,fsborder);
end;
end.
4. Тест
1. Создать тест-программу на произвольную тему.
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;Label1: TLabel; Button2: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit;Edit2: TEdit; Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private { Private declarations }
public{ Public declarations } end;
var Form1: TForm1;fam,n,kurs:string;
implementation
uses Unit2,Unit3; {$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
fam:=edit1.Text;
n:=edit2.Text;
kurs:=edit3.Text;
form2.show
end;
procedure TForm1.Button2Click(Sender: TObject);
begin form1.close end;
end.
unit Unit2;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm2 = class(TForm)
Button1: TButton; Label1: TLabel;RadioButton1: TRadioButton;RadioButton2: TRadioButton;
RadioButton3: TRadioButton;RadioButton4: TRadioButton;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
private{ Private declarations }
public { Public declarations }end;
var Form2: TForm2; v,o1,o2,o3,o4,o:array[1..30] of string; ball,j,i,ot:integer; f,t:textfile; p:real;
implementation uses Unit1, Unit3; {$R *.dfm}
procedure TForm2.FormShow(Sender: TObject);
begin assignfile(f,'D:\lina\эвм\тест\my\europe.txt');reset(f);
for i:=1 to 5 do begin
readln(f,v[i]); readln(f,o1[i]); readln(f,o2[i]); readln(f,o3[i]); readln(f,o4[i]); readln(f,o[i]); end;
label1.caption:=v[1];
RadioButton1.caption:=o1[1]; radiobutton2.caption:=o2[1];
radiobutton3.caption:=o3[1]; radiobutton4.caption:=o4[1]; ball:=0; i:=1
end;
procedure TForm2.Button1Click(Sender: TObject);
begin if i<=5 then begin
if (radiobutton1.Checked) and (radiobutton1.caption=o[i]) then ball:=ball+1 else
if (radiobutton2.Checked) and (radiobutton2.caption=o[i]) then ball:=ball+1 else
if (radiobutton3.Checked) and (radiobutton3.caption=o[i]) then ball:=ball+1 else
if (radiobutton4.Checked) and (radiobutton4.caption=o[i]) then ball:=ball+1;
radiobutton1.Checked:=false; radiobutton2.Checked:=false; radiobutton3.Checked:=false;
radiobutton4.Checked:=false; end;
if i<=4 then begin
label1.caption:=v[i+1]; RadioButton1.caption:=o1[i+1]; radiobutton2.caption:=o2[i+1];
radiobutton3.caption:=o3[i+1]; radiobutton4.caption:=o4[i+1]; i:=i+1; end
else begin p:=ball*100/5;
if p<45 then ot:=2;
if (p>=45) and (p<65) then ot:=3;
if (p>=65) and (p<85) then ot:=4;
if p>=85 then ot:=5; form3.show end;
end;
end.
unit Unit3;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Label1: TLabel; Edit1: TEdit;Label2: TLabel;Edit2: TEdit;Button1: TButton; Label3: TLabel;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
private{ Private declarations }
public{ Public declarations }
end;
var Form3: TForm3;
implementation
uses Unit1,Unit2; {$R *.dfm}
procedure TForm3.FormShow(Sender: TObject);
begin
edit1.Text:=inttostr(ball); edit2.Text:=inttostr(ot); label3.Caption:=fam+' '+n+', '+kurs;
assignfile(t,'D:\lina\эвм\тест\my\rezultat.txt');append(t); writeln(t,fam); writeln(t,n);
writeln(t,'gruppa: ',kurs); writeln(t,'kol-vo pravilnix otvetov: ',ball);
writeln(t,'otsenka: ',ot); closefile(t)
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
form3.close; form2.close; form1.close;
end; end.