Висновки
При розробці поставленої задачі було використано об’єктно-орієнтовану мову програмування Delphi . Вона була обрана серед багатьох мов програмування, через легкість у користуванні й графічному інтерфейсу й можливістю роботи з багатьма операційними системами та апаратними й програмними частинами комп’ютера.
Також, для роботи системи були обрані об'єкти БД в Delphi засновані на SQL і містять у собі повну міць прикладного програмного інтерфейсу для доступу до даних ADO. До складу Delphi також включені Borland SQL Link, тому доступ до СУБД Oracle, Sybase, Informix і InterBase відбувається з високою ефективністю. Крім того, Delphi містить у собі локальний сервер Interbase для того, щоб можна було розробити додатка в режимі офлайн. В даній інформаційній системі для для зберігання інформації використовцвались файли формату .mdb (Access).
Процес виконання працівником розрахунків має бути автоматизованим, задля уникнення розрахункових помилок, а також запобігання втрати данних, якими буде оперувати користувач. А також буде значно скорочуватись час на виконання розрахунків та виведення звітності, що призведе до підвищення ефективності праці працівника.
На сьогоднішній день є безліч програм які дають можливість керувати працею рызних автомобільних установ , але метою даної програми є складання розрахунків саме для таксомоторного парку, враховуючи структуру його роботи.
Список використаних джерел
Фленов М. Программирование на Delphi глазами хакера - СПб.: БХВ – Санкт Петербург, 2005. – 350с.
Фролов А.В., Фролов Г.В. Пособие программиста: т. 1, В 3 кн. кн. 3. - М.: Диалог-МИФИ, 1992 - 222 с.
Культин Н.Б. Программирование на Object Pascal в Delphi 5 - Санкт-Петербург, 2000 – 400с.
СОУ 03:2005. Нормоконтроль курсових та дипломних проектів (робіт). Загальні відомості.
ГОСТ 2.301-68 ЕСКД. Форматы.
ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам.
Додаток А
С Так Ні Ні Ні Ні Так Так Ні хема алгоритму програми
Так
Так
Рис. А.1 – Схема алгоритму роботи програми
Додаток Б
Лістинг програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N21: TMenuItem;
Image1: TImage;
N9: TMenuItem;
N10: TMenuItem;
N15: TMenuItem;
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N11Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit12, Unit13;
{$R *.dfm}
procedure TForm1.N6Click(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите выйти?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then
Application.Terminate else Application.Run
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form2:=TForm2.Create(self);
try
if Form2.ShowModal=mrOK then Form2.Close
finally
Form2.Free;
end;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
Form3:=TForm3.Create(self);
try
if Form3.ShowModal=mrOK then Form3.Close
finally
Form3.Free;
end;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
Form4:=TForm4.Create(self);
try
if Form4.ShowModal=mrOK then Form4.Close
finally
Form4.Free;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//if MessageDlg('Вы действительно хотите выйти?',
//mtConfirmation,[mbYes,mbNo],0)=mrYes then
Application.Terminate //else Application.Run
end;
procedure TForm1.N11Click(Sender: TObject);
begin
Form5.Show;
end;
procedure TForm1.N17Click(Sender: TObject);
begin
Form6.Show;
end;
procedure TForm1.N18Click(Sender: TObject);
begin
Form7.Show;
end;
procedure TForm1.N12Click(Sender: TObject);
begin
Form8:=TForm8.Create(self);
try
if Form8.ShowModal=mrOK then Form8.Close
finally
Form8.Free;
end;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
Form9.Show;
end;
procedure TForm1.N19Click(Sender: TObject);
begin
Form10:=TForm10.Create(self);
try
if Form10.ShowModal=mrOK then Form10.Close
finally
Form10.Free;
end;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
Form12.Show;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
Form13.Show;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, ExtCtrls, DBCtrls, StdCtrls,
WordXP, OleServer, ComObj, MyWord;
type
TForm2 = class(TForm)
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Close;
end;
procedure TForm2.Button2Click(Sender: TObject);
var
table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetFont('Times New Roman',14,false,false);
SetTextToDoc('Водители:',false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
MessageDlg('MS Word не найден - дальнейшая обработка отчёта невозможна. '+
'Пожалуйста, установите MS Word',mtError,[mbOk],0);
Form2.Close;
end;
end;
procedure TForm2.FormShow(Sender: TObject);
begin
ADOTable1.Filtered:=true;
Adotable1.Filter:='Должность=''Водитель''';
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, MyWord;
type
TForm3 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1: TADOTable;
Button1: TButton;
DBNavigator1: TDBNavigator;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Close;
end;
procedure TForm3.Button2Click(Sender: TObject);
var table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetAlbumOrientation;
SetFont('Times New Roman',14,false,false);
SetTextToDoc('Автотранспорт',false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
MessageDlg('MS Word не найден - дальнейшая обработка отчёта невозможна. '+
'Пожалуйста, установите MS Word',mtError,[mbOk],0);
Form3.Close;
end;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
Form2.Show;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, MyWord;
type
TForm4 = class(TForm)
ADOTable1: TADOTable;
DataSource1: TDataSource;
Button1: TButton;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
Form4.Close;
end;
procedure TForm4.FormShow(Sender: TObject);
begin
ADOTable1.Filtered:=true;
Adotable1.Filter:='Должность=''Диспетчер''';
end;
procedure TForm4.Button2Click(Sender: TObject);
var
table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetFont('Times New Roman',14,false,false);
SetTextToDoc('Диспетчеры',false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
MessageDlg('MS Word не найден - дальнейшая обработка отчёта невозможна. '+
'Пожалуйста, установите MS Word',mtError,[mbOk],0);
Form4.Close;
end;
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, ADODB, DB, StdCtrls, Grids, DBGrids;
type
TForm5 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
DataSource1: TDataSource;
ADOTable1: TADOTable;
DBNavigator1: TDBNavigator;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit4, Unit14;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
Form5.Hide;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Form4.Show
end;
procedure TForm5.Button4Click(Sender: TObject);
var i:integer;
begin
if MessageDlg('Вы действительно хотите очистить базу?',
mtWarning,[mbYes,mbNo],0)=mrYes then begin
ADOTable1.Edit;
for i:=0 to ADOTable1.RecordCount-1 do ADOTable1.Delete;
end;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
Form14.Show;
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm6 = class(TForm)
ComboBox1: TComboBox;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
DateTimePicker2: TDateTimePicker;
Label3: TLabel;
Label4: TLabel;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit4, Unit5;
{$R *.dfm}
procedure TForm6.FormShow(Sender: TObject);
var
i: integer;
begin
DateTimePicker1.Date:=now;
DateTimePicker2.Time:=now;
Form4.ADOTable1.First;
Form4.ADOTable1.Filtered:=true;
Form4.ADOTable1.Filter:='Должность=''Диспетчер''';
for i:=0 to Form4.ADOTable1.RecordCount-1 do begin
ComboBox1.Items.Add(Form4.ADOTable1.Fields[1].AsString);
Form4.ADOTable1.Next;
end;
if Combobox1.Items.Count>0 then Combobox1.ItemIndex:=0;
end;
procedure TForm6.Button1Click(Sender: TObject);
var i:integer;
begin
if Form5.ADOTable1.Active then begin
Form5.ADOTable1.First;
for i:=0 to Form5.ADOTable1.RecordCount-1 do begin
if (Combobox1.Text=Form5.ADOTable1.Fields[5].AsString) and
(Form5.ADOTable1.Fields[4].AsString='') then begin
MessageDLG('У этого диспетчера уже имеется незакрытая смена.'+#13#10+
'Просим Вас закрыть предыдущую смену',mtWarning,[mbOk],0);
break;
end;
Form5.ADOTable1.Next;
end;
Form5.ADOTable1.Insert;
Form5.ADOTable1.Fields[1].AsDateTime:=DateTimePicker1.Date;
Form5.ADOTable1.Fields[2].AsString:=TimeToStr(DateTimePicker2.Time);
Form5.ADOTable1.Fields[5].AsString:=Combobox1.text;
Form5.ADOTable1.Post;
end;
Form6.Hide;
end;
procedure TForm6.Button2Click(Sender: TObject);
begin
Form6.Close
end;
procedure TForm6.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then DateTimePicker1.SetFocus;
end;
procedure TForm6.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then DateTimePicker2.SetFocus;
end;
procedure TForm6.DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Button1.SetFocus;
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DBCtrls;
type
TForm7 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
ComboBox1: TComboBox;
Label5: TLabel;
Label6: TLabel;
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1Select(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
b:integer;
implementation
uses Unit5, Unit1, Unit3;
{$R *.dfm}
procedure TForm7.Button2Click(Sender: TObject);
begin
Combobox1.Items.Clear;
Combobox1.Clear;
Label6.Caption:='';
Form7.Hide
end;
procedure TForm7.FormShow(Sender: TObject);
var
i: integer;
begin
DateTimePicker1.Date:=now;
DateTimePicker2.Time:=now;
if Form5.ADOTable1.Active then begin
Form5.ADOTable1.First;
for i:=0 to Form5.ADOTable1.RecordCount-1 do begin
if Form5.ADOTable1.Fields[4].AsString='' then begin
Form7.ComboBox1.Items.Add(Form5.ADOTable1.Fields[0].AsString);
end;
Form5.ADOTable1.Next;
end;end;end;
procedure TForm7.Button1Click(Sender: TObject);
var i:integer;
begin
Form5.ADOTable1.First;
for i:=0 to Form5.ADOTable1.RecordCount-1 do begin
Form5.ADOTable1.Edit;
if StrToInt(Combobox1.Text)=Form5.ADOTable1.Fields[0].AsInteger then begin
if (Round(Form5.ADOTable1.Fields[1].AsDateTime*SecsPerDay)>Round(DateTimePicker1.Date*SecsPerDay))
then begin
MessageDLG('Ошибка - дата окончания смены не может быть раньше даты её начала.',
mtError,[mbOk],0);
break;
end;
Form5.ADOTable1.Fields[3].AsDateTime:=DateTimePicker1.Date;
Form5.ADOTable1.Fields[4].AsString:=TimeToStr(DateTimePicker2.Time);
end;
Form5.ADOTable1.Next;
end;
Combobox1.Items.Clear;
Combobox1.Clear;
Label6.Caption:='';
Form7.Hide;
end;
procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Combobox1.Items.Clear;
Combobox1.Clear;
Label6.Caption:='';
end;
procedure TForm7.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then DateTimePicker1.SetFocus;
end;
procedure TForm7.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then DateTimePicker2.SetFocus;
end;
procedure TForm7.DateTimePicker2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Button1.SetFocus;
end;
procedure TForm7.ComboBox1Select(Sender: TObject);
var i:integer;
begin
Form5.ADOTable1.First;
for i:=0 to Form5.ADOTable1.RecordCount-1 do begin
if Strtoint(combobox1.Text)=Form5.ADOTable1.Fields[0].AsInteger then begin
label6.Caption:=Form5.ADOTable1.Fields[5].AsString;
end;
Form5.ADOTable1.Next;
end
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, ADODB, DB;
type
TForm8 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Button1: TButton;
DataSource1: TDataSource;
ADOTable1: TADOTable;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit15;
{$R *.dfm}
procedure TForm8.Button1Click(Sender: TObject);
begin
Form8.Close
end;
procedure TForm8.Button3Click(Sender: TObject);
begin
Form15.Show;
end;
procedure TForm8.Button4Click(Sender: TObject);
var i:integer;
begin
if MessageDlg('Вы действительно хотите очистить базу?',
mtWarning,[mbYes,mbNo],0)=mrYes then begin
ADOTable1.Edit;
for i:=0 to ADOTable1.RecordCount-1 do ADOTable1.Delete;
end;
end;
end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB, Grids, DBGrids, MyWord;
type
TForm9 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Button1: TButton;
Label9: TLabel;
Edit1: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label10: TLabel;
Label11: TLabel;
ComboBox1: TComboBox;
Button2: TButton;
Button3: TButton;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label5: TLabel;
Memo1: TMemo;
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker2KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button1Click(Sender: TObject);
procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Unit8, Unit3, Unit4, Unit2, Unit5, Unit17;
{$R *.dfm}
procedure TForm9.FormShow(Sender: TObject);
var i:integer;
begin
Memo1.Clear;
Edit1.SetFocus;
if Form8.ADOTable1.Active then begin
Form8.ADOTable1.Last;
if Form8.ADOTable1.Fields[0].AsString<>'' then
Edit1.Text:=Inttostr(Strtoint(Form8.ADOTable1.Fields[0].AsString)+1)
else Edit1.Text:='1';
end;
Form3.ADOTable1.First;
DateTimePicker1.Date:=now;
DateTimePicker2.Time:=now;
for i:=0 to Form3.ADOTable1.recordCount-1 do begin
Combobox1.items.Add(Form3.ADOTable1.Fields[3].AsString);
Form3.ADOTable1.Next;
end;
Form5.ADOTable1.First;
for i:=0 to Form5.ADOTable1.recordCount-1 do begin
if Form5.ADOTable1.Fields[4].AsString='' then
Combobox2.items.Add(Form5.ADOTable1.Fields[5].AsString);
Form5.ADOTable1.Next;
end;
Form2.ADOTable1.Filtered:=true;
Form2.Adotable1.Filter:='Должность=''Водитель''';
Form2.ADOTable1.First;
for i:=0 to Form2.ADOTable1.recordCount-1 do begin
Combobox3.Items.Add(Form2.ADOTable1.Fields[1].AsString);
Form2.ADOTable1.Next;
end;
end;
procedure TForm9.ComboBox1Change(Sender: TObject);
var i:integer;
begin
if Form3.ADOTable1.Active then begin
Form3.ADOTable1.First;
for i:=0 to Form3.ADOTable1.recordCount-1 do begin
if Combobox1.Text=Form3.ADOTable1.Fields[3].AsString then begin
if Form3.ADOTable1.Fields[7].AsString='' then Edit5.Text:='0' else
Edit5.Text:=Form3.ADOTable1.Fields[7].AsString;
if Form3.ADOTable1.Fields[8].AsString='' then Edit4.Text:='0' else
Edit4.Text:=Form3.ADOTable1.Fields[8].AsString;
end;
Form3.ADOTable1.Next;end;end;
end;
procedure TForm9.Button2Click(Sender: TObject);
var i,table:integer;
begin
if (Edit1.Text='') or (Combobox1.Text='') or (Combobox2.Text='')
or (Combobox3.Text='') then begin
MessageDLG('Ошибка: обнаружены пустые поля.',mtError,[mbOk],0);
Form9.Close;
end;
if Form8.ADOTable1.Active then begin
Form8.ADOTable1.Insert;
Form8.ADOTable1.Fields[0].AsInteger:=StrToInt(Edit1.Text);
Form8.ADOTable1.Fields[1].AsString:=Datetostr(Datetimepicker1.Date);
Form8.ADOTable1.Fields[2].AsString:=Timetostr(Datetimepicker2.Time);
Form3.ADOTable1.First;
for i:=0 to Form3.ADOTable1.recordCount-1 do begin
if Combobox1.Text=Form3.ADOTable1.Fields[3].AsString then begin
Form8.ADOTable1.Fields[7].AsString:=Form3.ADOTable1.Fields[2].AsString;
Form8.ADOTable1.Fields[5].AsString:=Form3.ADOTable1.Fields[0].AsString;
end;
Form3.ADOTable1.Next;end;
Form8.ADOTable1.Fields[8].AsString:=Combobox3.Text;
Form8.ADOTable1.Fields[9].AsString:=Edit5.Text;
Form8.ADOTable1.Fields[6].AsString:=ComboBox1.Text;
Form8.ADOTable1.Fields[13].AsString:=Memo1.Text;
Form8.ADOTable1.Fields[14].AsString:=ComboBox2.Text;
Form8.ADOTable1.Post;
end;
combobox1.DeleteSelected;
combobox3.DeleteSelected;
if Form8.ADOTable1.Active then begin
Form8.ADOTable1.Filtered:=true;
Form8.Adotable1.Filter:='[№ путевого листа]='+Edit1.Text;
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetAlbumOrientation;
SetFont('Times New Roman',14,false,false);
SetTextToDoc('Путевой лист № '+Edit1.Text+' от '
+DateToStr(DateTimePicker1.DateTime),false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(Form8.DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
MessageDlg('MS Word не найден - дальнейшая обработка отчёта невозможна. '+
'Пожалуйста, установите MS Word',mtError,[mbOk],0);end;end;
Form9.Close;
end;
procedure TForm9.Button3Click(Sender: TObject);
begin
Form9.close;
end;
procedure TForm9.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then Datetimepicker1.SetFocus;
end;
procedure TForm9.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then DateTimePicker2.SetFocus;
end;
procedure TForm9.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then Combobox3.SetFocus;
end;
procedure TForm9.Edit7KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then Edit5.SetFocus;
end;
procedure TForm9.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then Button1.SetFocus;
end;
procedure TForm9.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then Edit5.SetFocus;
end;
procedure TForm9.DateTimePicker2KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(key)= 13 then Combobox1.SetFocus;
end;
procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Edit1.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Combobox1.Text:='';
Combobox1.Clear;
Combobox2.Text:='';
Combobox2.Clear;
Combobox3.Text:='';
Combobox3.Clear;
end;
procedure TForm9.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Button1.SetFocus;
end;
procedure TForm9.Button1Click(Sender: TObject);
begin
Form17.Show;
end;
procedure TForm9.ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Memo1.SetFocus;
end;
procedure TForm9.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Button2.SetFocus;
end;
end.
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm11 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
Label2: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm11.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text='nickolay' then begin
if MessageDlg('Пароль введён верно. Добро пожаловать!',
mtInformation,[mbOk],0)=1 then begin
Form1.Visible:=true;
Form11.Hide;
end;
end else
MessageDlg('Пароль введён неверно. Введите пароль заново',
mtError,[mbOk],0);
end;
procedure TForm11.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then begin
if Edit1.Text='nickolay' then begin
if MessageDlg('Пароль введён верно. Добро пожаловать!',
mtInformation,[mbOk],0)=1 then begin
Form1.Visible:=true;
Form11.Hide;
end;
end else
MessageDlg('Пароль введён неверно. Введите пароль заново',
mtError,[mbOk],0);
end;
end;
procedure TForm11.FormCreate(Sender: TObject);
begin
Label2.Caption:='ПРИМЕЧАНИЕ: Прежде чем начать '+#13#10+
'работать с программой, убедитесь '+#13#10+
'в том что на компьютере установлен MS Word';
end;
procedure TForm11.Edit1Change(Sender: TObject);
begin
if Edit1.Text='nickolay' then Bitbtn1.Enabled:=true else Bitbtn1.Enabled:=false;
end;
end.
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB, Grids, DBGrids;
type
TForm12 = class(TForm)
Label10: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label11: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label7: TLabel;
Label8: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label9: TLabel;
ComboBox2: TComboBox;
Button2: TButton;
Button3: TButton;
ComboBox1: TComboBox;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1: TADOTable;
procedure FormShow(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Unit5, Unit8;
{$R *.dfm}
procedure TForm12.FormShow(Sender: TObject);
var i:integer;
begin
DateTimePicker1.DateTime:=now;
DateTimePicker2.DateTime:=now;
Edit4.Text:='0';
Edit5.Text:='0';
If Form8.ADOTable1.Active then begin
Form8.ADOTable1.First;
for i:=0 to Form8.ADOTable1.RecordCount-1 do begin
ComboBox1.Items.Add(Form8.ADOTable1.Fields[0].AsString);
Form8.ADOTable1.Next;
end;end;
If Form5.ADOTable1.Active then begin
Form5.ADOTable1.First;
for i:=0 to Form5.ADOTable1.recordCount-1 do begin
if Form5.ADOTable1.Fields[4].AsString='' then
Combobox2.items.Add(Form5.ADOTable1.Fields[5].AsString);
Form5.ADOTable1.Next;
end;end;
if Combobox1.Items.Count>0 then Combobox1.ItemIndex:=0;
Form8.ADOTable1.Filtered:=true;
Form8.Adotable1.Filter:='[№ путевого листа]='+Combobox1.Text;
end;
procedure TForm12.FormHide(Sender: TObject);
begin
Combobox1.Clear;
end;
procedure TForm12.ComboBox1Change(Sender: TObject);
begin
ADOTable1.Filtered:=true;
Adotable1.Filter:='[№ путевого листа]='+Combobox1.Text;
end;
procedure TForm12.Button2Click(Sender: TObject);
begin
ADOTable1.Edit;
ADOTable1.Fields[3].AsString:=DateToStr(DateTimePicker1.Date);
ADOTable1.Fields[4].AsString:=TimeToStr(DateTimePicker2.Time);
ADOTable1.Fields[10].AsInteger:=Strtoint(Edit5.Text);
ADOTable1.Fields[11].AsInteger:=Strtoint(Edit4.Text);
ADOTable1.Fields[15].AsString:=Combobox2.Text;
ADOTable1.Post;
end;
procedure TForm12.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Edit4.Text:='';
Edit5.Text:='';
Combobox1.Text:='';
Combobox1.Clear;
Combobox2.Text:='';
Combobox2.Clear;
end;
procedure TForm12.Button3Click(Sender: TObject);
begin
Form12.Close;
end;
end.
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids, MyWord;
type
TForm13 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
DBNavigator1: TDBNavigator;
Button2: TButton;
DataSource1: TDataSource;
ADOTable1: TADOTable;
Button3: TButton;
Button4: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form13: TForm13;
implementation
uses Unit16, Unit17;
{$R *.dfm}
procedure TForm13.Button2Click(Sender: TObject);
var table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetAlbumOrientation;
SetFont('Times New Roman',14,false,false);
SetTextToDoc('Автотранспорт',false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
ShowMessage('MS Word не найден - дальнейшая обработа отчёта невозможна. '+
'Пожалуйста, установите MS Word');
Form13.Close;
end;
end;
procedure TForm13.Button1Click(Sender: TObject);
begin
ADOTable1.Refresh;
Form13.Hide;
end;
procedure TForm13.Button3Click(Sender: TObject);
begin
Form16.Show;
end;
procedure TForm13.Button4Click(Sender: TObject);
begin
Form17.Show;
end;
end.
unit Unit14;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, MyWord, DB, Grids, DBGrids, ADODB;
type
TForm14 = class(TForm)
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Button1: TButton;
Button2: TButton;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form14: TForm14;
implementation
{$R *.dfm}
procedure TForm14.FormShow(Sender: TObject);
begin
DateTimePicker1.DateTime:=now;
ADOTable1.Filtered:=true;
Adotable1.Filter:='[День начала смены]='+Datetostr(DateTimePicker1.DateTime);
end;
procedure TForm14.Button2Click(Sender: TObject);
begin
Form14.Hide
end;
procedure TForm14.Button1Click(Sender: TObject);
var table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetAlbumOrientation;
SetFont('Times New Roman',14,false,false);
SetTextToDoc('Отчёт по сменам диспетчеров за '
+DateToStr(DateTimePicker1.DateTime),false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
MessageDlg('MS Word не найден - дальнейшая обработка отчёта невозможна. '+
'Пожалуйста, установите MS Word',mtError,[mbOk],0);
Form14.Close;
end;
Form14.Hide
end;
procedure TForm14.DateTimePicker1Change(Sender: TObject);
begin
ADOTable1.Filtered:=true;
Adotable1.Filter:='[День начала смены]='+Datetostr(DateTimePicker1.DateTime);
end;
end.
unit Unit15;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, ComCtrls, MyWord;
type
TForm15 = class(TForm)
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Button1: TButton;
Button2: TButton;
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
DataSource1: TDataSource;
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form15: TForm15;
implementation
uses Unit14;
{$R *.dfm}
procedure TForm15.FormShow(Sender: TObject);
begin
DateTimePicker1.DateTime:=now;
ADOTable1.Filtered:=true;
Adotable1.Filter:='[Дата выезда]='+Datetostr(DateTimePicker1.DateTime);
end;
procedure TForm15.Button2Click(Sender: TObject);
begin
Form15.Hide;
end;
procedure TForm15.Button1Click(Sender: TObject);
var table:integer;
begin
if CreateWord then begin
VisibleWord(false);
AddDoc;
SetAlbumOrientation;
SetFont('Times New Roman',10,false,false);
SetTextToDoc('Отчёт по путевым листам за '
+DateToStr(DateTimePicker1.DateTime),false);
ADOTable1.DisableControls;
WordTableAddFromDBGrid(DBGrid1,true,table);
VisibleWord(true);
ADOTable1.EnableControls;
SaveDocAs('C:\Рабочий файл TaxiManager.doc');
end
else begin
MessageDlg('MS Word не найден - дальнейшая обработка отчёта невозможна. '+
'Пожалуйста, установите MS Word',mtError,[mbOk],0);
Form14.Close;
end;
Form14.Hide
end;
procedure TForm15.DateTimePicker1Change(Sender: TObject);
begin
ADOTable1.Filtered:=true;
Adotable1.Filter:='[Дата выезда]='+Datetostr(DateTimePicker1.DateTime);
end;
end.
unit Unit16;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm16 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
Button1: TButton;
Button2: TButton;
Label5: TLabel;
Edit1: TEdit;
ComboBox1: TComboBox;
Edit2: TEdit;
Label6: TLabel;
Label7: TLabel;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormHide(Sender: TObject);
procedure ComboBox1Select(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1Exit(Sender: TObject);
procedure ComboBox1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form16: TForm16;
a:integer;
implementation
uses Unit13;
{$R *.dfm}
procedure TForm16.FormShow(Sender: TObject);
var i,b:integer;
begin
Combobox1.SetFocus;
DateTimePicker1.DateTime:=now;
Form13.ADOTable1.Last;
Edit2.Text:='0';
Form13.ADOTable1.First;
b:=Form13.ADOTable1.Fields[4].AsInteger;
for i:=0 to Form13.ADOTable1.RecordCount-1 do begin
ComboBox1.Items.Add(Form13.ADOTable1.Fields[0].AsString);
if Form13.ADOTable1.Fields[4].AsInteger>b then
b:=Form13.ADOTable1.Fields[4].AsInteger;
Form13.ADOTable1.Next;
end;
Edit1.Text:=inttostr(b+1);
if Combobox1.Items.Count>0 then Combobox1.ItemIndex:=0;
Form13.ADOTable1.Locate('№',Combobox1.Text,[]);
label7.Caption:=Form13.ADOTable1.Fields[1].AsString;
end;
procedure TForm16.Button1Click(Sender: TObject);
begin
if a>0 then begin
MessageDLG('Ошибка: номер талона не должен повторяться.',mtError,[mbOk],0);
Form16.Close;end;
if edit1.Text='' then begin
MessageDLG('Ошибка: пустое поле "Номер талона".',mtError,[mbOk],0);
Form16.Close;end;
Form13.ADOTable1.Locate('№',Combobox1.Text,[]);
Form13.ADOTable1.Edit;
if Form13.ADOTable1.Active then begin
Form13.ADOTable1.Fields[3].Clear;
Form13.ADOTable1.Fields[4].Clear;
Form13.ADOTable1.Fields[3].AsString:=Datetostr(DateTimePicker1.Date);
Form13.ADOTable1.Fields[4].AsInteger:=StrToInt(Edit1.Text);
Form13.ADOTable1.Fields[2].AsInteger:=Form13.ADOTable1.Fields[2].AsInteger+
StrToInt(Edit2.Text);
//Form13.ADOTable1.Post;
end;
Form13.ADOTable1.Post;
Form13.ADOTable1.Refresh;
Form16.Hide;
end;
procedure TForm16.Button2Click(Sender: TObject);
begin
Form13.ADOTable1.CancelUpdates;
Form13.ADOTable1.Cancel;
Form16.Hide;
end;
procedure TForm16.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Edit2.SetFocus;
end;
procedure TForm16.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Edit1.SetFocus;
end;
procedure TForm16.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then DateTimePicker1.SetFocus;
end;
procedure TForm16.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Button1.SetFocus;
end;
procedure TForm16.FormHide(Sender: TObject);
begin
Combobox1.Items.Clear;
Label7.Caption:='';
Edit1.Clear;
Edit2.Clear;
end;
procedure TForm16.ComboBox1Select(Sender: TObject);
var i:integer;
begin
Form13.ADOTable1.First;
for i:=0 to Form13.ADOTable1.RecordCount-1 do begin
if Strtoint(combobox1.Text)=Form13.ADOTable1.Fields[0].AsInteger then
label7.Caption:=Form13.ADOTable1.Fields[1].AsString;
Form13.ADOTable1.Next;
end;
Form13.ADOTable1.Locate('№',Combobox1.Text,[]);
end;
procedure TForm16.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form13.ADOTable1.CancelUpdates;
Form13.ADOTable1.Cancel;
Form16.Hide;
end;
procedure TForm16.Edit1Exit(Sender: TObject);
var i:integer;
begin
Form13.ADOTable1.First;
if edit1.Text='' then
MessageDLG('Поле не должно быть пустым.',mtWarning,[mbOk],0);
for i:=0 to Form13.ADOTable1.RecordCount-1 do begin
if (Combobox1.Text<>Form13.ADOTable1.Fields[0].AsString)
and (Edit1.Text=Form13.ADOTable1.Fields[4].AsString) then begin
MessageDLG('Ошибка: номер талона не должен повторяться.',mtError,[mbOk],0);
a:=1;
end;
Form13.ADOTable1.Next;
end;
end;
procedure TForm16.ComboBox1Exit(Sender: TObject);
var i:integer;
begin
if combobox1.Text='' then
MessageDLG('Поле не должно быть пустым.',mtWarning,[mbOk],0);
Form13.ADOTable1.First;
for i:=0 to Form13.ADOTable1.RecordCount-1 do begin
if (Combobox1.Text<>Form13.ADOTable1.Fields[0].AsString)
and (Edit1.Text=Form13.ADOTable1.Fields[4].AsString) then begin
MessageDLG('Ошибка: номер талона не должен повторяться.',mtError,[mbOk],0);
a:=1;
end;
Form13.ADOTable1.Next;
end;
end;
end.
unit Unit17;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;
type
TForm17 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DateTimePicker1: TDateTimePicker;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Edit2: TEdit;
ComboBox1: TComboBox;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ComboBox1Select(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form17: TForm17;
implementation
uses Unit13, Unit9;
{$R *.dfm}
procedure TForm17.FormShow(Sender: TObject);
var i:integer;
begin
Combobox1.SetFocus;
DateTimePicker1.DateTime:=now;
Form13.ADOTable1.First;
for i:=0 to Form13.ADOTable1.RecordCount-1 do begin
ComboBox1.Items.Add(Form13.ADOTable1.Fields[4].AsString);
Form13.ADOTable1.Next;
end;
if Combobox1.Items.Count>0 then Combobox1.ItemIndex:=0;
end;
procedure TForm17.Button1Click(Sender: TObject);
var i:integer;
begin
Form13.ADOTable1.Locate('№ талона пополнения',Combobox1.Text,[]);
Form13.ADOTable1.Edit;
if Form13.ADOTable1.Active then begin
Form13.ADOTable1.Fields[5].Clear;
Form13.ADOTable1.Fields[5].AsString:=Datetostr(DateTimePicker1.Date);
Form13.ADOTable1.Fields[2].AsInteger:=Form13.ADOTable1.Fields[2].AsInteger-
StrToInt(Edit2.Text);
end;
Form13.ADOTable1.Post;
Form13.ADOTable1.Refresh;
Form9.Edit4.Text:=inttostr(strtoint(Form9.Edit4.Text)+strtoint(Edit2.Text));
Form17.Hide;
end;
procedure TForm17.Button2Click(Sender: TObject);
begin
Form13.ADOTable1.CancelUpdates;
Form13.ADOTable1.Cancel;
Form17.Hide;
end;
procedure TForm17.FormHide(Sender: TObject);
begin
Combobox1.Items.Clear;
Edit2.Clear;
end;
procedure TForm17.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then DateTimePicker1.SetFocus;
end;
procedure TForm17.DateTimePicker1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Edit2.SetFocus;
end;
procedure TForm17.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Ord(key)= 13 then Button1.SetFocus;
end;
procedure TForm17.ComboBox1Select(Sender: TObject);
begin
Form13.ADOTable1.Locate('№ талона пополнения',Combobox1.Text,[]);
end;
end.
Рис. 2.1: Головна форма
Рис. 2.2: Водії
Рис. 2.3: Диспетчери
Рис. 2.4:Автотранспорт
Рис.2.5: Бензин
Рис. 2.6: Форма внесення талону на бензин
Рис. 2.7: Зміни диспетчерів
Рис. 2.8: Денний звіт зі змін диспетчерів
Рис. 2.9: Маршрутні листи
Рис. 2.10: Денний звіт з маршрутних листів
Рис. 2.11: Форма відкриття маршрутного листа
Рис. 2.12: Форма видачі бензина
Рис. 2.13: Форма закриття маршрутного листа
Рис. 2.14: Форма введення нової зміни диспетчера
Рис. 2.15: Форма закриття зміни диспетчера