unit rm1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons, Menus, Spin;
type
Tform1 = class(TForm)
bitbtn1: TBitBtn;
MainMenu1: TMainMenu;
File1: TMenuItem;
Exit1: TMenuItem;
Timer1: TTimer;
BitBtn2: TBitBtn;
Help1: TMenuItem;
About1: TMenuItem;
BitBtn3: TBitBtn;
SpinEdit1: TSpinEdit;
procedure bitbtn1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
private
{ Private declarations }
public
m,n,v,x,z,a,b,y,c:integer;
{ Public declarations }
end;
var form1:TForm;
implementation
uses rm2;
{$R *.DFM}
procedure Tform1.bitbtn1Click(Sender: TObject);
begin
with form1.canvas do begin
pen.color:=clwhite;
ellipse(165,25,235,85);
moveto(200,85);
lineto(200,150);
end;
v:=spinedit1.Value;
timer1.Enabled:=true;
end;
procedure Tform1.Exit1Click(Sender: TObject);
begin
timer1.enabled:=false;
close;
end;
procedure Tform1.Timer1Timer(Sender: TObject);
var i:integer;
begin
for i:=1 to v do begin
if (a=50)or(a=0) then
begin
z:=-z;x:=-x;
end;
if (n=24)or(n=50) then m:=0;
if (b=0)or(b=25) then c:=-c;
if (n=25)and(m=25) then y:=-1;
if n=50 then y:=1;
if n=0 then y:=0;
with form1.canvas do begin
pen.color:=clblack;
moveto(200,150);
lineto(150+a+x,225);
lineto(160+a+x,225);
moveto(200,150);
lineto(250-n-x,200-b-c);
lineto(250-n-x,225-b-c);
lineto(260-n-x,225-b-c);
moveto(250-n-x,225-b);
lineto(260-n-x,225-b);
moveto(200,150);
lineto(250-n-x,200);
moveto(200,95);
lineto(150+a+x,120);
moveto(200,95);
lineto(250-a-x,120);
pen.color:=clwhite;
moveto(200,150);
lineto(150+a,225);
lineto(160+a,225);
moveto(200,150);
lineto(250-n,200-b);
lineto(250-n,225-b);
lineto(260-n,225-b);
moveto(200,95);
lineto(150+a,120);
moveto(200,95);
lineto(250-a,120);
moveto(200,85);
lineto(200,150);
end;
a:=a+z;
n:=n+z;
b:=b+y;
m:=m+1;
end;
end;
procedure Tform1.BitBtn2Click(Sender: TObject);
begin
timer1.Enabled:=false;
end;
procedure Tform1.About1Click(Sender: TObject);
begin
aboutbox.showmodal;
end;
procedure Tform1.FormCreate(Sender: TObject);
begin
form1.canvas.pen.Width:=2;
form1.color:=clblack;
a:=0;z:=-1;x:=1;
c:=1;b:=0;
n:=0;m:=0;
end;
procedure Tform1.BitBtn3Click(Sender: TObject);
begin timer1.Enabled:=false;
with form1.canvas do begin
pen.color:=clwhite;
ellipse(165,25,235,85);
moveto(200,85);
lineto(200,150);
moveto(200,95);
lineto(150,120);
moveto(200,95);
lineto(250,120);
pen.color:=clblack;
moveto(200,150);
lineto(150+a+x,225);
lineto(150+10+a+x,225);
moveto(200,150);
lineto(250-n-x,200-b-c);
lineto(250-n-x,225-b-c);
lineto(260-n-x,225-b-c);
moveto(250-n-x,225-b);
lineto(260-n-x,225-b);
moveto(200,150);
lineto(250-n-x,200);
moveto(200,95);
lineto(150+a+x,120);
moveto(200,95);
lineto(250-a-x,120);
end;
a:=0;z:=-1;x:=1;
c:=1;b:=0;
n:=0;m:=0;
timer1.Enabled:=true;
end;
procedure Tform1.SpinEdit1Change(Sender: TObject);
begin
v:=spinedit1.value;
end;
end.
|
|