Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:АСОИ, Delphi, много вариантов 2 сем / 1классы / паровоз выпускает дым / Unit1
.pas unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UParovoz, StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
Edit1: TEdit;
Label1: TLabel;
Button3: TButton;
Timer2: TTimer;
Edit2: TEdit;
Label2: TLabel;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
parovoz : TParovoz;
dim : TDim;
sc1,sc2,k,x0,y0,p,x,y,h,l,xx,yy,i,g,x000,y000: integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
g := 0;
k:=0;
p:=0;
sc1:=1;
sc2:=1;
x000:=0;
y000:= image1.ClientHeight div 2-160;
x0 := 0;
y0 := image1.ClientHeight div 2+70;
x := 0;
y := image1.ClientHeight div 2-40;
xx := 0;
yy := image1.ClientHeight div 2-40;
Edit1.Text := '100';
Edit2.Text := '20';
timer1.Enabled := false;
timer2.Enabled := false;
h := Image1.Height;
l := Image1.Width;
i := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
parovoz := TParovoz.create (x,y,clblack,image1.canvas);
parovoz.show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
inc(i);
if i mod 2<>0 then timer1.Enabled := true else timer1.Enabled := false;
if i mod 2<>0 then button2.Caption:='Остановить паровоз' else button2.Caption:='Запустить паровоз';
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if x <> l then begin
timer1.Interval := strtoint(edit1.text);
with image1.Canvas do
begin
pen.Color := clwhite;
brush.Color := clwhite;
rectangle(0,0,l,h);
end;
Parovoz := TParovoz.create(x,y,clblack,image1.canvas);
inc(x);
inc(xx);
parovoz.show;
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if yy <> 0 then begin
timer2.Interval := strtoint(edit2.text);
with image1.Canvas do
begin
pen.Color := clwhite;
brush.Color := clwhite;
rectangle(0,0,l,h);
parovoz.show;
end;
Dim := TDim.create(xx,yy,clblack,image1.canvas);
dec(yy);
dec(xx,3);
dim.show;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
inc(i);
xx := x;
yy := y;
if i mod 2 = 0 then timer2.Enabled := false else timer2.Enabled := true;
if i mod 2 = 0 then button3.Caption:='Выпустить дым' else button3.Caption:='Стереть дым';
if i mod 2 = 0 then
with image1.Canvas do
begin
pen.Color := clwhite;
brush.Color := clwhite;
rectangle(0,0,l,h);
parovoz.show;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Dim.Free;
Parovoz.Free;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UParovoz, StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
Edit1: TEdit;
Label1: TLabel;
Button3: TButton;
Timer2: TTimer;
Edit2: TEdit;
Label2: TLabel;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
parovoz : TParovoz;
dim : TDim;
sc1,sc2,k,x0,y0,p,x,y,h,l,xx,yy,i,g,x000,y000: integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
g := 0;
k:=0;
p:=0;
sc1:=1;
sc2:=1;
x000:=0;
y000:= image1.ClientHeight div 2-160;
x0 := 0;
y0 := image1.ClientHeight div 2+70;
x := 0;
y := image1.ClientHeight div 2-40;
xx := 0;
yy := image1.ClientHeight div 2-40;
Edit1.Text := '100';
Edit2.Text := '20';
timer1.Enabled := false;
timer2.Enabled := false;
h := Image1.Height;
l := Image1.Width;
i := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
parovoz := TParovoz.create (x,y,clblack,image1.canvas);
parovoz.show;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
inc(i);
if i mod 2<>0 then timer1.Enabled := true else timer1.Enabled := false;
if i mod 2<>0 then button2.Caption:='Остановить паровоз' else button2.Caption:='Запустить паровоз';
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if x <> l then begin
timer1.Interval := strtoint(edit1.text);
with image1.Canvas do
begin
pen.Color := clwhite;
brush.Color := clwhite;
rectangle(0,0,l,h);
end;
Parovoz := TParovoz.create(x,y,clblack,image1.canvas);
inc(x);
inc(xx);
parovoz.show;
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if yy <> 0 then begin
timer2.Interval := strtoint(edit2.text);
with image1.Canvas do
begin
pen.Color := clwhite;
brush.Color := clwhite;
rectangle(0,0,l,h);
parovoz.show;
end;
Dim := TDim.create(xx,yy,clblack,image1.canvas);
dec(yy);
dec(xx,3);
dim.show;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
inc(i);
xx := x;
yy := y;
if i mod 2 = 0 then timer2.Enabled := false else timer2.Enabled := true;
if i mod 2 = 0 then button3.Caption:='Выпустить дым' else button3.Caption:='Стереть дым';
if i mod 2 = 0 then
with image1.Canvas do
begin
pen.Color := clwhite;
brush.Color := clwhite;
rectangle(0,0,l,h);
parovoz.show;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Dim.Free;
Parovoz.Free;
end;
end.