Kod:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Gauges, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y,x1,y1:integer;
aci:real;
p1,p2,p3,p4,p5,p6,p7,p8:tpoint;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
aci:=aci+2*pi/360;
p1.X:=200;
p1.Y :=200;
p2.X :=p1.X +100;
p2.Y :=p1.Y ;
p3.X :=p1.X +100;
p3.Y :=p1.Y +100;
p4.X :=p1.X ;
p4.Y :=p1.Y +100;
p5.X :=p1.X +round(sin(aci)*50);
p5.Y :=p1.X +round(cos(aci)*50);
p6.X :=p5.X +100;
p6.Y :=p5.Y ;
p7.X :=p5.X +100;
p7.Y :=p5.Y +100;
p8.X :=p5.X ;
p8.Y :=p5.Y+100 ;
canvas.Pen.Color :=clblack;
canvas.Pen.Style:=psdot;
canvas.Pen.Width :=1;
canvas.MoveTo(p1.X ,p1.y);
canvas.LineTo(p2.X ,p2.Y);
canvas.LineTo(p3.X ,p3.Y);
canvas.LineTo(p4.X ,p4.Y);
canvas.LineTo(p1.X ,p1.Y);
canvas.Pen.Style :=pssolid;
canvas.Pen.Width:=3;
canvas.LineTo(p5.X ,p5.Y);
canvas.LineTo(p6.X ,p6.Y);
canvas.LineTo(p7.X ,p7.Y);
canvas.LineTo(p8.X ,p8.Y);
canvas.LineTo(p5.X,p5.Y);
canvas.MoveTo(p2.X,p2.Y);
canvas.LineTo(p6.X ,p6.y);
canvas.MoveTo(p3.X,p3.Y);
canvas.LineTo(p7.X ,p7.y);
canvas.MoveTo(p4.X,p4.Y);
canvas.LineTo(p8.X ,p8.y);
sleep(1);
canvas.Pen.Color :=form1.Color;
canvas.MoveTo(p1.X ,p1.y);
canvas.LineTo(p2.X ,p2.Y);
canvas.LineTo(p3.X ,p3.Y);
canvas.LineTo(p4.X ,p4.Y);
canvas.LineTo(p1.X ,p1.Y);
canvas.LineTo(p5.X ,p5.Y);
canvas.LineTo(p6.X ,p6.Y);
canvas.LineTo(p7.X ,p7.Y);
canvas.LineTo(p8.X ,p8.Y);
canvas.LineTo(p5.X,p5.Y);
canvas.MoveTo(p2.X,p2.Y);
canvas.LineTo(p6.X ,p6.y);
canvas.MoveTo(p3.X,p3.Y);
canvas.LineTo(p7.X ,p7.y);
canvas.MoveTo(p4.X,p4.Y);
canvas.LineTo(p8.X ,p8.y);
end;
end.