unit aerovvod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
Taerovvod1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit3: TEdit;
Label3: TLabel;
Edit4: TEdit;
Label4: TLabel;
Edit5: TEdit;
Label5: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Image1: TImage;
Edit6: TEdit;
procedure BitBtn1Click1(Sender: TObject);
procedure BitBtn1Click2(Sender: TObject);
procedure BitBtn1Click3(Sender: TObject);
procedure BitBtn1Click4(Sender: TObject);
procedure BitBtn1Click5(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Edit4Exit(Sender: TObject);
procedure Edit3Exit(Sender: TObject);
procedure Edit5Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
aerovvod1: Taerovvod1;
chistr: boolean;
nzf: integer;
timev: TDateTime;
implementation
uses aeromain;
{$R *.dfm}
procedure Taerovvod1.BitBtn1Click1(Sender: TObject);
begin
nzf:=0;
seek(FReis, 0);
While not Eof(FReis) do
begin
Read(FReis,aeromain.Reis);
if aeromain.Reis.Nreisa=StrToInt(edit1.text)
then nzf:=1;
seek(FReis, FilePos(FReis));
end;
if nzf=1
then MessageDlg('Такой рейс уже существует', mtError, [mbOk],0)
else begin
with aeromain.Reis do
begin
Nreisa:=StrToInt(edit1.text);
Pnazn:=edit2.text;
Vvilet:=StrToTime(edit3.text);
Vpribit:=StrToTime(edit4.text);
Sbilet:= StrToInt(edit5.text);
end;
write(FReis, Reis);
aerovvod1.close;
aeromain1.Enabled:=true;
aeromain1.reisiExecute(self);
end;
end;
procedure Taerovvod1.BitBtn1Click2(Sender: TObject);
begin
nzf:=0;
seek(FReis, 0);
While not Eof(FReis) do
begin
Read(FReis,aeromain.Reis);
if aeromain1.StringGrid1.Row <> FilePos(FReis)
then
if aeromain.Reis.Nreisa=StrToInt(edit1.text)
then nzf:=1;
end;
if nzf=1
then MessageDlg('Такой рейс уже существует', mtError, [mbOk],0)
else begin
seek(FReis, 0);
While not Eof(FReis) do
begin
Read(FReis,aeromain.Reis);
if aeromain1.StringGrid1.Row = FilePos(FReis)
Then begin
with aeromain.Reis do
begin
Nreisa:=StrToInt(edit1.text);
Pnazn:=edit2.text;
Vvilet:=StrToTime(edit3.text);
Vpribit:=StrToTime(edit4.text);
Sbilet:= StrToInt(edit5.text);
end;
seek(FReis, FilePos(FReis)-1);
write(FReis, aeromain.Reis);
aerovvod1.close;
aeromain1.Enabled:=true;
aeromain1.reisiExecute(self);
end;
end;
end;
end;
procedure Taerovvod1.BitBtn1Click3(Sender: TObject);
begin
nzf:=1;
seek(FReis, 0);
While not Eof(FReis) do
begin
Read(FReis,aeromain.reis);
if aeromain.reis.Nreisa = strtoint(edit1.Text)
then begin
aeromain1.stringgrid1.Cells[0,nzf]:=IntToStr(aeromain.reis.Nreisa);
aeromain1.stringgrid1.Cells[1,nzf]:=aeromain.reis.Pnazn;
aeromain1.stringgrid1.Cells[2,nzf]:=TimeToStr(aeromain.reis.Vvilet);
aeromain1.stringgrid1.Cells[3,nzf]:=TimeTOStr(aeromain.reis.Vpribit);
aeromain1.stringgrid1.Cells[4,nzf]:=IntToStr(aeromain.reis.Sbilet);
nzf:=nzf+1;
end;
end;
aeromain1.stringgrid1.RowCount:=nzf;
aerovvod1.close;
aeromain1.Enabled:=true;
end;
procedure Taerovvod1.BitBtn1Click4(Sender: TObject);
begin
nzf:=1;
seek(FReis, 0);
While not Eof(FReis) do
begin
Read(FReis,aeromain.reis);
if aeromain.reis.Pnazn = edit2.Text
then begin
aeromain1.stringgrid1.Cells[0,nzf]:=IntToStr(aeromain.reis.Nreisa);
aeromain1.stringgrid1.Cells[1,nzf]:=aeromain.reis.Pnazn;
aeromain1.stringgrid1.Cells[2,nzf]:=TimeToStr(aeromain.reis.Vvilet);
aeromain1.stringgrid1.Cells[3,nzf]:=TimeTOStr(aeromain.reis.Vpribit);
aeromain1.stringgrid1.Cells[4,nzf]:=IntToStr(aeromain.reis.Sbilet);
nzf:=nzf+1;
end;
end;
aeromain1.stringgrid1.RowCount:=nzf;
aerovvod1.close;
aeromain1.Enabled:=true;
end;
procedure Taerovvod1.BitBtn1Click5(Sender: TObject);
begin
seek(FReis, 0);
While not Eof(FReis) do
begin
Read(FReis,aeromain.Reis);
aeromain.Reis.Sbilet:= aeromain.Reis.Sbilet + round((aeromain.Reis.Sbilet * StrToInt(edit6.text))/100);
seek(FReis, FilePos(FReis)-1);
write(FReis, aeromain.Reis);
end;
aerovvod1.close;
aeromain1.Enabled:=true;
aeromain1.reisiExecute(self);
end;
procedure Taerovvod1.BitBtn2Click(Sender: TObject);
begin
aerovvod1.Visible:=false;
aeromain1.Enabled:=true;
end;
procedure Taerovvod1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
aerovvod1.Visible:=false;
aeromain1.Enabled:=true;
end;
procedure Taerovvod1.Edit1Exit(Sender: TObject);
begin
chistr:=true;
if Length(edit1.text) <> 4 then chistr:=false;
if (TRYStrToInt(edit1.text,aeromain.Reis.Nreisa) = false) or (chistr=false)
then begin
MessageDlg('Поле Номер рейса состоит 4-х значного числа', mtError, [mbOk],0);
edit1.Text:='1234';
end;
end;
procedure Taerovvod1.Edit2Exit(Sender: TObject);
begin
if Length(edit2.text) > 30
then begin
MessageDlg('Поле Пункт назначения состоит из 30 символов', mtError, [mbOk],0);
edit2.Text:='Кемерово';
end;
end;
procedure Taerovvod1.Edit4Exit(Sender: TObject);
begin
if TRYStrToDateTime(edit4.text,timev)= false
then begin
MessageDlg('Неправильно введено время прибытия', mtError, [mbOk],0);
edit4.Text:='08:00';
end;
end;
procedure Taerovvod1.Edit3Exit(Sender: TObject);
begin
if TRYStrToDateTime(edit3.text,timev)= false
then begin
MessageDlg('Неправильно введено время вылета', mtError, [mbOk],0);
edit3.Text:='23:12';
end;
end;
procedure Taerovvod1.Edit5Exit(Sender: TObject);
begin
chistr:=true;
if Length(edit5.text) > 5 then chistr:=false;
if (TRYStrToInt(edit5.text,aeromain.Reis.Sbilet) = false) or (chistr=false)
then begin
MessageDlg('Поле Стоимость состоит 5-х значного числа', mtError, [mbOk],0);
edit5.Text:='15000';
end;
end;
end.
Модуль заставки
unit aerologo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
Taerologo1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
Timer2: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
aerologo1: Taerologo1;
i:integer;
implementation
uses aeromain;
{$R *.dfm}
procedure Taerologo1.FormCreate(Sender: TObject);
begin
i:=0;
end;
procedure Taerologo1.Timer1Timer(Sender: TObject);
var
samolet, fon: TBitMap;
begin
i:=i+1;
fon:= TBitMap.Create;
fon.LoadFromFile('IMG\fon.bmp');
image1.Canvas.Draw(0,0,fon);
samolet:= TBitMap.Create;
samolet.LoadFromFile('IMG\PLANE'+inttostr(i)+'.bmp');
samolet.Transparent:=True;
image1.Canvas.Draw(0,50,samolet);
with image1.Canvas do begin
Brush.Style:= bsClear;
Font.Name:= 'Arial';
Font.Size:= 40;
Font.Style:= [fsBold];
Font.Color:= clwhite;
TextOut(130-10*i, 450, 'Аэропорт Кемерово Справочная');
end;
IF i=12 THEN Begin
Timer1.Enabled:=false;
timer2.Enabled:=true;
end;
end;
procedure Taerologo1.Timer2Timer(Sender: TObject);
begin
Timer2.Enabled:=false;
aerologo1.close;
aeromain1.show;
end;
end.
Модуль о программе
unit aeroinfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Taeroinfo1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
aeroinfo1: Taeroinfo1;
implementation
uses aeromain;
{$R *.dfm}
procedure Taeroinfo1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
aeromain1.Enabled:=true;
end;
end.