Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit MainUnit;
- interface
- uses
- Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
- Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
- Vcl.Menus;
- type
- TMainForm = class(TForm)
- MainMenu: TMainMenu;
- ManualMenuItem: TMenuItem;
- AboutDevelopersMenuItem: TMenuItem;
- BoatTimer: TTimer;
- BackgroundImage: TImage;
- procedure FormKeyPress(Sender: TObject; var Key: Char);
- procedure ManualMenuItemClick(Sender: TObject);
- procedure AboutDevelopersMenuItemClick(Sender: TObject);
- procedure BoatTimerTimer(Sender: TObject);
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- procedure FormCreate(Sender: TObject);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- MainForm: TMainForm;
- BoatBitmap: TBitmap;
- X, Speed: Integer;
- implementation
- const
- kW = #87;
- kS = #83;
- {$R *.dfm}
- procedure TMainForm.AboutDevelopersMenuItemClick(Sender: TObject);
- begin
- MessageBox(Handle, 'Разработчик: Наривончик Александр Михайлович, гр. 351004', 'О разработчике', MB_OK Or MB_ICONINFORMATION);
- end;
- procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
- begin
- BoatBitmap.Free;
- end;
- procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- begin
- CanClose := MessageBox(Handle, 'Вы действительно хотите выйти?', 'Вы уверены?', MB_YESNO Or MB_ICONQUESTION) = IDYES;
- end;
- procedure TMainForm.FormCreate(Sender: TObject);
- begin
- BoatBitmap := TBitmap.Create;
- BoatBitmap.LoadFromFile('boatBMP.bmp');
- BackgroundImage.Canvas.Draw(10, 80, BoatBitmap);
- X := 10;
- Speed := 3;
- end;
- procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
- begin
- case Key of
- kW: Inc(Speed);
- kS: if Speed > 0 then Dec(Speed);
- end;
- end;
- procedure TMainForm.ManualMenuItemClick(Sender: TObject);
- begin
- MessageBox(Handle, 'Программа создает анимацию движения катера:' + #13#10 + '1. Нажмите клавишу "W", чтобы увеличить скорость парусника' + #13#10 + '2. Нажмите клавишу "S", чтобы уменьшить скорость парусника', 'Инструкция', MB_OK Or MB_ICONINFORMATION);
- end;
- procedure TMainForm.BoatTimerTimer(Sender: TObject);
- begin
- if X > BackgroundImage.Width then
- X := -BoatBitmap.Width;
- X := X + Speed;
- BackgroundImage.Canvas.Draw(X, 80, BoatBitmap);
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement