logo search
Диплом_Лёша

Приложение. Код программы

//АИС «АТП». Работа с БД //модуль авторизация

unit authorization;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, UniProvider, MySQLUniProvider, DB, DBAccess, Uni,

MemDS, Mask, DBCtrlsEh, DBCtrls, IdBaseComponent, IdComponent, IdRawBase,

IdRawClient, IdIcmpClient;

type

Tvhod = class(TForm)

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

Edit2: TEdit;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

UniConnection1: TUniConnection;

UniDataSource1: TUniDataSource;

MySQLUniProvider1: TMySQLUniProvider;

Button1: TButton;

UniTable1: TUniTable;

ComboBox1: TComboBox;

DBEdit1: TDBEdit;

UniQuery1: TUniQuery;

CheckBox1: TCheckBox;

IdIcmpClient1: TIdIcmpClient;

Edit1: TEdit;

procedure BitBtn1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Label2Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

vhod: Tvhod;

implementation

uses main, reg;

{$R *.dfm}

{Кнопка вход. Сам алгоритм авторизации}

//часть алгоритма авторизации. сверяем введенный пароль и вытащенный из бд

procedure Tvhod.BitBtn1Click(Sender: TObject);

begin

//достаем пароль из бд

UniTable1.Active:=false;

UniTable1.TableName:='users';

UniTable1.SQL.Text:='SELECT Password FROM users where Login="'+ComboBox1.Text+'";';

UniTable1.Active:=true;

DBEdit1.DataSource:=UniDataSource1;

DBEdit1.DataField:='Password';

//сравниваем пароль введенный пользователем с вытащенным паролем

if (ComboBox1.Text='') or (Edit2.Text='') then

ShowMessage('Имя пользователя или пароль не могут быть пустыми!')

else begin

if Edit2.Text=DBEdit1.Text then begin

bd.Show;

DBEdit1.DataField:='';

vhod.Visible:=false;

end else

ShowMessage('Имя пользователя или пароль не верны!');

end;

end;

{Выход из программы}

procedure Tvhod.Button1Click(Sender: TObject);

begin

vhod.Close;

end;

{Переход на форму регистрация}

procedure Tvhod.Button2Click(Sender: TObject);

begin

registr.show;

vhod.Hide;

end;

procedure Tvhod.Button3Click(Sender: TObject);

begin

bd.Show;

vhod.Visible:=false;

end;

procedure Tvhod.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked then //Если галочка стоит, то

Edit2.PasswordChar:=#0 //символы будут отображаться

else //иначе

Edit2.PasswordChar:='*';

end;

//часть процедуры авторизации. вытаскиваем пароль из БД

procedure Tvhod.ComboBox1Change(Sender: TObject);

begin

UniTable1.Active:=false;

UniTable1.TableName:='users';

UniTable1.SQL.Text:='SELECT Password FROM users where Login="'+ComboBox1.Text+'";';

UniTable1.Active:=true;

DBEdit1.DataSource:=UniDataSource1;

DBEdit1.DataField:='Password';

end;

{Событие создание формы. Вытаскиваем все логины в комбобокс}

procedure Tvhod.FormCreate(Sender: TObject);

begin

//проверка соединения

IdIcmpClient1.Host:='127.0.0.1';//вместо 127.0.0.1 здесь можно использовать имя "localhost"

IdIcmpClient1.Ping;

Edit1.Text:=(IntToStr(IdIcmpClient1.ReplyStatus.TimeToLive));

with vhod do begin

SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

end;

UniQuery1.Active:=false;

UniQuery1.SQL.Clear; {Очистим SQL запрос}

UniQuery1.SQL.Text:='SELECT login FROM users'; {Выберем поле id из buses}

UniQuery1.Active := True; {Активируем}

UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not UniQuery1.EOF do

begin

Combobox1.Items.Add(UniQuery1.FieldByName('login').AsString); {Заполняем комбобокс значениями}

UniQuery1.Next; {переходим к следующему значению}

end;

//проверка соединения с базой2

if Edit1.Text= '0' then begin

ShowMessage('Соединение с базой данных отсутствует! Приложение будет закрыто!');

end;

end;

procedure Tvhod.Label2Click(Sender: TObject);

begin

bd.Show;

vhod.Visible:=false;

end;

end.

//главная форма

unit main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DBGridEhGrouping, GridsEh, DBGridEh, UniProvider, MySQLUniProvider,

DB, DBAccess, Uni, MemDS, Menus, Grids, DBGrids, ExtCtrls, StdCtrls, DBCtrls,

ComCtrls, Buttons;

type

Tbd = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

Panel1: TPanel;

Edit1: TEdit;

Label1: TLabel;

Button2: TButton;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

CheckBox1: TCheckBox;

N16: TMenuItem;

N17: TMenuItem;

PopupMenu1: TPopupMenu;

N19: TMenuItem;

N20: TMenuItem;

DBNavigator1: TDBNavigator;

Button4: TButton;

Panel2: TPanel;

GroupBox1: TGroupBox;

Button5: TButton;

Label4: TLabel;

N6: TMenuItem;

N18: TMenuItem;

Button6: TButton;

GroupBox2: TGroupBox;

Button7: TButton;

Button8: TButton;

Button9: TButton;

GroupBox3: TGroupBox;

Button10: TButton;

N14: TMenuItem;

GroupBox4: TGroupBox;

Button12: TButton;

Button11: TButton;

Button13: TButton;

GroupBox5: TGroupBox;

Button14: TButton;

Button15: TButton;

GroupBox6: TGroupBox;

Button16: TButton;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

N15: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

N23: TMenuItem;

N24: TMenuItem;

Button1: TButton;

Panel3: TPanel;

BitBtn1: TBitBtn;

N25: TMenuItem;

N26: TMenuItem;

Button17: TButton;

PopupMenu2: TPopupMenu;

N27: TMenuItem;

N28: TMenuItem;

Label5: TLabel;

N29: TMenuItem;

DBGrid1: TDBGrid;

N30: TMenuItem;

N31: TMenuItem;

N32: TMenuItem;

GroupBox7: TGroupBox;

Button18: TButton;

Button19: TButton;

N33: TMenuItem;

Button20: TButton;

ComboBox5: TComboBox;

CheckBox2: TCheckBox;

N34: TMenuItem;

N35: TMenuItem;

Button3: TButton;

Button21: TButton;

Edit2: TEdit;

BitBtn2: TBitBtn;

procedure N1Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure N5Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure N9Click(Sender: TObject);

// procedure Button3Click(Sender: TObject);

procedure Edit1Change(Sender: TObject);

// procedure DBGridEh1CellClick(Column: TColumnEh);

procedure N17Click(Sender: TObject);

procedure N19Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button5MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure GroupBox1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button6MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure N14Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button11MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button13Click(Sender: TObject);

procedure Button13MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button15Click(Sender: TObject);

procedure Button15MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button16Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure N22Click(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure Button17Click(Sender: TObject);

procedure N27Click(Sender: TObject);

procedure N28Click(Sender: TObject);

procedure Label5Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N29Click(Sender: TObject);

procedure N31Click(Sender: TObject);

procedure N32Click(Sender: TObject);

procedure Button18Click(Sender: TObject);

procedure Button19MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Button19Click(Sender: TObject);

procedure N33Click(Sender: TObject);

procedure Button20Click(Sender: TObject);

procedure ComboBox5Select(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure N35Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button21Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

bd: Tbd;

p,t,s:string;

implementation

uses authorization, options, waybill, list, connect, driver_form, route_form, info, spravka, biletlist, bilet_form, bus_form ;

{$R *.dfm}

//---Отображение на панели задач(часть2)---//

procedure Tbd.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

//---Отображение на панели задач(часть2)---//

{Работа с MySql}

//вывод таблицы Водители

procedure Tbd.N4Click(Sender: TObject);

begin

DbGrid1.DataSource:=C.Source_drivers;

DbNavigator1.DataSource:=C.Source_drivers;

bd.Caption:='Водители';

DBGrid1.Align:=alClient;

DBGrid1.Visible:=true;

Panel2.Visible:=false;

Button4.Visible:=true;

n14.Enabled:=true;

n8.Enabled:=true;

Panel3.Visible:=true;

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

DBGrid1.Refresh;

end;

// вывод таблицы ПС

procedure Tbd.N5Click(Sender: TObject);

begin

DbGrid1.DataSource:=C.Source_buses;

DbNavigator1.DataSource:=C.Source_buses;

DBGrid1.Align:=alClient;

DBGrid1.Visible:=true;

Panel2.Visible:=false;

Button4.Visible:=true;

bd.Caption:='Подвижной состав';

n14.Enabled:=true;

n8.Enabled:=true;

Panel3.Visible:=true;

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

DBGrid1.Refresh;

end;

//вывод таблицы Маршруты

procedure Tbd.N11Click(Sender: TObject);

begin

DbGrid1.DataSource:=C.Source_routes;

DbNavigator1.DataSource:=C.Source_routes;

DBGrid1.Align:=alClient;

DBGrid1.Visible:=true;

Panel2.Visible:=false;

Button4.Visible:=true;

bd.Caption:='Маршруты';

n14.Enabled:=true;

n8.Enabled:=true;

Panel3.Visible:=true;

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

DBGrid1.Refresh;

end;

//вывод таблицы Остановки

procedure Tbd.N12Click(Sender: TObject);

begin

DbGrid1.DataSource:=C.Source_busstops;

DbNavigator1.DataSource:=C.Source_busstops;

DBGrid1.Align:=alClient;

DBGrid1.Visible:=true;

Panel2.Visible:=false;

Button4.Visible:=true;

bd.Caption:='Остановки';

n14.Enabled:=true;

n8.Enabled:=true;

Panel3.Visible:=true;

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

DBGrid1.Refresh;

end;

//вывод панели начало работы

procedure Tbd.N14Click(Sender: TObject);

begin

Panel1.Visible:=false;

Panel2.Visible:=true;

Panel3.Visible:=false;

DBNavigator1.Visible:=false;

DBGrid1.Visible:=false;

DBNavigator1.Visible:=false;

Button4.Visible:=false;

n14.Enabled:=false;

n8.Enabled:=false;

end;

procedure Tbd.N15Click(Sender: TObject);

begin

about.Show;

end;

{Кнопочки меню}

//завершение работы пользователя

procedure Tbd.N7Click(Sender: TObject);

begin

//закрываем все формы

BF.Close;

RF.Close;

DF.Close;

WL.Close;

PSF.Close;

waylist.Close;

bilet.Close;

//чистим пароль

vhod.Edit2.Clear;

n14.Click;

bd.Visible:=false;

vhod.Visible:=true;

end;

//переход к новому путевому листу

procedure Tbd.N17Click(Sender: TObject);

begin

waylist.Show;

end;

//вывод таблицы Путевые листы

procedure Tbd.N18Click(Sender: TObject);

begin

Waylist.UniQuery1.Active:=false;

Waylist.UniQuery1.SQL.Clear;

Waylist.UniQuery1.SQL.Text:=('select * From Waylist;');

Waylist.UniQuery1.ExecSQL;

Waylist.UniQuery1.Active:=true;

DbGrid1.DataSource:=Waylist.UniDataSource1;

DbNavigator1.DataSource:=Waylist.UniDataSource1;

bd.Caption:='Путевые листы';

DBGrid1.Align:=alClient;

DBGrid1.Visible:=true;

Panel2.Visible:=false;

Button4.Visible:=true;

n14.Enabled:=true;

Panel3.Visible:=true;

n8.Enabled:=true;

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

DBGrid1.Refresh;

end;

//Сохранять значения панели поиска

procedure Tbd.N19Click(Sender: TObject);

begin

if N19.Checked=true then begin

N19.Checked:=false;

end

else

N19.Checked:=true;

end;

//отобразить панель поиска

procedure Tbd.N8Click(Sender: TObject);

begin

Panel1.Visible:=true;

end;

//показать форму настройки

procedure Tbd.N9Click(Sender: TObject);

begin

nastr.Show;

end;

// событие закрытия формы

procedure Tbd.FormClose(Sender: TObject; var Action: TCloseAction);

begin

n14.Click;

n1.Click;

end;

//скрываем все групбоксы по наведению на групбокс1

procedure Tbd.GroupBox1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox2.Visible:=false;

GroupBox3.Visible:=false;

GroupBox4.Visible:=false;

GroupBox5.Visible:=false;

GroupBox6.Visible:=false;

GroupBox7.Visible:=false;

end;

//подсчитываем количество записей в таблице

procedure Tbd.Label5Click(Sender: TObject);

begin

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

end;

//выход из программы

procedure Tbd.N1Click(Sender: TObject);

begin

//вывод сообщения

case MessageBox(0,'Выйти из программы?', 'Выход из программы', MB_YESNO) of

IDYES:

begin

vhod.Close;

end;

IDNO:

begin

bd.Show;

end;

end;

end;

//заполнение полей из таблицы waylist БД АТР на форме путевой лист форма

procedure Tbd.N20Click(Sender: TObject);

begin

WL.Show;

WL.DBNavigator1.DataSource:=Waylist.UniDataSource1;

Wl.DBComboBox1.DataSource:=Waylist.UniDataSource1;

Wl.DBComboBox1.DataField:='Водитель_1';

Wl.DBComboBox2.DataSource:=Waylist.UniDataSource1;

Wl.DBComboBox2.DataField:='Марка';

Wl.DBComboBox3.DataSource:=Waylist.UniDataSource1;

Wl.DBComboBox3.DataField:='Модель';

Wl.DBComboBox4.DataSource:=Waylist.UniDataSource1;

Wl.DBComboBox4.DataField:='Гос_номер';

Wl.DBComboBox5.DataSource:=Waylist.UniDataSource1;

Wl.DBComboBox5.DataField:='Гараж_номер';

Wl.DBEdit1.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit1.DataField:='Табель_номер';

Wl.DBEdit5.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit5.DataField:='Удостоверение';

Wl.DBEdit3.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit3.DataField:='Билето_учетн_лист';

Wl.DBEdit10.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit10.DataField:='Маршрут';

Wl.DBEdit11.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit11.DataField:='Рег_номер';

Wl.DBEdit12.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit12.DataField:='Серия';

Wl.DBEdit13.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit13.DataField:='Номер';

Wl.DBEdit14.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit14.DataField:='Заказчик';

Wl.DBEdit15.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit15.DataField:='Место_подачи';

Wl.DBEdit16.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit16.DataField:='С_час';

Wl.DBEdit17.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit17.DataField:='С_мин';

Wl.DBEdit18.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit18.DataField:='До_час';

Wl.DBEdit19.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit19.DataField:='До_мин';

Wl.DBEdit20.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit20.DataField:='Выезд_1_расп';

Wl.DBEdit21.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit21.DataField:='Возврат_1_расп';

Wl.DBEdit22.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit22.DataField:='Выезд_2_расп';

Wl.DBEdit23.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit23.DataField:='Возврат_2_расп';

Wl.DBEdit107.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit107.DataField:='Выезд_1_факт';

Wl.DBEdit108.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit108.DataField:='Возврат_1_факт';

Wl.DBEdit109.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit109.DataField:='Выезд_2_факт';

Wl.DBEdit110.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit110.DataField:='Возврат_2_факт';

Wl.DBEdit24.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit24.DataField:='Остаток_выезд';

Wl.DBEdit25.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit25.DataField:='Топливо_выдано';

Wl.DBEdit26.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit26.DataField:='Остаток_возвр';

Wl.DBEdit27.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit27.DataField:='Масло';

Wl.DBEdit28.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit28.DataField:='Расход_норм_1';

Wl.DBEdit30.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit30.DataField:='Расход_факт_1';

Wl.DBEdit32.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit32.DataField:='Эконом_1';

Wl.DBEdit34.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit34.DataField:='Перерасх_1';

Wl.DBEdit36.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit36.DataField:='Выручка_план_1';

Wl.DBEdit39.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit39.DataField:='Выручка_факт_1';

Wl.DBEdit42.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit42.DataField:='Пробег_общ_1';

Wl.DBEdit43.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit43.DataField:='Пробег_пасс_1';

Wl.DBEdit44.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit44.DataField:='Пробег_маршр_1';

Wl.DBEdit45.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit45.DataField:='Пробег_маршр_2';

Wl.DBEdit46.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit46.DataField:='Пробег_заказ';

Wl.DBEdit57.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit57.DataField:='Часы_работы';

Wl.DBEdit58.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit58.DataField:='Часы_движ';

Wl.DBEdit59.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit59.DataField:='Часы_линия';

Wl.DBEdit60.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit60.DataField:='Часы_заказ';

Wl.DBEdit61.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit61.DataField:='Часы_прост';

Wl.DBEdit62.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit61.DataField:='Часы_план_резерв';

Wl.DBEdit63.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit63.DataField:='Часы_неплан_резерв';

Wl.DBEdit64.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit64.DataField:='Часы_прост_заказ';

Wl.DBEdit65.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit65.DataField:='Часы_ремонт';

Wl.DBEdit87.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit87.DataField:='Ночь_1';

Wl.DBEdit88.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit88.DataField:='Нуль_1';

Wl.DBEdit90.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit90.DataField:='Рейсы_план';

Wl.DBEdit91.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit91.DataField:='Рейсы_выполн';

Wl.DBEdit99.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit99.DataField:='Организация';

Wl.DBEdit100.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit100.DataField:='ОКПО';

Wl.DBEdit101.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit101.DataField:='Адрес';

Wl.DBEdit102.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit102.DataField:='Телефон';

Wl.DBEdit103.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit103.DataField:='Механик';

Wl.DBEdit104.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit104.DataField:='Принял_водитель';

Wl.DBEdit105.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit105.DataField:='id';

Wl.DBEdit106.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit106.DataField:='id_№';

Wl.DBEdit38.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit38.DataField:='Выручка_всего';

Wl.DBEdit41.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit41.DataField:='Выручка_всего_факт';

Wl.DBEdit48.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit48.DataField:='Пробег_всего';

Wl.DBEdit49.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit49.DataField:='Пробег_пасс_всего';

Wl.DBEdit50.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit50.DataField:='Пробег_марш_1_всего';

Wl.DBEdit51.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit51.DataField:='Пробег_марш_2_всего';

Wl.DBEdit52.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit52.DataField:='Пробег_заказ_всего';

Wl.DBEdit77.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit77.DataField:='Часы_всего';

Wl.DBEdit78.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit78.DataField:='Часы_движ_всего';

Wl.DBEdit79.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit79.DataField:='Часы_линия_всего';

Wl.DBEdit80.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit80.DataField:='Часы_заказ_всего';

Wl.DBEdit81.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit81.DataField:='Часы_прост_всего';

Wl.DBEdit82.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit82.DataField:='Часы_план_резерв_всего';

Wl.DBEdit83.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit83.DataField:='Часы_неплан_резерв_всего';

Wl.DBEdit84.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit84.DataField:='Часы_прост_зак_всего';

Wl.DBEdit85.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit85.DataField:='Часы_ремонт_всего';

Wl.DBEdit95.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit95.DataField:='Ночь_всего';

Wl.DBEdit96.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit96.DataField:='Нуль_всего';

Wl.DBEdit97.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit97.DataField:='Рейсы_план_всего';

Wl.DBEdit98.DataSource:=Waylist.UniDataSource1;

Wl.DBEdit98.DataField:='Рейсы_выполн_всего';

end;

procedure Tbd.N22Click(Sender: TObject);

begin

//poLandscape; //альбомная ориентация

PrintScale:=poPrintToFit; //подгон размера

Print; //печать

end;

procedure Tbd.N24Click(Sender: TObject);

begin

DF.show;

end;

procedure Tbd.N25Click(Sender: TObject);

begin

RF.show;

end;

procedure Tbd.N27Click(Sender: TObject);

begin

BitBtn1.Click;

end;

procedure Tbd.N28Click(Sender: TObject);

begin

//

end;

//отображение формы справки

procedure Tbd.N29Click(Sender: TObject);

begin

help.Show;

end;

//переход на форму создания билето-учетного листа

procedure Tbd.N31Click(Sender: TObject);

begin

bilet.Show;

end;

//вывод таблицы Билетно-учетный лист

procedure Tbd.N32Click(Sender: TObject);

begin

DbGrid1.DataSource:=C.Source_bilet;

DbNavigator1.DataSource:=C.Source_bilet;

bd.Caption:='Билетно-учетный лист';

DBGrid1.Align:=alClient;

DBGrid1.Visible:=true;

Panel2.Visible:=false;

Button4.Visible:=true;

n14.Enabled:=true;

n8.Enabled:=true;

Panel3.Visible:=true;

Label5.Caption:='Записей '+(IntToStr(DbGrid1.DataSource.DataSet.RecordCount));

DBGrid1.Refresh;

end;

procedure Tbd.N33Click(Sender: TObject);

begin

BF.Show;

end;

procedure Tbd.N35Click(Sender: TObject);

begin

PSF.Show;

end;

procedure Tbd.BitBtn1Click(Sender: TObject);

begin

if DbGrid1.DataSource=C.Source_drivers then begin

N24.Click;

end

else if

DbGrid1.DataSource=Waylist.UniDataSource1 then begin

N20.Click;

end

else if

DbGrid1.DataSource=C.Source_routes then begin

N25.Click;

end

else if

DbGrid1.DataSource=C.Source_bilet then begin

N33.Click;

end

else if

DbGrid1.DataSource=C.Source_buses then begin

N35.Click;

end

else

end;

//выпонить sql-запрос

procedure Tbd.BitBtn2Click(Sender: TObject);

var sql:string;

begin

if Edit2.Text<>'' then

begin

C.UniQuery1.Active:=false;

sql := Edit2.text;

C.UniQuery1.SQL.Text:= '' + sql + '';

C.UniQuery1.Execute;

C.UniQuery1.Active:=true;

DBGrid1.DataSource:=C.UniDataSource1;

DBNavigator1.DataSource:=C.UniDataSource1;

end

else begin

end;

end;

procedure Tbd.Button10Click(Sender: TObject);

begin

N4.Click;

end;

procedure Tbd.Button11Click(Sender: TObject);

begin

N5.Click;

end;

procedure Tbd.Button11MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox4.Visible:=true;

end;

procedure Tbd.Button12Click(Sender: TObject);

begin

N5.Click;

end;

procedure Tbd.Button14Click(Sender: TObject);

begin

N11.Click;

end;

procedure Tbd.Button13Click(Sender: TObject);

begin

N11.Click;

end;

procedure Tbd.Button13MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox5.Visible:=true;

end;

procedure Tbd.Button15Click(Sender: TObject);

begin

N12.Click;

end;

procedure Tbd.Button15MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox6.Visible:=true;

end;

procedure Tbd.Button16Click(Sender: TObject);

begin

N12.Click;

end;

procedure Tbd.Button17Click(Sender: TObject);

begin

N25.Click;

end;

procedure Tbd.Button18Click(Sender: TObject);

begin

N32.Click;

end;

procedure Tbd.Button19Click(Sender: TObject);

begin

N32.Click;

end;

procedure Tbd.Button19MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox7.Visible:=true;

end;

procedure Tbd.Button1Click(Sender: TObject);

begin

N4.Click;

N24.Click;

end;

{Панель поиска}

//скрыть панель поиска

procedure Tbd.Button20Click(Sender: TObject);

begin

N33.Click;

end;

//открыть форму новый путевой лист

procedure Tbd.Button21Click(Sender: TObject);

begin

N31.Click;

end;

procedure Tbd.Button2Click(Sender: TObject);

begin

//if N19.Checked=false then begin

Panel1.Visible:=false;

Edit1.Text:='';

//Edit2.Text:='';

//Edit3.Text:='';

//end

//else

//Panel1.Visible:=false;

end;

procedure Tbd.Button3Click(Sender: TObject);

begin

N35.Click;

end;

//Вывод дополнительных параметров поиска

procedure Tbd.CheckBox1Click(Sender: TObject);

begin

s:='ASC';//задаем умолчание возрастание

if Checkbox1.Checked then begin

Panel1.Height:=150;

Button2.Height:=149;

end

else begin

Panel1.Height:=89;

Button2.Height:=88;

end;

if ComboBox1.ItemIndex=0 then begin

C.Table_drivers.First; //Укажем на первую запись

ComboBox5.Items.Clear; //Очищаем значения ComboBox

While not C.Table_drivers.Eof do //Выполнять пока не будет конец таблицы

begin

C.Table_drivers.Fields.GetFieldNames(ComboBox5.Items); //Заполняем комбобокс значениями

C.Table_drivers.Next;

end;

t:='busdriver';

end;

if ComboBox1.ItemIndex=1 then begin

C.Table_buses.First; //Укажем на первую запись

ComboBox5.Items.Clear; //Очищаем значения ComboBox

While not C.Table_buses.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_buses.Fields.GetFieldNames(ComboBox5.Items); //Заполняем комбобокс значениями

C.Table_buses.Next;

end;

t:='buses';

end;

if ComboBox1.ItemIndex=2 then begin

C.Table_routes.First; //Укажем на первую запись

ComboBox5.Items.Clear; //Очищаем значения ComboBox

While not C.Table_routes.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_routes.Fields.GetFieldNames(ComboBox5.Items); //Заполняем комбобокс значениями

C.Table_routes.Next;

end;

t:='routes';

end;

if ComboBox1.ItemIndex=3 then begin

C.Table_busstops.First; //Укажем на первую запись

ComboBox5.Items.Clear; //Очищаем значения ComboBox

While not C.Table_busstops.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_busstops.Fields.GetFieldNames(ComboBox5.Items); //Заполняем комбобокс значениями

C.Table_busstops.Next;

end;

t:='busstops';

end;

if ComboBox1.ItemIndex=4 then begin

Waylist.UniTable1.First; //Укажем на первую запись

ComboBox5.Items.Clear; //Очищаем значения ComboBox

While not Waylist.UniTable1.EOF do //Выполнять пока не будет конец таблицы

begin

Waylist.UniTable1.Fields.GetFieldNames(ComboBox5.Items); //Заполняем комбобокс значениями

Waylist.UniTable1.Next;

end;

t:='waylist';

end;

if ComboBox1.ItemIndex=5 then begin

C.Table_bilet.First; //Укажем на первую запись

ComboBox5.Items.Clear; //Очищаем значения ComboBox

While not C.Table_bilet.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_bilet.Fields.GetFieldNames(ComboBox5.Items); //Заполняем комбобокс значениями

C.Table_bilet.Next;

end;

t:='bilet';

end;

//if (ComboBox1.Text='Подвижной состав') and (Checkbox1.Checked=true) then begin

//GroupBox3.Visible:=true;

//GroupBox4.Visible:=false;

//GroupBox5.Visible:=false;

//GroupBox6.Visible:=false;

//GroupBox7.Visible:=false;

//end

//else

//if ComboBox1.Text='Водители' then begin

//GroupBox3.Visible:=false;

//GroupBox4.Visible:=true;

//GroupBox5.Visible:=false;

//GroupBox6.Visible:=false;

//GroupBox7.Visible:=false;

//end

//else

//if ComboBox1.Text='Маршруты' then begin

//GroupBox3.Visible:=false;

//GroupBox4.Visible:=false;

//GroupBox5.Visible:=true;

//GroupBox6.Visible:=false;

//GroupBox7.Visible:=false;

//end

//else

//if ComboBox1.Text='Остановки' then begin

//GroupBox3.Visible:=false;

//GroupBox4.Visible:=false;

//GroupBox5.Visible:=false;

//GroupBox6.Visible:=true;

//GroupBox7.Visible:=false;

//end

//else

//if ComboBox1.Text='Билето-учетные листы' then begin

//GroupBox3.Visible:=false;

//GroupBox4.Visible:=false;

//GroupBox5.Visible:=false;

//GroupBox6.Visible:=false;

//GroupBox7.Visible:=true;

//end

end;

procedure Tbd.CheckBox2Click(Sender: TObject);

begin

if checkbox2.Checked=true then

begin

s:='DESC';

end

else begin

s:='ASC';

end;

end;

procedure Tbd.ComboBox1Change(Sender: TObject);

begin

if ComboBox1.ItemIndex=0 then begin

C.Table_drivers.First; //Укажем на первую запись

ComboBox2.Items.Clear; //Очищаем значения ComboBox

While not C.Table_drivers.Eof do //Выполнять пока не будет конец таблицы

begin

C.Table_drivers.Fields.GetFieldNames(ComboBox2.Items); //Заполняем комбобокс значениями

C.Table_drivers.Next;

end;

t:='busdriver';

end;

if ComboBox1.ItemIndex=1 then begin

C.Table_buses.First; //Укажем на первую запись

ComboBox2.Items.Clear; //Очищаем значения ComboBox

While not C.Table_buses.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_buses.Fields.GetFieldNames(ComboBox2.Items); //Заполняем комбобокс значениями

C.Table_buses.Next;

end;

t:='buses';

end;

if ComboBox1.ItemIndex=2 then begin

C.Table_routes.First; //Укажем на первую запись

ComboBox2.Items.Clear; //Очищаем значения ComboBox

While not C.Table_routes.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_routes.Fields.GetFieldNames(ComboBox2.Items); //Заполняем комбобокс значениями

C.Table_routes.Next;

end;

t:='routes';

end;

if ComboBox1.ItemIndex=3 then begin

C.Table_busstops.First; //Укажем на первую запись

ComboBox2.Items.Clear; //Очищаем значения ComboBox

While not C.Table_busstops.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_busstops.Fields.GetFieldNames(ComboBox2.Items); //Заполняем комбобокс значениями

C.Table_busstops.Next;

end;

t:='busstops';

end;

if ComboBox1.ItemIndex=4 then begin

Waylist.UniTable1.First; //Укажем на первую запись

ComboBox2.Items.Clear; //Очищаем значения ComboBox

While not Waylist.UniTable1.EOF do //Выполнять пока не будет конец таблицы

begin

Waylist.UniTable1.Fields.GetFieldNames(ComboBox2.Items); //Заполняем комбобокс значениями

Waylist.UniTable1.Next;

end;

t:='waylist';

end;

if ComboBox1.ItemIndex=5 then begin

C.Table_bilet.First; //Укажем на первую запись

ComboBox2.Items.Clear; //Очищаем значения ComboBox

While not C.Table_bilet.EOF do //Выполнять пока не будет конец таблицы

begin

C.Table_bilet.Fields.GetFieldNames(ComboBox2.Items); //Заполняем комбобокс значениями

C.Table_bilet.Next;

end;

t:='bilet';

end;

//cкрываем сортировку

Panel1.Height:=89;

Button2.Height:=88;

CheckBox1.Checked:=false;

end;

//сортировка

procedure Tbd.ComboBox5Select(Sender: TObject);

begin

C.UniQuery1.Active:=false; //Деактивируем

C.UniQuery1.SQL.Text:='SELECT * FROM `"'+t+'"` order by `"'+Combobox5.Text+'"` '+s+'';//Делаем запрос на сортировку всех записей

C.UniQuery1.Active:=true;

DBGrid1.DataSource:=C.UniDataSource1;

DBNavigator1.DataSource:=C.UniDataSource1;

end;

//добавление * к имени окна

//procedure Tbd.DBGridEh1CellClick(Column: TColumnEh);

//var a,b:string;

//begin

//a:=bd.Caption;

//b:=a+'*';

//if a=b then begin

//end

//else begin

//bd.Caption:=a+'*';

//end;

//

//end;

//поиск

procedure Tbd.Edit1Change(Sender: TObject);

var a:string;

begin

if Edit1.Text='' then begin

end

else begin

A:=edit1.Text;

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Clear;

C.UniQuery1.SQL.Text:='select * From '+t+' where '+t+'.'+ComboBox2.Text+' like '+quotedstr('%'+a+'%')+'';

C.UniQuery1.ExecSQL;

C.UniQuery1.Active:=true;

DBGrid1.DataSource:=C.UniDataSource1;

end;

end;

//задание параметров поиска

//procedure Tbd.Button3Click(Sender: TObject);

//begin

//if (Edit3.Text='') or (Edit2.Text='') then

//begin

// ShowMessage('Вы задали не все параметры поиска!');

//end

//else begin

//p:=Edit3.Text;

//t:=edit2.Text;

//Edit1.Enabled:=true;

//end;

//end;

//кнопка сворачивания навигатора по таблице

procedure Tbd.Button4Click(Sender: TObject);

begin

if DBNavigator1.Visible=true then

begin

DBNavigator1.Visible:=false;

Button4.Caption:='|Навигатор|';

end

else begin

DBNavigator1.Visible:=true;

Button4.Caption:='^Навигатор^';

end;

end;

procedure Tbd.Button5Click(Sender: TObject);

begin

N18.Click;

end;

procedure Tbd.Button5MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox2.Visible:=true;

end;

procedure Tbd.Button6Click(Sender: TObject);

begin

N4.Click;

end;

procedure Tbd.Button6MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

GroupBox3.Visible:=true;

end;

procedure Tbd.Button7Click(Sender: TObject);

begin

N17.Click;

end;

procedure Tbd.Button8Click(Sender: TObject);

begin

N20.Click;

end;

procedure Tbd.Button9Click(Sender: TObject);

begin

N18.Click;

end;

end.

//модуль новый билетно-учетный лист

unit Biletlist;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type

TBilet = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Edit2: TEdit;

Label2: TLabel;

ComboBox1: TComboBox;

Label3: TLabel;

ComboBox2: TComboBox;

Label4: TLabel;

Edit3: TEdit;

GroupBox1: TGroupBox;

Label5: TLabel;

ComboBox3: TComboBox;

Label6: TLabel;

Edit4: TEdit;

Label7: TLabel;

Edit5: TEdit;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Edit6: TEdit;

Edit7: TEdit;

GroupBox2: TGroupBox;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

ComboBox4: TComboBox;

Edit8: TEdit;

Edit9: TEdit;

Edit10: TEdit;

Edit11: TEdit;

Label17: TLabel;

GroupBox3: TGroupBox;

ComboBox5: TComboBox;

ComboBox6: TComboBox;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Edit12: TEdit;

Edit13: TEdit;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Edit16: TEdit;

Edit17: TEdit;

Label27: TLabel;

Edit18: TEdit;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit24: TEdit;

Edit25: TEdit;

Edit26: TEdit;

Label28: TLabel;

Label29: TLabel;

Edit27: TEdit;

Label30: TLabel;

Button3: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ComboBox3Change(Sender: TObject);

procedure ComboBox4Change(Sender: TObject);

procedure Edit18Enter(Sender: TObject);

procedure Edit25Enter(Sender: TObject);

procedure Edit12Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Edit6Click(Sender: TObject);

procedure Edit19Click(Sender: TObject);

procedure Edit10Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

Bilet: TBilet;

implementation

uses main, connect;

{$R *.dfm}

//передаем ФИО водителя1 в следующую хрень

procedure TBilet.ComboBox3Change(Sender: TObject);

begin

Combobox5.Text:=Combobox3.Text;

end;

//передаем ФИО водителя2 в следующую хрень

procedure TBilet.ComboBox4Change(Sender: TObject);

begin

ComboBox6.Text:=Combobox4.Text;

end;

//---Отображение на панели задач(часть2)---//

procedure Tbilet.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

//подсчет нормы выручки водителя2

procedure TBilet.Edit10Click(Sender: TObject);

var x:integer;

begin

if (Edit26.Text<>'') and (Edit19.Text<>'')then

begin

x:=StrToInt(Edit26.Text)*StrToInt(Edit19.Text);

Edit10.Text:=IntToStr(x);

end

else

end;

//подсчет количества полученных билетов водитель1

procedure TBilet.Edit12Click(Sender: TObject);

var

a,b: integer;

begin

if Edit5.Text<>'' then begin

a:=StrToInt(Edit5.Text);

b:=StrToInt(Edit4.Text);

Edit12.Text:=IntToStr(a-b);

end

else begin

Edit12.Clear;

end;

end;

//подсчет выручки проданных билетов водителя1

procedure TBilet.Edit18Enter(Sender: TObject);

var x:integer;

begin

if (Edit15.Text<>'') and (Edit14.Text<>'')then

begin

x:=(StrToInt(Edit15.Text)*StrToInt(Edit26.Text))+StrToInt(Edit14.Text);

Edit18.Text:=IntToStr(x);

end

else

end;

//подсчет количества полученных билетов водитель2

procedure TBilet.Edit19Click(Sender: TObject);

var

a,b: integer;

begin

if Edit9.Text<>'' then begin

a:=StrToInt(Edit9.Text);

b:=StrToInt(Edit8.Text);

Edit19.Text:=IntToStr(a-b);

end

else begin

Edit19.Clear;

end;

end;

//подсчет выручки проданных билетов водителя2

procedure TBilet.Edit25Enter(Sender: TObject);

var x:integer;

begin

if (Edit21.Text<>'') and (Edit22.Text<>'')then

begin

x:=(StrToInt(Edit21.Text)*StrToInt(Edit26.Text))+StrToInt(Edit22.Text);

Edit25.Text:=IntToStr(x);

end

else

end;

//подсчет нормы выручки водителя1

procedure TBilet.Edit6Click(Sender: TObject);

var x:integer;

begin

if (Edit26.Text<>'') and (Edit12.Text<>'')then

begin

x:=StrToInt(Edit26.Text)*StrToInt(Edit12.Text);

Edit6.Text:=IntToStr(x);

end

else

end;

//chtate

procedure TBilet.FormCreate(Sender: TObject);

begin

// выбор борт_номера

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Clear;

C.UniQuery1.SQL.Text:='SELECT борт_номер FROM buses';

C.UniQuery1.Active := True;

C.UniQuery1.First;

While not C.UniQuery1.EOF do

begin

Combobox1.Items.Add(C.UniQuery1.FieldByName('борт_номер').AsString);

C.UniQuery1.Next;

end;

// выбор табельного номера водителя

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Clear;

C.UniQuery1.SQL.Text:='SELECT табельный_номер FROM busdriver';

C.UniQuery1.Active := True;

C.UniQuery1.First;

While not C.UniQuery1.EOF do

begin

Combobox2.Items.Add(C.UniQuery1.FieldByName('табельный_номер').AsString);

C.UniQuery1.Next;

end;

// выбор ФИО водителя

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Clear;

C.UniQuery1.SQL.Text:='SELECT ФИО FROM busdriver';

C.UniQuery1.Active := True;

C.UniQuery1.First;

While not C.UniQuery1.EOF do

begin

Combobox3.Items.Add(C.UniQuery1.FieldByName('ФИО').AsString);

C.UniQuery1.Next;

end;

// выбор ФИО водителя 2

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Clear;

C.UniQuery1.SQL.Text:='SELECT ФИО FROM busdriver';

C.UniQuery1.Active := True;

C.UniQuery1.First;

While not C.UniQuery1.EOF do

begin

Combobox4.Items.Add(C.UniQuery1.FieldByName('ФИО').AsString);

C.UniQuery1.Next;

end;

end;

//отправка данных в таблицу

procedure TBilet.Button1Click(Sender: TObject);

begin

C.Table_bilet.Active:=true;

C.Table_bilet.SQL.Text:='SELECT * FROM bilet';

C.Table_bilet.Open;

C.Table_bilet.Insert;

// вставили новую запись в таблицу..

C.Table_bilet.FieldByName('id').AsString:=Edit1.Text;

C.Table_bilet.FieldByName('Стоимость_билета').AsString:=Edit26.Text;

C.Table_bilet.FieldByName('Дата оформления').AsString:=Edit2.Text;

C.Table_bilet.FieldByName('Машина№').AsString:=Combobox1.Text;

C.Table_bilet.FieldByName('Водитель№').AsString:=Combobox2.Text;

C.Table_bilet.FieldByName('Маршрут№').AsString:=Edit3.Text;

C.Table_bilet.FieldByName('ФИО_водителя_1').AsString:=Combobox3.Text;

C.Table_bilet.FieldByName('Билеты_с_1').AsString:=Edit4.Text;

C.Table_bilet.FieldByName('Билеты_до_1').AsString:=Edit5.Text;

C.Table_bilet.FieldByName('Выручка_абонемент_1').AsString:=Edit6.Text;

C.Table_bilet.FieldByName('Выручка_проездной_1').AsString:=Edit7.Text;

C.Table_bilet.FieldByName('Получено_аб_1').AsString:=Edit12.Text;

C.Table_bilet.FieldByName('Получено_пр_1').AsString:=Edit13.Text;

C.Table_bilet.FieldByName('Продано_аб_1').AsString:=Edit15.Text;

C.Table_bilet.FieldByName('Продано_пр_1').AsString:=Edit14.Text;

C.Table_bilet.FieldByName('Передано_аб_1').AsString:=Edit17.Text;

C.Table_bilet.FieldByName('Передано_пр_1').AsString:=Edit16.Text;

C.Table_bilet.FieldByName('Выручка_1').AsString:=Edit18.Text;

C.Table_bilet.FieldByName('ФИО_водителя_2').AsString:=Combobox4.Text;

C.Table_bilet.FieldByName('Билеты_с_2').AsString:=Edit8.Text;

C.Table_bilet.FieldByName('Билеты_до_2').AsString:=Edit9.Text;

C.Table_bilet.FieldByName('Выручка_абонемент_2').AsString:=Edit10.Text;

C.Table_bilet.FieldByName('Выручка_проездной_2').AsString:=Edit11.Text;

C.Table_bilet.FieldByName('Получено_аб_2').AsString:=Edit19.Text;

C.Table_bilet.FieldByName('Получено_пр_2').AsString:=Edit20.Text;

C.Table_bilet.FieldByName('Продано_аб_2').AsString:=Edit21.Text;

C.Table_bilet.FieldByName('Продано_пр_2').AsString:=Edit22.Text;

C.Table_bilet.FieldByName('Передано_аб_2').AsString:=Edit23.Text;

C.Table_bilet.FieldByName('Передано_пр_2').AsString:=Edit24.Text;

C.Table_bilet.FieldByName('Выручка_2').AsString:=Edit25.Text;

C.Table_bilet.FieldByName('Кассир').AsString:=Edit27.Text;

// отправляем данные в таблицу

C.Table_bilet.Post;

//подготовка печати

PrintScale:=poPrintToFit; //подгон размера

Print; //печать

//чистим поля для последующей работы

Edit1.clear;

Edit26.clear;

Edit2.clear;

//Combobox1.clear;

//Combobox2.clear;

Edit3.clear;

//Combobox3.clear;

Edit4.clear;

Edit5.clear;

Edit6.clear;

Edit7.clear;

Edit12.clear;

Edit13.clear;

Edit15.clear;

Edit14.clear;

Edit17.clear;

Edit16.clear;

Edit18.clear;

Edit27.clear;

end;

//закрытие формы

procedure TBilet.Button2Click(Sender: TObject);

begin

if

(Edit1.Text='') and

(Edit26.Text='')and

(Edit2.Text='') and

(Edit3.Text='') and

(Edit4.Text='') and

(Edit5.Text='') and

(Edit6.Text='') and

(Edit7.Text='') and

(Edit12.Text='') and

(Edit13.Text='') and

(Edit15.Text='') and

(Edit14.Text='') and

(Edit17.Text='') and

(Edit16.Text='') and

(Edit18.Text='') and

(Edit27.Text='')

then begin

bilet.Close;

end

else begin

case MessageBox(0,'Есть несохраненные изменения.Закрыть окно?', 'Закрыть окно?', MB_YESNO) of

IDYES:

begin

bilet.Close;

end;

IDNO:

begin

end;

end;

end;

end;

//сегодняшняя дата

procedure TBilet.Button3Click(Sender: TObject);

begin

Edit2.Text:=DateToStr(NOW);

end;

end.

//модуль формы билетно-учетного листа

unit bilet_form;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls,

Vcl.ExtCtrls, Vcl.Buttons;

type

TBF = class(TForm)

Label1: TLabel;

Label28: TLabel;

Label30: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

GroupBox1: TGroupBox;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

GroupBox2: TGroupBox;

Label11: TLabel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Label17: TLabel;

GroupBox3: TGroupBox;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

Label29: TLabel;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit;

DBEdit9: TDBEdit;

DBEdit10: TDBEdit;

DBEdit11: TDBEdit;

DBEdit12: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

DBEdit15: TDBEdit;

DBEdit16: TDBEdit;

DBEdit17: TDBEdit;

DBEdit18: TDBEdit;

DBEdit19: TDBEdit;

DBEdit20: TDBEdit;

DBEdit21: TDBEdit;

DBEdit22: TDBEdit;

DBEdit23: TDBEdit;

DBEdit24: TDBEdit;

DBEdit25: TDBEdit;

DBEdit26: TDBEdit;

DBEdit27: TDBEdit;

DBEdit28: TDBEdit;

DBEdit29: TDBEdit;

DBComboBox1: TDBComboBox;

DBComboBox2: TDBComboBox;

DBComboBox3: TDBComboBox;

DBComboBox4: TDBComboBox;

Panel3: TPanel;

BitBtn1: TBitBtn;

DBNavigator1: TDBNavigator;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

BF: TBF;

implementation

uses connect, main;

{$R *.dfm}

//возврат к таблице

procedure TBF.BitBtn1Click(Sender: TObject);

begin

bd.N32.Click;

bd.Show;

close;

end;

end.

//модуль формы ПС

unit bus_form;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls,

Vcl.ExtCtrls, Vcl.Buttons;

type

TPSF = class(TForm)

DBEdit1: TDBEdit;

Label1: TLabel;

Label2: TLabel;

DBEdit2: TDBEdit;

Label3: TLabel;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

Label4: TLabel;

DBEdit5: TDBEdit;

Label5: TLabel;

DBEdit6: TDBEdit;

Label6: TLabel;

Panel3: TPanel;

BitBtn1: TBitBtn;

DBNavigator1: TDBNavigator;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

PSF: TPSF;

implementation

uses main, connect;

{$R *.dfm}

procedure TPSF.BitBtn1Click(Sender: TObject);

begin

bd.N5.Click;

bd.Show;

close;

end;

end.

//модуль соединение с БД (скрытый модуль)

unit connect;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, Uni, DB, MemDS, DBAccess,

UniProvider, MySQLUniProvider;

type

TC = class(TForm)

UniConnection1: TUniConnection;

UniDataSource1: TUniDataSource;

MySQLUniProvider1: TMySQLUniProvider;

UniQuery1: TUniQuery;

Table_drivers: TUniTable;

Source_drivers: TUniDataSource;

Table_buses: TUniTable;

Source_buses: TUniDataSource;

Table_routes: TUniTable;

Source_routes: TUniDataSource;

Table_busstops: TUniTable;

Source_busstops: TUniDataSource;

Table_bilet: TUniTable;

Source_bilet: TUniDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

var

C: TC;

implementation

{$R *.dfm}

end.

//модуль формы водители

unit driver_form;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, Buttons, ComCtrls;

type

TDF = class(TForm)

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Panel3: TPanel;

BitBtn1: TBitBtn;

DBEdit9: TDBEdit;

DBNavigator1: TDBNavigator;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

DF: TDF;

implementation

uses connect, main;

{$R *.dfm}

procedure TDF.BitBtn1Click(Sender: TObject);

begin

bd.N4.Click;

bd.Show;

close;

end;

procedure TDF.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

end.

//модуль о программе

unit Info;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, jpeg, StdCtrls;

type

Tabout = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label6: TLabel;

procedure Label6Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

about: Tabout;

implementation

{$R *.dfm}

procedure Tabout.FormCreate(Sender: TObject);

begin

with about do

SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

end;

procedure Tabout.Label6Click(Sender: TObject);

begin

close;

end;

end.

//модуль формы путевой лист

unit list;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Uni, UniProvider, MySQLUniProvider, DB, DBAccess, MemDS, Mask,

DBCtrlsEh, StdCtrls, DBCtrls, ExtCtrls, Buttons, ComCtrls;

type

TWL = class(TForm)

Label4: TLabel;

Label5: TLabel;

Label39: TLabel;

GroupBox1: TGroupBox;

Label8: TLabel;

Label1: TLabel;

Label11: TLabel;

Label12: TLabel;

Label14: TLabel;

Label10: TLabel;

GroupBox2: TGroupBox;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

GroupBox3: TGroupBox;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

Label38: TLabel;

Label40: TLabel;

Label41: TLabel;

Label42: TLabel;

Label43: TLabel;

Label44: TLabel;

Label45: TLabel;

Label46: TLabel;

Label47: TLabel;

Label48: TLabel;

Label49: TLabel;

Edit34: TEdit;

GroupBox4: TGroupBox;

Label50: TLabel;

Label51: TLabel;

Label52: TLabel;

Label53: TLabel;

Label54: TLabel;

Label55: TLabel;

Label56: TLabel;

Label57: TLabel;

Label58: TLabel;

Label59: TLabel;

Label60: TLabel;

Label61: TLabel;

GroupBox5: TGroupBox;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label68: TLabel;

Label69: TLabel;

Label70: TLabel;

Label71: TLabel;

Label72: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label76: TLabel;

Label77: TLabel;

Label78: TLabel;

Label2: TLabel;

Label3: TLabel;

Label6: TLabel;

Label7: TLabel;

Label9: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

ComboBox5: TComboBox;

ComboBox6: TComboBox;

ComboBox7: TComboBox;

Label22: TLabel;

Panel1: TPanel;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit3: TDBEdit;

DBEdit8: TDBEdit;

DBEdit9: TDBEdit;

DBEdit10: TDBEdit;

DBEdit11: TDBEdit;

DBEdit12: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

DBEdit15: TDBEdit;

DBEdit16: TDBEdit;

DBEdit17: TDBEdit;

DBEdit18: TDBEdit;

DBEdit19: TDBEdit;

DBEdit20: TDBEdit;

DBEdit21: TDBEdit;

DBEdit22: TDBEdit;

DBEdit23: TDBEdit;

DBEdit24: TDBEdit;

DBEdit25: TDBEdit;

DBEdit26: TDBEdit;

DBEdit27: TDBEdit;

DBEdit28: TDBEdit;

DBEdit29: TDBEdit;

DBEdit30: TDBEdit;

DBEdit31: TDBEdit;

DBEdit32: TDBEdit;

DBEdit33: TDBEdit;

DBEdit34: TDBEdit;

DBEdit35: TDBEdit;

DBEdit36: TDBEdit;

DBEdit37: TDBEdit;

DBEdit38: TDBEdit;

DBEdit39: TDBEdit;

DBEdit40: TDBEdit;

DBEdit41: TDBEdit;

DBEdit42: TDBEdit;

DBEdit43: TDBEdit;

DBEdit44: TDBEdit;

DBEdit45: TDBEdit;

DBEdit46: TDBEdit;

DBEdit48: TDBEdit;

DBEdit49: TDBEdit;

DBEdit50: TDBEdit;

DBEdit51: TDBEdit;

DBEdit52: TDBEdit;

DBEdit47: TDBEdit;

DBEdit53: TDBEdit;

DBEdit54: TDBEdit;

DBEdit55: TDBEdit;

DBEdit56: TDBEdit;

DBEdit57: TDBEdit;

DBEdit58: TDBEdit;

DBEdit59: TDBEdit;

DBEdit60: TDBEdit;

DBEdit61: TDBEdit;

DBEdit62: TDBEdit;

DBEdit63: TDBEdit;

DBEdit64: TDBEdit;

DBEdit65: TDBEdit;

DBEdit67: TDBEdit;

DBEdit68: TDBEdit;

DBEdit69: TDBEdit;

DBEdit70: TDBEdit;

DBEdit71: TDBEdit;

DBEdit72: TDBEdit;

DBEdit73: TDBEdit;

DBEdit74: TDBEdit;

DBEdit75: TDBEdit;

DBEdit77: TDBEdit;

DBEdit78: TDBEdit;

DBEdit79: TDBEdit;

DBEdit80: TDBEdit;

DBEdit81: TDBEdit;

DBEdit82: TDBEdit;

DBEdit83: TDBEdit;

DBEdit84: TDBEdit;

DBEdit85: TDBEdit;

DBEdit87: TDBEdit;

DBEdit88: TDBEdit;

DBEdit90: TDBEdit;

DBEdit91: TDBEdit;

DBEdit89: TDBEdit;

DBEdit92: TDBEdit;

DBEdit93: TDBEdit;

DBEdit94: TDBEdit;

DBEdit95: TDBEdit;

DBEdit96: TDBEdit;

DBEdit97: TDBEdit;

DBEdit98: TDBEdit;

DBEdit99: TDBEdit;

DBEdit100: TDBEdit;

DBEdit101: TDBEdit;

DBEdit102: TDBEdit;

DBEdit103: TDBEdit;

DBEdit104: TDBEdit;

DBEdit105: TDBEdit;

DBEdit106: TDBEdit;

DBNavigator1: TDBNavigator;

Label13: TLabel;

Label15: TLabel;

Label79: TLabel;

DBEdit107: TDBEdit;

DBEdit108: TDBEdit;

DBEdit109: TDBEdit;

DBEdit110: TDBEdit;

DBComboBox1: TDBComboBox;

DBComboBox2: TDBComboBox;

DBComboBox3: TDBComboBox;

DBComboBox4: TDBComboBox;

DBComboBox5: TDBComboBox;

Label80: TLabel;

Panel3: TPanel;

BitBtn1: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

WL: TWL;

implementation

uses waybill, main;

{$R *.dfm}

procedure TWL.BitBtn1Click(Sender: TObject);

begin

bd.Show;

close;

end;

procedure TWL.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

//---Отображение на панели задач(часть2)---//

end.

//модуль регистрация

unit reg;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

Tregistr = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label7: TLabel;

Button1: TButton;

Edit1: TEdit;

Edit4: TEdit;

Button2: TButton;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Edit3: TEdit;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

registr: Tregistr;

implementation

uses authorization;

{$R *.dfm}

//---Отображение на панели задач(часть2)---//

procedure Tregistr.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

//---Отображение на панели задач(часть2)---//

{Регистрация пользователя. Занесение данных в тбл}

procedure Tregistr.Button1Click(Sender: TObject);

begin

vhod.UniTable1.TableName:='users';

vhod.UniTable1.Active:=true;

vhod.UniTable1.SQL.Text:='SELECT * FROM users';

vhod.UniTable1.Open;//открываем таблицу

vhod.UniTable1.Insert; // вставили новую запись в таблицу..

vhod.UniTable1.FieldByName('ФИО').AsString:=Edit1.Text;

vhod.UniTable1.FieldByName('Должность').AsString:=Edit4.Text;

vhod.UniTable1.FieldByName('Телефон').AsString:=Edit2.Text;

vhod.UniTable1.FieldByName('Дата_рождения').AsString:=Edit3.Text;

vhod.UniTable1.Post;// отправляем данные в таблицу

Label10.Caption:='OK';

sleep(1000);

//возвращаем объекты формы в исходное значение

Edit1.Enabled:=true;

Edit2.Enabled:=true;

Edit3.Enabled:=false;

Edit4.Enabled:=true;

Edit1.Clear;

Edit3.Clear;

Edit4.Clear;

Edit2.Clear;

Button2.Caption:='Заполнить образец';

Label10.Caption:='';

//закрываем форму

registr.Close;

vhod.Show;

end;

{Заполняем образец}

procedure Tregistr.Button2Click(Sender: TObject);

begin

//если не заполнено то заполняем

if Button2.Caption='Заполнить образец' then begin

Edit1.Text:='Кузнецов Алексей Витальевич';

Edit4.Text:='Менеджер транспортного отдела';

Edit2.Text:='89253388398';

Edit3.Text:='1994-07-10';

Button2.Caption:='Очистить';

Edit1.Enabled:=false;

Edit2.Enabled:=false;

Edit3.Enabled:=false;

Edit4.Enabled:=false;

end

//иначе чистим

else begin

Edit1.Enabled:=true;

Edit2.Enabled:=true;

Edit3.Enabled:=true;

Edit4.Enabled:=true;

Edit1.Clear;

Edit3.Clear;

Edit4.Clear;

Edit2.Clear;

Button2.Caption:='Заполнить образец';

end;

end;

{Возврат на форму авторизация}

procedure Tregistr.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Edit1.Enabled:=true;

Edit2.Enabled:=true;

Edit3.Enabled:=true;

Edit4.Enabled:=true;

Edit1.Clear;

Edit3.Clear;

Edit4.Clear;

Edit2.Clear;

Button2.Caption:='Заполнить образец';

Label10.Caption:='';

//закрываем форму

registr.Hide;

vhod.Show;

end;

end.

//модуль форма маршруты

unit route_form;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, Buttons, ComCtrls;

type

TRF = class(TForm)

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBMemo1: TDBMemo;

DBNavigator1: TDBNavigator;

Label1: TLabel;

Label2: TLabel;

DBEdit3: TDBEdit;

Label3: TLabel;

Label4: TLabel;

Panel3: TPanel;

BitBtn1: TBitBtn;

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

RF: TRF;

implementation

uses connect, main;

{$R *.dfm}

procedure TRF.BitBtn1Click(Sender: TObject);

begin

bd.N11.Click;

bd.Show;

close;

end;

end.

//модуль справка

unit spravka;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, ComCtrls, OleCtnrs;

type

THelp = class(TForm)

TreeView1: TTreeView;

Panel1: TPanel;

OleContainer1: TOleContainer;

OleContainer2: TOleContainer;

OleContainer3: TOleContainer;

procedure TreeView1Change(Sender: TObject; Node: TTreeNode);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

Help: THelp;

implementation

{$R *.dfm}

//---Отображение на панели задач(часть2)---//

procedure THelp.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

procedure THelp.TreeView1Change(Sender: TObject; Node: TTreeNode);

begin

if TreeView1.Selected.Text='Общие сведения о программе' then begin

OleContainer1.Align:=alClient;

OleContainer1.Visible:=true;

OleContainer1.BringToFront;

end;

if TreeView1.Selected.Text='Регистрация' then begin

OleContainer2.Align:=alClient;

OleContainer2.Visible:=true;

OleContainer2.BringToFront;

end;

if TreeView1.Selected.Text='Вход' then begin

OleContainer3.Align:=alClient;

OleContainer3.Visible:=true;

OleContainer3.BringToFront;

end

end;

end.

//модуль новый путевой лист

unit waybill;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, jpeg, ExtCtrls, StdCtrls, UniProvider, MySQLUniProvider, DB,

DBAccess, Uni, MemDS, DBCtrls, Mask, DBCtrlsEh;

type

Twaylist = class(TForm)

Button1: TButton;

UniConnection1: TUniConnection;

UniQuery1: TUniQuery;

UniDataSource1: TUniDataSource;

MySQLUniProvider1: TMySQLUniProvider;

UniTable1: TUniTable;

Label4: TLabel;

Label5: TLabel;

Label39: TLabel;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

ComboBox3: TComboBox;

Edit6: TEdit;

Edit7: TEdit;

GroupBox1: TGroupBox;

Label8: TLabel;

Label1: TLabel;

Label11: TLabel;

Label12: TLabel;

Label14: TLabel;

Label10: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Edit3: TEdit;

Edit106: TEdit;

GroupBox2: TGroupBox;

Label28: TLabel;

Label29: TLabel;

Label30: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Edit26: TEdit;

Edit27: TEdit;

Edit28: TEdit;

Edit29: TEdit;

GroupBox3: TGroupBox;

Label34: TLabel;

Label35: TLabel;

Label36: TLabel;

Label37: TLabel;

Label38: TLabel;

Label40: TLabel;

Label41: TLabel;

Label42: TLabel;

Label43: TLabel;

Label44: TLabel;

Label45: TLabel;

Label46: TLabel;

Label47: TLabel;

Label48: TLabel;

Label49: TLabel;

Edit30: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit35: TEdit;

Edit36: TEdit;

Edit37: TEdit;

Edit38: TEdit;

Edit39: TEdit;

Edit40: TEdit;

Edit41: TEdit;

Edit42: TEdit;

Edit43: TEdit;

Edit44: TEdit;

Edit45: TEdit;

Edit46: TEdit;

Edit47: TEdit;

Edit48: TEdit;

Edit34: TEdit;

GroupBox4: TGroupBox;

Label50: TLabel;

Label51: TLabel;

Label52: TLabel;

Label53: TLabel;

Label54: TLabel;

Label55: TLabel;

Label56: TLabel;

Label57: TLabel;

Label58: TLabel;

Label59: TLabel;

Label60: TLabel;

Label61: TLabel;

Edit49: TEdit;

Edit50: TEdit;

Edit51: TEdit;

Edit52: TEdit;

Edit53: TEdit;

Edit54: TEdit;

Edit55: TEdit;

Edit56: TEdit;

Edit57: TEdit;

Edit58: TEdit;

Edit59: TEdit;

Edit60: TEdit;

Edit61: TEdit;

Edit62: TEdit;

Edit63: TEdit;

Edit64: TEdit;

Edit65: TEdit;

Edit66: TEdit;

Edit67: TEdit;

Edit68: TEdit;

Edit69: TEdit;

Edit70: TEdit;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

GroupBox5: TGroupBox;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label68: TLabel;

Label69: TLabel;

Label70: TLabel;

Label71: TLabel;

Label72: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label76: TLabel;

Label77: TLabel;

Label78: TLabel;

Edit79: TEdit;

Edit80: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

Edit89: TEdit;

Edit90: TEdit;

Edit91: TEdit;

Edit92: TEdit;

Edit93: TEdit;

Edit94: TEdit;

Edit95: TEdit;

Edit96: TEdit;

Edit97: TEdit;

Edit98: TEdit;

Edit99: TEdit;

Edit100: TEdit;

Edit101: TEdit;

Edit102: TEdit;

Edit103: TEdit;

Edit104: TEdit;

Edit105: TEdit;

Label2: TLabel;

Label3: TLabel;

Label6: TLabel;

Label7: TLabel;

Label9: TLabel;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

ComboBox4: TComboBox;

ComboBox5: TComboBox;

ComboBox6: TComboBox;

Edit4: TEdit;

Edit5: TEdit;

Edit8: TEdit;

Edit9: TEdit;

Edit10: TEdit;

Edit11: TEdit;

Edit12: TEdit;

Edit13: TEdit;

Edit14: TEdit;

ComboBox7: TComboBox;

Edit17: TEdit;

Edit18: TEdit;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit24: TEdit;

Edit25: TEdit;

Label22: TLabel;

Label13: TLabel;

Label15: TLabel;

Label79: TLabel;

Edit107: TEdit;

Edit108: TEdit;

Edit109: TEdit;

Edit110: TEdit;

Edit76: TEdit;

Button2: TButton;

Button3: TButton;

Button4: TButton;

ComboBox8: TComboBox;

Edit77: TEdit;

DBEdit1: TDBEdit;

procedure FormCreate(Sender: TObject);

procedure ComboBox4Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Edit106Change(Sender: TObject);

procedure Edit106Exit(Sender: TObject);

procedure Edit44Change(Sender: TObject);

procedure Edit47Change(Sender: TObject);

procedure Edit86Change(Sender: TObject);

procedure Edit80Change(Sender: TObject);

procedure Edit83Change(Sender: TObject);

procedure Edit76Change(Sender: TObject);

procedure Edit90Change(Sender: TObject);

procedure Edit50Change(Sender: TObject);

procedure Edit53Change(Sender: TObject);

procedure Edit56Change(Sender: TObject);

procedure Edit59Change(Sender: TObject);

procedure Edit62Change(Sender: TObject);

procedure Edit65Change(Sender: TObject);

procedure Edit68Change(Sender: TObject);

procedure Edit71Change(Sender: TObject);

procedure Edit74Change(Sender: TObject);

procedure Edit95Change(Sender: TObject);

procedure Edit98Change(Sender: TObject);

procedure Edit101Change(Sender: TObject);

procedure Edit104Change(Sender: TObject);

procedure Edit35Change(Sender: TObject);

procedure Edit37Change(Sender: TObject);

procedure Edit38Change(Sender: TObject);

procedure Edit39Change(Sender: TObject);

procedure Edit43Change(Sender: TObject);

procedure Edit46Change(Sender: TObject);

procedure Edit85Change(Sender: TObject);

procedure Edit79Change(Sender: TObject);

procedure Edit84Change(Sender: TObject);

procedure Edit91Change(Sender: TObject);

procedure Edit89Change(Sender: TObject);

procedure Edit49Change(Sender: TObject);

procedure Edit52Change(Sender: TObject);

procedure Edit55Change(Sender: TObject);

procedure Edit60Change(Sender: TObject);

procedure Edit61Change(Sender: TObject);

procedure Edit66Change(Sender: TObject);

procedure Edit67Change(Sender: TObject);

procedure Edit72Change(Sender: TObject);

procedure Edit73Change(Sender: TObject);

procedure Edit96Change(Sender: TObject);

procedure Edit97Change(Sender: TObject);

procedure Edit102Change(Sender: TObject);

procedure Edit103Change(Sender: TObject);

procedure Edit3Change(Sender: TObject);

procedure Edit3Exit(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure Edit37Exit(Sender: TObject);

procedure Edit42Exit(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure ComboBox2Change(Sender: TObject);

procedure ComboBox8Change(Sender: TObject);

procedure ComboBox5Change(Sender: TObject);

procedure Edit14Exit(Sender: TObject);

procedure Edit50Enter(Sender: TObject);

procedure Edit85Enter(Sender: TObject);

procedure Edit49Click(Sender: TObject);

procedure Edit86Enter(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

waylist: Twaylist;

today:TDate;

implementation

uses main, list, connect;

{$R *.dfm}

//---Отображение на панели задач(часть2)---//

procedure Twaylist.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

{Подсчет колонки всего}

procedure Twaylist.Edit101Change(Sender: TObject);

var

a,b: integer;

c,x: double;

begin

if Edit101.Text<>'' then begin

a:=StrToInt(Edit102.Text);

b:=StrToInt(Edit101.Text);

Edit100.Text:=IntToStr(a+b);

end

else begin

Edit100.Clear;

end;

{подсчет нормы расхода топлива 2 смены}

if Edit101.Text='' then begin

end

else begin

a:=StrToInt(DBEdit1.Text); //длина маршрута

b:=StrToInt(Edit101.Text); //количество рейсов

c:=2/10;//номра расхода

x:=(a*c)*b;

Edit36.Text:=FloatToStr(x);

end;

end;

{Если пустой первый то второй не может быть активным}

procedure Twaylist.Edit102Change(Sender: TObject);

var

a,b: integer;

c,x: double;

begin

if Edit102.Text='' then begin

Edit101.Enabled:=false;

Edit101.Clear;

end

else begin

Edit101.Enabled:=true;

end;

{подсчет нормы расхода топлива}

if Edit102.Text='' then begin

end

else begin

a:=StrToInt(DBEdit1.Text); //длина маршрута

b:=StrToInt(Edit102.Text); //количество рейсов

c:=2/10;//расход на 100 км

x:=(a*c)*b;

Edit35.Text:=FloatToStr(x);

end;

end;

procedure Twaylist.Edit103Change(Sender: TObject);

begin

if Edit103.Text='' then begin

Edit104.Enabled:=false;

Edit104.Clear;

end

else

Edit104.Enabled:=true;

end;

procedure Twaylist.Edit104Change(Sender: TObject);

var a,b:integer;

begin

if Edit104.Text<>'' then begin

a:=StrToInt(Edit103.Text);

b:=StrToInt(Edit104.Text);

Edit105.Text:=IntToStr(a+b);

end

else begin

Edit105.Clear;

end;

end;

//если текст в эдите длиннее то увеличиваенм его визуальную длину

procedure Twaylist.Edit106Change(Sender: TObject);

var s:integer;

begin

S:=length(Edit106.Text);

if s>27 then begin

GroupBox1.Width:=210;

Edit106.Width:=200;

end;

end;

//а по выходу из него возвращаем исходную

procedure Twaylist.Edit106Exit(Sender: TObject);

begin

GroupBox1.Width:=185;

Edit106.Width:=166;

end;

//определяем длину марщрута из бд

procedure Twaylist.Edit14Exit(Sender: TObject);

begin

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Длина FROM Routes where Routes.`Номер`="'+Edit14.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

DBEdit1.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

DBEdit1.Text:=(C.UniQuery1.FieldByName('Длина').AsString); //Заполняем

C.UniQuery1.Next;

end;

end;

procedure Twaylist.Edit35Change(Sender: TObject);

begin

//if Edit35.Text='' then begin

//Edit36.Enabled:=false;

//Edit36.Clear;

//end

//else

//Edit36.Enabled:=true;

end;

procedure Twaylist.Edit37Change(Sender: TObject);

begin

if Edit37.Text='' then begin

Edit42.Enabled:=false;

Edit42.Clear;

end

else

Edit42.Enabled:=true;

end;

{расчет экономии или перерасхода}

procedure Twaylist.Edit37Exit(Sender: TObject);

var

a,b,c:double;

begin

if (edit35.Text='') or (edit37.Text='')then begin

Edit38.Text:='';

edit39.Text:='';

end

else begin

a:=StrToFloat(Edit35.Text);

b:=StrToFloat(Edit37.Text);

if a>b then begin

c:=a-b;

Edit38.Text:=FloatToStr(c);

Edit39.Text:='0';//перерасход=0

end

else if a<b then begin

c:=b-a;

Edit38.Text:='0';//экономия=0

Edit39.Text:=FloatToStr(c);

end

else begin

//норма выполнена

Edit38.Text:='0';

Edit39.Text:='0';

end;

end;

end;

procedure Twaylist.Edit38Change(Sender: TObject);

begin

if Edit38.Text='' then begin

Edit40.Enabled:=false;

Edit40.Clear;

end

else

Edit40.Enabled:=true;

end;

procedure Twaylist.Edit39Change(Sender: TObject);

begin

if Edit39.Text='' then begin

Edit41.Enabled:=false;

Edit41.Clear;

end

else

Edit41.Enabled:=true;

end;

//изменение длины эдита

procedure Twaylist.Edit3Change(Sender: TObject);

var s:integer;

begin

S:=length(Edit3.Text);

if s>27 then begin

GroupBox1.Width:=210;

Edit3.Width:=200;

end;

end;

//возврат исходной длины

procedure Twaylist.Edit3Exit(Sender: TObject);

begin

GroupBox1.Width:=185;

Edit3.Width:=166;

end;

{расчет перерасхода или экономии 2}

procedure Twaylist.Edit42Exit(Sender: TObject);

var

a,b,c:double;

begin

if (edit36.Text='') or (edit42.Text='') then begin

Edit40.Text:='';

edit41.Text:='';

end

else begin

a:=StrToFloat(Edit36.Text);

b:=StrToFloat(Edit42.Text);

if a>b then begin

c:=a-b;

Edit40.Text:=FloatToStr(c);

Edit41.Text:='0';//перерасход=0

end

else if a<b then begin

c:=b-a;

Edit40.Text:='0'; //экономия=0

Edit41.Text:=FloatToStr(c);

end

else begin

//норма

Edit40.Text:='0';

Edit41.Text:='0';

end;

end;

end;

procedure Twaylist.Edit43Change(Sender: TObject);

begin

if Edit43.Text='' then begin

Edit44.Enabled:=false;

Edit44.Clear;

end

else

Edit44.Enabled:=true;

end;

procedure Twaylist.Edit44Change(Sender: TObject);

var a,b:integer;

begin

if Edit44.Text<>'' then begin

a:=StrToInt(Edit43.Text);

b:=StrToInt(Edit44.Text);

Edit45.Text:=IntToStr(a+b);

end

else begin

Edit45.Clear;

end;

end;

procedure Twaylist.Edit46Change(Sender: TObject);

begin

if Edit46.Text='' then begin

Edit47.Enabled:=false;

end

else

Edit47.Enabled:=true;

end;

procedure Twaylist.Edit47Change(Sender: TObject);

var a,b:integer;

begin

if Edit47.Text<>'' then begin

a:=StrToInt(Edit46.Text);

b:=StrToInt(Edit47.Text);

Edit48.Text:=IntToStr(a+b);

end

else begin

Edit48.Clear;

end;

end;

procedure Twaylist.Edit49Change(Sender: TObject);

begin

if Edit49.Text='' then begin

Edit50.Enabled:=false;

Edit50.Clear;

end

else

Edit50.Enabled:=true;

end;

procedure Twaylist.Edit49Click(Sender: TObject);

//подсчет количества часов работы 1 смены

var a:TTime;

begin

if (Edit109.Text='') or (Edit107.Text='') then begin

end

else begin

a:=StrToTime(Edit109.Text)-StrToTime(Edit107.Text);

Edit49.Text:=TimeToStr(a);

end;

end;

//всего часов работы

procedure Twaylist.Edit50Change(Sender: TObject);

var a:TTime;

begin

if Edit50.Text<>'' then begin

a:=StrToTime(Edit50.Text)-StrToTime(Edit49.Text);

Edit51.Text:=TimeToStr(a);

end

else begin

Edit51.Clear;

end;

end;

//подсчет количества часов работы 2 смены

procedure Twaylist.Edit50Enter(Sender: TObject);

var a:TTime;

begin

if (Edit110.Text='') or (Edit108.Text='') then begin

end

else begin

a:=StrToTime(Edit110.Text)-StrToTime(Edit108.Text);

Edit50.Text:=TimeToStr(a);

end;

end;

procedure Twaylist.Edit52Change(Sender: TObject);

begin

if Edit52.Text='' then begin

Edit53.Enabled:=false;

Edit53.Clear;

end

else

Edit53.Enabled:=true;

end;

procedure Twaylist.Edit53Change(Sender: TObject);

var a,b:integer;

begin

if Edit53.Text<>'' then begin

a:=StrToInt(Edit52.Text);

b:=StrToInt(Edit53.Text);

Edit54.Text:=IntToStr(a+b);

end

else begin

Edit54.Clear;

end;

end;

procedure Twaylist.Edit55Change(Sender: TObject);

begin

if Edit55.Text='' then begin

Edit56.Enabled:=false;

Edit56.Clear;

end

else

Edit56.Enabled:=true;

end;

procedure Twaylist.Edit56Change(Sender: TObject);

var a,b:integer;

begin

if Edit56.Text<>'' then begin

a:=StrToInt(Edit55.Text);

b:=StrToInt(Edit56.Text);

Edit57.Text:=IntToStr(a+b);

end

else begin

Edit57.Clear;

end;

end;

procedure Twaylist.Edit59Change(Sender: TObject);

var a,b:integer;

begin

if Edit59.Text<>'' then begin

a:=StrToInt(Edit60.Text);

b:=StrToInt(Edit59.Text);

Edit58.Text:=IntToStr(a+b);

end

else begin

Edit58.Clear;

end;

end;

procedure Twaylist.Edit60Change(Sender: TObject);

begin

if Edit60.Text='' then begin

Edit59.Enabled:=false;

Edit59.Clear;

end

else

Edit59.Enabled:=true;

end;

procedure Twaylist.Edit61Change(Sender: TObject);

begin

if Edit61.Text='' then begin

Edit62.Enabled:=false;

Edit62.Clear;

end

else

Edit62.Enabled:=true;

end;

procedure Twaylist.Edit62Change(Sender: TObject);

var a,b:integer;

begin

if Edit62.Text<>'' then begin

a:=StrToInt(Edit61.Text);

b:=StrToInt(Edit62.Text);

Edit63.Text:=IntToStr(a+b);

end

else begin

Edit63.Clear;

end;

end;

procedure Twaylist.Edit65Change(Sender: TObject);

var a,b:integer;

begin

if Edit65.Text<>'' then begin

a:=StrToInt(Edit66.Text);

b:=StrToInt(Edit65.Text);

Edit64.Text:=IntToStr(a+b);

end

else begin

Edit64.Clear;

end;

end;

procedure Twaylist.Edit66Change(Sender: TObject);

begin

if Edit66.Text='' then begin

Edit65.Enabled:=false;

Edit65.Clear;

end

else

Edit65.Enabled:=true;

end;

procedure Twaylist.Edit67Change(Sender: TObject);

begin

if Edit67.Text='' then begin

Edit68.Enabled:=false;

Edit68.Clear;

end

else

Edit68.Enabled:=true;

end;

procedure Twaylist.Edit68Change(Sender: TObject);

var a,b:integer;

begin

if Edit68.Text<>'' then begin

a:=StrToInt(Edit67.Text);

b:=StrToInt(Edit68.Text);

Edit69.Text:=IntToStr(a+b);

end

else begin

Edit69.Clear;

end;

end;

procedure Twaylist.Edit71Change(Sender: TObject);

var a,b:integer;

begin

if Edit71.Text<>'' then begin

a:=StrToInt(Edit72.Text);

b:=StrToInt(Edit71.Text);

Edit70.Text:=IntToStr(a+b);

end

else begin

Edit70.Clear;

end;

end;

procedure Twaylist.Edit72Change(Sender: TObject);

begin

if Edit72.Text='' then begin

Edit71.Enabled:=false;

Edit71.Clear;

end

else

Edit71.Enabled:=true;

end;

procedure Twaylist.Edit73Change(Sender: TObject);

begin

if Edit73.Text='' then begin

Edit74.Enabled:=false;

Edit74.Clear;

end

else

Edit74.Enabled:=true;

end;

procedure Twaylist.Edit74Change(Sender: TObject);

var a,b:integer;

begin

if Edit74.Text<>'' then begin

a:=StrToInt(Edit73.Text);

b:=StrToInt(Edit74.Text);

Edit75.Text:=IntToStr(a+b);

end

else begin

Edit75.Clear;

end;

end;

procedure Twaylist.Edit76Change(Sender: TObject);

var a,b:integer;

begin

if Edit76.Text<>'' then begin

a:=StrToInt(Edit91.Text);

b:=StrToInt(Edit76.Text);

Edit92.Text:=IntToStr(a+b);

end

else begin

Edit92.Clear;

end;

end;

procedure Twaylist.Edit79Change(Sender: TObject);

begin

if Edit79.Text='' then begin

Edit80.Enabled:=false;

Edit80.Clear;

end

else

Edit80.Enabled:=true;

end;

procedure Twaylist.Edit80Change(Sender: TObject);

var a,b:integer;

begin

if Edit80.Text<>'' then begin

a:=StrToInt(Edit79.Text);

b:=StrToInt(Edit80.Text);

Edit81.Text:=IntToStr(a+b);

end

else begin

Edit81.Clear;

end;

end;

procedure Twaylist.Edit83Change(Sender: TObject);

var a,b:integer;

begin

if Edit83.Text<>'' then begin

a:=StrToInt(Edit84.Text);

b:=StrToInt(Edit83.Text);

Edit82.Text:=IntToStr(a+b);

end

else begin

Edit82.Clear;

end;

end;

procedure Twaylist.Edit84Change(Sender: TObject);

begin

if Edit84.Text='' then begin

Edit83.Enabled:=false;

Edit83.Clear;

end

else

Edit83.Enabled:=true;

end;

procedure Twaylist.Edit85Change(Sender: TObject);

begin

if Edit85.Text='' then begin

Edit86.Enabled:=false;

Edit86.Clear;

end

else

Edit86.Enabled:=true;

end;

procedure Twaylist.Edit85Enter(Sender: TObject);

var a,b,c:integer;

begin

if (edit102.Text='') or (DBEdit1.Text='') then begin

end

else begin

a:=StrToInt(Edit102.Text);

b:=StrToInt(DBEdit1.Text);

c:=a*b;

Edit85.Text:=IntToStr(c);

end;

end;

procedure Twaylist.Edit86Change(Sender: TObject);

var a,b:integer;

begin

if Edit86.Text<>'' then begin

a:=StrToInt(Edit85.Text);

b:=StrToInt(Edit86.Text);

Edit87.Text:=IntToStr(a+b);

end

else begin

Edit87.Clear;

end;

end;

procedure Twaylist.Edit86Enter(Sender: TObject);

var a,b,c:integer;

begin

if (edit101.Text='') or (DBEdit1.Text='') then begin

end

else begin

a:=StrToInt(Edit101.Text);

b:=StrToInt(DBEdit1.Text);

c:=a*b;

Edit86.Text:=IntToStr(c);

end;

end;

procedure Twaylist.Edit89Change(Sender: TObject);

begin

if Edit89.Text='' then begin

Edit90.Enabled:=false;

Edit90.Clear;

end

else

Edit90.Enabled:=true;

end;

procedure Twaylist.Edit90Change(Sender: TObject);

var a,b:integer;

begin

if Edit90.Text<>'' then begin

a:=StrToInt(Edit89.Text);

b:=StrToInt(Edit90.Text);

Edit93.Text:=IntToStr(a+b);

end

else begin

Edit93.Clear;

end;

end;

procedure Twaylist.Edit91Change(Sender: TObject);

begin

if Edit91.Text='' then begin

Edit76.Enabled:=false;

Edit76.Clear;

end

else

Edit76.Enabled:=true;

end;

procedure Twaylist.Edit95Change(Sender: TObject);

var a,b:integer;

begin

if Edit95.Text<>'' then begin

a:=StrToInt(Edit96.Text);

b:=StrToInt(Edit95.Text);

Edit94.Text:=IntToStr(a+b);

end

else begin

Edit94.Clear;

end;

end;

procedure Twaylist.Edit96Change(Sender: TObject);

begin

if Edit96.Text='' then begin

Edit95.Enabled:=false;

Edit95.Clear;

end

else

Edit95.Enabled:=true;

end;

procedure Twaylist.Edit97Change(Sender: TObject);

begin

if Edit97.Text='' then begin

Edit98.Enabled:=false;

Edit98.Clear;

end

else

Edit98.Enabled:=true;

end;

procedure Twaylist.Edit98Change(Sender: TObject);

var a,b:integer;

begin

if Edit98.Text<>'' then begin

a:=StrToInt(Edit97.Text);

b:=StrToInt(Edit98.Text);

Edit99.Text:=IntToStr(a+b);

end

else begin

Edit99.Clear;

end;

end;

{Отправляем данные в таблицу}

procedure Twaylist.Button1Click(Sender: TObject);

begin

//UniQuery1.InsertRecord([DBEditEh1]);

UniTable1.TableName:='waylist';

UniTable1.Active:=true;

UniTable1.SQL.Text:='SELECT * FROM waylist';

UniTable1.Open;

UniTable1.Insert; // вставили новую запись в таблицу..

UniTable1.FieldByName('id').AsString:=Edit6.Text;

UniTable1.FieldByName('id_№').AsString:=Edit7.Text;

UniTable1.FieldByName('Марка').AsString:=ComboBox1.Text;

UniTable1.FieldByName('Модель').AsString:=ComboBox8.Text;

UniTable1.FieldByName('Гос_номер').AsString:=ComboBox2.Text;

UniTable1.FieldByName('Гараж_номер').AsString:=ComboBox3.Text;

UniTable1.FieldByName('Водитель_1').AsString:=ComboBox4.Text;

UniTable1.FieldByName('Табель_номер').AsString:=Edit77.Text;

UniTable1.FieldByName('Удостоверение').AsString:=Edit8.Text;

UniTable1.FieldByName('Билето_учетн_лист').AsString:=Edit11.Text;

UniTable1.FieldByName('Водитель_2').AsString:=ComboBox5.Text;

UniTable1.FieldByName('Табель_номер_2').AsString:=Edit4.Text;

UniTable1.FieldByName('Удостоверение_2').AsString:=Edit9.Text;

UniTable1.FieldByName('Билето_учетн_лист_2').AsString:=Edit12.Text;

UniTable1.FieldByName('Маршрут').AsString:=Edit14.Text;

UniTable1.FieldByName('Лиц_карта').AsString:=ComboBox7.Text;

UniTable1.FieldByName('Рег_номер').AsString:=Edit17.Text;

UniTable1.FieldByName('Серия').AsString:=Edit18.Text;

UniTable1.FieldByName('Номер').AsString:=Edit19.Text;

UniTable1.FieldByName('Заказчик').AsString:=Edit20.Text;

UniTable1.FieldByName('Место_подачи').AsString:=Edit21.Text;

UniTable1.FieldByName('С_час').AsString:=Edit22.Text;

UniTable1.FieldByName('С_мин').AsString:=Edit23.Text;

UniTable1.FieldByName('До_час').AsString:=Edit24.Text;

UniTable1.FieldByName('До_мин').AsString:=Edit25.Text;

UniTable1.FieldByName('Выезд_1_расп').AsString:=Edit26.Text;

UniTable1.FieldByName('Возврат_1_расп').AsString:=Edit28.Text;

UniTable1.FieldByName('Выезд_2_расп').AsString:=Edit27.Text;

UniTable1.FieldByName('Возврат_2_расп').AsString:=Edit29.Text;

UniTable1.FieldByName('Выезд_1_факт').AsString:=Edit107.Text;

UniTable1.FieldByName('Возврат_1_факт').AsString:=Edit109.Text;

UniTable1.FieldByName('Выезд_2_факт').AsString:=Edit108.Text;

UniTable1.FieldByName('Возврат_2_факт').AsString:=Edit110.Text;

UniTable1.FieldByName('Остаток_выезд').AsString:=Edit30.Text;

UniTable1.FieldByName('Топливо_выдано').AsString:=Edit31.Text;

UniTable1.FieldByName('Остаток_возвр').AsString:=Edit32.Text;

UniTable1.FieldByName('Масло').AsString:=Edit33.Text;

UniTable1.FieldByName('Расход_норм_1').AsString:=Edit35.Text;

UniTable1.FieldByName('Расход_факт_1').AsString:=Edit37.Text;

UniTable1.FieldByName('Эконом_1').AsString:=Edit38.Text;

UniTable1.FieldByName('Перерасх_1').AsString:=Edit39.Text;

UniTable1.FieldByName('Выручка_план_1').AsString:=Edit43.Text;

UniTable1.FieldByName('Выручка_факт_1').AsString:=Edit46.Text;

UniTable1.FieldByName('Пробег_общ_1').AsString:=Edit85.Text;

UniTable1.FieldByName('Пробег_пасс_1').AsString:=Edit79.Text;

UniTable1.FieldByName('Пробег_маршр_1').AsString:=Edit84.Text;

UniTable1.FieldByName('Пробег_маршр_2').AsString:=Edit88.Text;

UniTable1.FieldByName('Пробег_заказ').AsString:=Edit89.Text;

UniTable1.FieldByName('Возврат_2_расп').AsString:=Edit29.Text;

UniTable1.FieldByName('Часы_работы').AsString:=Edit49.Text;

UniTable1.FieldByName('Часы_движ').AsString:=Edit52.Text;

UniTable1.FieldByName('Часы_линия').AsString:=Edit55.Text;

UniTable1.FieldByName('Часы_заказ').AsString:=Edit60.Text;

UniTable1.FieldByName('Часы_прост').AsString:=Edit61.Text;

UniTable1.FieldByName('Часы_план_резерв').AsString:=Edit66.Text;

UniTable1.FieldByName('Часы_неплан_резерв').AsString:=Edit67.Text;

UniTable1.FieldByName('Часы_прост_заказ').AsString:=Edit72.Text;

UniTable1.FieldByName('Часы_ремонт').AsString:=Edit73.Text;

UniTable1.FieldByName('Ночь_1').AsString:=Edit96.Text;

UniTable1.FieldByName('Нуль_1').AsString:=Edit97.Text;

UniTable1.FieldByName('Рейсы_план').AsString:=Edit102.Text;

UniTable1.FieldByName('Рейсы_выполн').AsString:=Edit103.Text;

UniTable1.FieldByName('Расход_норм_2').AsString:=Edit36.Text;

UniTable1.FieldByName('Расход_факт_2').AsString:=Edit42.Text;

UniTable1.FieldByName('Эконом_2').AsString:=Edit40.Text;

UniTable1.FieldByName('Перерасх_2').AsString:=Edit41.Text;

UniTable1.FieldByName('Выручка_план_2').AsString:=Edit44.Text;

UniTable1.FieldByName('Выручка_факт_2').AsString:=Edit47.Text;

UniTable1.FieldByName('Пробег_общ_2').AsString:=Edit86.Text;

UniTable1.FieldByName('Пробег_пасс_2').AsString:=Edit80.Text;

UniTable1.FieldByName('Пробег_марш_1_2').AsString:=Edit83.Text;

UniTable1.FieldByName('Пробег_марш_2_2').AsString:=Edit76.Text;

UniTable1.FieldByName('Пробег_заказ_2').AsString:=Edit90.Text;

UniTable1.FieldByName('Часы_работы_2').AsString:=Edit50.Text;

UniTable1.FieldByName('Часы_движ_2').AsString:=Edit53.Text;

UniTable1.FieldByName('Часы_линия_2').AsString:=Edit56.Text;

UniTable1.FieldByName('Часы_заказ_2').AsString:=Edit59.Text;

UniTable1.FieldByName('Часы_прост_2').AsString:=Edit62.Text;

UniTable1.FieldByName('Часы_план_резерв_2').AsString:=Edit65.Text;

UniTable1.FieldByName('Часы_неплан_резерв_2').AsString:=Edit68.Text;

UniTable1.FieldByName('Часы_прост_заказ_2').AsString:=Edit71.Text;

UniTable1.FieldByName('Часы_ремонт_2').AsString:=Edit74.Text;

UniTable1.FieldByName('Ночь_2').AsString:=Edit95.Text;

UniTable1.FieldByName('Нуль_2').AsString:=Edit98.Text;

UniTable1.FieldByName('Рейсы_план_2').AsString:=Edit101.Text;

UniTable1.FieldByName('Рейсы_выполн_2').AsString:=Edit104.Text;

UniTable1.FieldByName('Выручка_всего').AsString:=Edit45.Text;

UniTable1.FieldByName('Выручка_всего_факт').AsString:=Edit48.Text;

UniTable1.FieldByName('Пробег_всего').AsString:=Edit87.Text;

UniTable1.FieldByName('Пробег_пасс_всего').AsString:=Edit81.Text;

UniTable1.FieldByName('Пробег_марш_1_всего').AsString:=Edit82.Text;

UniTable1.FieldByName('Пробег_марш_2_всего').AsString:=Edit92.Text;

UniTable1.FieldByName('Пробег_заказ_всего').AsString:=Edit93.Text;

UniTable1.FieldByName('Часы_всего').AsString:=Edit51.Text;

UniTable1.FieldByName('Часы_движ_всего').AsString:=Edit54.Text;

UniTable1.FieldByName('Часы_линия_всего').AsString:=Edit57.Text;

UniTable1.FieldByName('Часы_заказ_всего').AsString:=Edit58.Text;

UniTable1.FieldByName('Часы_прост_всего').AsString:=Edit63.Text;

UniTable1.FieldByName('Часы_план_резерв_всего').AsString:=Edit64.Text;

UniTable1.FieldByName('Часы_неплан_резерв_всего').AsString:=Edit69.Text;

UniTable1.FieldByName('Часы_прост_зак_всего').AsString:=Edit70.Text;

UniTable1.FieldByName('Часы_ремонт_всего').AsString:=Edit75.Text;

UniTable1.FieldByName('Ночь_всего').AsString:=Edit94.Text;

UniTable1.FieldByName('Нуль_всего').AsString:=Edit99.Text;

UniTable1.FieldByName('Рейсы_план_всего').AsString:=Edit100.Text;

UniTable1.FieldByName('Рейсы_выполн_всего').AsString:=Edit105.Text;

UniTable1.FieldByName('Организация').AsString:=Edit1.Text;

UniTable1.FieldByName('ОКПО').AsString:=Edit2.Text;

UniTable1.FieldByName('Адрес').AsString:=Edit15.Text;

UniTable1.FieldByName('Телефон').AsString:=Edit16.Text;

UniTable1.FieldByName('Механик').AsString:=Edit3.Text;

UniTable1.FieldByName('Принял_водитель').AsString:=Edit106.Text;

UniTable1.Post;// отправляем данные в таблицу

PrintScale:=poPrintToFit; //подгон размера

Print; //печать

//чистим поля для последующей работы

Edit6.Clear;

Edit7.Clear;

Edit77.Clear;

Edit8.Clear;

Edit11.Clear;

Edit4.Clear;

Edit9.Clear;

Edit12.Clear;

Edit14.Clear;

Edit17.Clear;

Edit18.Clear;

Edit19.Clear;

Edit20.Clear;

Edit21.Clear;

Edit22.Clear;

Edit23.Clear;

Edit24.Clear;

Edit25.Clear;

Edit26.Clear;

Edit28.Clear;

Edit27.Clear;

Edit29.Clear;

Edit107.Clear;

Edit109.Clear;

Edit108.Clear;

Edit110.Clear;

Edit30.Clear;

Edit31.Clear;

Edit32.Clear;

Edit33.Clear;

Edit35.Clear;

Edit37.Clear;

Edit38.Clear;

Edit39.Clear;

Edit43.Clear;

Edit46.Clear;

Edit85.Clear;

Edit79.Clear;

Edit84.Clear;

Edit88.Clear;

Edit89.Clear;

Edit29.Clear;

Edit49.Clear;

Edit52.Clear;

Edit55.Clear;

Edit60.Clear;

Edit61.Clear;

Edit66.Clear;

Edit67.Clear;

Edit72.Clear;

Edit73.Clear;

Edit96.Clear;

Edit97.Clear;

Edit102.Clear;

Edit103.Clear;

Edit36.Clear;

Edit42.Clear;

Edit40.Clear;

Edit41.Clear;

Edit44.Clear;

Edit47.Clear;

Edit86.Clear;

Edit80.Clear;

Edit83.Clear;

Edit76.Clear;

Edit90.Clear;

Edit50.Clear;

Edit53.Clear;

Edit56.Clear;

Edit59.Clear;

Edit62.Clear;

Edit65.Clear;

Edit68.Clear;

Edit71.Clear;

Edit74.Clear;

Edit95.Clear;

Edit98.Clear;

Edit101.Clear;

Edit104.Clear;

Edit1.Clear;

Edit2.Clear;

Edit15.Clear;

Edit16.Clear;

Edit3.Clear;

Edit106.Clear;

end;

{Равенство выходов}

procedure Twaylist.Button2Click(Sender: TObject);

begin

Edit107.Text:=Edit26.Text;

Edit109.Text:=Edit28.Text;

end;

{Равенство выходов 2}

procedure Twaylist.Button3Click(Sender: TObject);

begin

Edit108.Text:=Edit27.Text;

Edit110.Text:=Edit29.Text;

end;

{выход с формы}

procedure Twaylist.Button4Click(Sender: TObject);

begin

//вывод сообщения

case MessageBox(0,'Есть несохраненные изменения.Закрыть окно?', 'Закрыть окно?', MB_YESNO) of

IDYES:

begin

waylist.Close;

end;

IDNO:

begin

end;

end;

end;

//определение модели по марке

procedure Twaylist.ComboBox1Change(Sender: TObject);

begin

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Модель FROM Buses where Buses.`Марка`="'+Combobox1.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Combobox8.Items.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Combobox8.Items.Add(C.UniQuery1.FieldByName('Модель').AsString); //Заполняем

C.UniQuery1.Next; //комбобокс значениями

end;

Combobox8.Text:='Выберите модель';

end;

//определение борт_номера по госномеру

procedure Twaylist.ComboBox2Change(Sender: TObject);

begin

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Борт_номер FROM Buses where Buses.`Рег_номер`="'+Combobox2.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Combobox3.Items.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Combobox3.Items.Add(C.UniQuery1.FieldByName('Борт_номер').AsString); //Заполняем

C.UniQuery1.Next; //комбобокс значениями

end;

Combobox3.Text:='Гаражный номер';

end;

//определение табельного номера по фамилии

procedure Twaylist.ComboBox4Change(Sender: TObject);

begin

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Табельный_номер FROM Busdriver where Busdriver.`ФИО`="'+Combobox4.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Edit77.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Edit77.Text:=(C.UniQuery1.FieldByName('Табельный_номер').AsString); //Заполняем

C.UniQuery1.Next; //комбобокс значениями

end;

//вывод удостоверения

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Удостоверение FROM Busdriver where Busdriver.`ФИО`="'+Combobox4.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Edit8.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Edit8.Text:=(C.UniQuery1.FieldByName('Удостоверение').AsString); //Заполняем

C.UniQuery1.Next;

end;

//вывод билетного листа

today:=Now;

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT id FROM Bilet where Bilet.`Водитель№`="'+Edit77.Text+'"and bilet.`Дата оформления`="'+DateToStr(today)+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Edit11.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Edit11.Text:=(C.UniQuery1.FieldByName('id').AsString); //Заполняем

C.UniQuery1.Next;

end;

end;

//определение табельного номера по фамилии 2

procedure Twaylist.ComboBox5Change(Sender: TObject);

begin

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Табельный_номер FROM Busdriver where Busdriver.`ФИО`="'+Combobox5.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Edit4.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Edit4.Text:=(C.UniQuery1.FieldByName('Табельный_номер').AsString); //Заполняем

C.UniQuery1.Next; //комбобокс значениями

end;

//вывод удостоверения

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Удостоверение FROM Busdriver where Busdriver.`ФИО`="'+Combobox5.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Edit9.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Edit9.Text:=(C.UniQuery1.FieldByName('Удостоверение').AsString); //Заполняем

C.UniQuery1.Next;

end;

//вывод билетного листа

today:=Now;

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT id FROM Bilet where Bilet.`Водитель№`="'+Edit4.Text+'"and bilet.`Дата оформления`="'+DateToStr(today)+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Edit12.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Edit12.Text:=(C.UniQuery1.FieldByName('id').AsString); //Заполняем

C.UniQuery1.Next;

end;

end;

//определение госномера по модели

procedure Twaylist.ComboBox8Change(Sender: TObject);

begin

C.UniQuery1.Active:=false;

C.UniQuery1.SQL.Text:='SELECT Рег_номер FROM Buses where Buses.`Модель`="'+Combobox8.Text+'";';

C.UniQuery1.Active:=true;

C.UniQuery1.First; //Укажем на первую запись

Combobox2.Items.Clear; //Очищаем

While not C.UniQuery1.EOF do

begin

Combobox2.Items.Add(C.UniQuery1.FieldByName('Рег_номер').AsString); //Заполняем

C.UniQuery1.Next; //комбобокс значениями

end;

Combobox2.Text:='Гос.номер';

end;

procedure Twaylist.FormCreate(Sender: TObject);

begin

UniQuery1.Active:=false;

UniQuery1.SQL.Clear; {Очистим SQL запрос}

UniQuery1.SQL.Text:='SELECT марка FROM buses'; {Выберем поле id из buses}

UniQuery1.Active := True; {Активируем}

UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not UniQuery1.EOF do

begin

Combobox1.Items.Add(UniQuery1.FieldByName('марка').AsString); {Заполняем комбобокс значениями}

UniQuery1.Next; {переходим к следующему значению}

end;

// выбор модели автобуса

UniQuery1.Active:=false;

UniQuery1.SQL.Clear; {Очистим SQL запрос}

UniQuery1.SQL.Text:='SELECT модель FROM buses'; {Выберем поле id из buses}

UniQuery1.Active := True; {Активируем}

UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not UniQuery1.EOF do

begin

ComboBox8.Items.Add(UniQuery1.FieldByName('модель').AsString); {Заполняем комбобокс значениями}

UniQuery1.Next; {переходим к следующему значению}

end;

// выбор Рег_номера

UniQuery1.Active:=false;

UniQuery1.SQL.Clear;

UniQuery1.SQL.Text:='SELECT рег_номер FROM buses';

UniQuery1.Active := True;

UniQuery1.First;

While not UniQuery1.EOF do

begin

Combobox2.Items.Add(UniQuery1.FieldByName('рег_номер').AsString);

UniQuery1.Next;

end;

// выбор борт_номер

UniQuery1.Active:=false;

UniQuery1.SQL.Clear;

UniQuery1.SQL.Text:='SELECT борт_номер FROM buses';

UniQuery1.Active := True;

UniQuery1.First;

While not UniQuery1.EOF do

begin

Combobox3.Items.Add(UniQuery1.FieldByName('борт_номер').AsString);

UniQuery1.Next;

end;

// выбор водителя_1

UniQuery1.Active:=false;

UniQuery1.SQL.Clear;

UniQuery1.SQL.Text:='SELECT ФИО FROM busdriver';

UniQuery1.Active := True;

UniQuery1.First;

While not UniQuery1.EOF do

begin

Combobox4.Items.Add(UniQuery1.FieldByName('ФИО').AsString);

UniQuery1.Next;

end;

// выбор_водителя_2

UniQuery1.Active:=false;

UniQuery1.SQL.Clear;

UniQuery1.SQL.Text:='SELECT `Фамилия`, `Имя`, `Отчество` FROM busdriver';

UniQuery1.Active := True;

UniQuery1.First;

While not UniQuery1.EOF do

begin

ComboBox5.Items.Add

(UniQuery1.FieldByName('Фамилия').AsString

+' '

+UniQuery1.FieldByName('Имя').AsString

+' '

+UniQuery1.FieldByName('Отчество').AsString);

UniQuery1.Next;

end;

end;

end.

//подсистема Навигация «NaviBus»

//серверная часть

unit osn;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdContext,

IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer, Vcl.Menus,

IdAntiFreezeBase, Vcl.IdAntiFreeze, Data.DB, DBAccess, Uni, MemDS,

UniProvider, MySQLUniProvider, Vcl.DBCtrls, Vcl.Mask;

type

Tserver = class(TForm)

Memo1: TMemo;

Label1: TLabel;

GroupBox1: TGroupBox;

IdTCPServer1: TIdTCPServer;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

ListBox1: TListBox;

Label2: TLabel;

IdAntiFreeze1: TIdAntiFreeze;

MySQLUniProvider1: TMySQLUniProvider;

UniConnection1: TUniConnection;

UniQuery1: TUniQuery;

UniDataSource1: TUniDataSource;

GroupBox2: TGroupBox;

Label3: TLabel;

Label4: TLabel;

Button1: TButton;

Label5: TLabel;

DBEdit1: TDBEdit;

Label6: TLabel;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Label7: TLabel;

Button2: TButton;

DBText1: TDBText;

procedure FormCreate(Sender: TObject);

procedure IdTCPServer1Execute(AContext: TIdContext);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

server: Tserver;

implementation

{$R *.dfm}

//скрываем информацию о ПС

procedure Tserver.Button1Click(Sender: TObject);

begin

GroupBox1.Visible:=false;

GroupBox2.Visible:=false;

Button1.Visible:=false;

end;

//параметры сервера

procedure Tserver.FormCreate(Sender: TObject);

begin

IdTCPServer1.DefaultPort := 12345;

IdTCPServer1.Active := true;

end;

procedure Tserver.IdTCPServer1Execute(AContext: TIdContext);

var

l: string; // строковая переменная, в которую мы будем получать данные

begin

l := AContext.Connection.IOHandler.ReadLn();

Memo1.Lines.Add(l+DateTimeToStr(Now));

end;

//отображение информации о выбранном автобусе

procedure Tserver.ListBox1Click(Sender: TObject);

begin

GroupBox2.Visible:=true;

//выбираем через запрос информацию об автобусе

UniQuery1.Active:=false;

UniQuery1.Close;

Uniquery1.SQL.Clear;

UniQuery1.SQL.Text:='Select * From work where `борт`="'+ListBox1.items.Strings[ListBox1.ItemIndex]+'";';

UniQuery1.Execute;

UniQuery1.Active:=true;

//выводим остановку выбранного борта

DBEdit1.DataSource:=UNIDataSource1;

DBEdit1.DataField:='остановка';

//маршрут

DBEdit2.DataSource:=UNIDataSource1;

DBEdit2.DataField:='маршрут';

// и направление движения

DBEdit3.DataSource:=UNIDataSource1;

DBEdit3.DataField:='направление';

end;

//сохранение лога

procedure Tserver.N2Click(Sender: TObject);

var

saveDialog : TSaveDialog; // Переменная диалога сохранения

begin

saveDialog:=TSaveDialog.Create(self);

saveDialog.Title := 'Save log history';

// Разрешаем сохранять файлы типа .txt и .doc

saveDialog.Filter := 'Текстовый документ|*.txt|';

saveDialog.FileName:='Log history ['+DateToStr(Now)+']';

if saveDialog.Execute then begin

memo1.Lines.SaveToFile(SaveDialog.FileName+'.txt');

ShowMessage('Файл лога : '+saveDialog.FileName+' успешно сохранен');

end else ShowMessage('Сохранение отменено!'); // Освобождения диалога

saveDialog.Free;

//

end;

//очистка лога

procedure Tserver.N5Click(Sender: TObject);

begin

memo1.Clear;

end;

//вывод ПС на линии(онлайн)

procedure Tserver.N7Click(Sender: TObject);

begin

IdAntiFreeze1.Active:=true;

ListBox1.Items.Clear;

UniQuery1.SQL.Clear;

UniQuery1.SQL.Text:=('Select * From buses where `Online`="1";');

UniQuery1.ExecSQL;

While not UniQuery1.EOF do

begin

ListBox1.Items.Add(UniQuery1.FieldByName('борт_номер').AsString); //Заполняем

UniQuery1.Next;

end;

ListBox1.ItemIndex :=0;

IdAntiFreeze1.Active:=false;

GroupBox1.Visible:=true;

Button1.Visible:=true;

end;

end.

//клиентская часть

//модуль авторизация

unit authorization;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls,

Data.DB, DBAccess, Uni, MemDS, UniProvider, MySQLUniProvider;

type

Tvhod = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

MySQLUniProvider1: TMySQLUniProvider;

UniConnection1: TUniConnection;

UniTable1: TUniTable;

UniDataSource1: TUniDataSource;

DBEdit1: TDBEdit;

UniQuery1: TUniQuery;

GroupBox1: TGroupBox;

DBEdit2: TDBEdit;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

vhod: Tvhod;

implementation

uses osn;

{$R *.dfm}

//процедура авторизации

procedure Tvhod.Button1Click(Sender: TObject);

begin

DBEdit1.Text:='';

DBEdit1.DataField:='';

if (Edit1.Text='') or (Edit2.Text='') then

ShowMessage('Имя пользователя и/или пароль не могут быть пустыми!');

//если пользователь администратор

if Edit1.Text='admin' then begin

UniTable1.Active:=false;

UniTable1.TableName:='users';

UniTable1.SQL.Clear;

UniTable1.SQL.Text:='SELECT * FROM `users` where `Login`="'+Edit1.Text+'";';

UniTable1.Active:=true;

DBEdit1.DataSource:=UniDataSource1;

DBEdit1.DataField:='password';

DBEdit2.DataSource:=UniDataSource1;

DBEdit2.DataField:='Должность';

if Edit2.Text=DBEdit1.Text

then begin

main.Show;

end;

end

//если не администратор

else begin

UniTable1.Active:=false;

UniTable1.TableName:='users';

UniTable1.SQL.Clear;

UniTable1.SQL.Text:='SELECT * FROM `users` where `Login`="'+Edit1.Text+'";';

UniTable1.Active:=true;

DBEdit1.DataSource:=UniDataSource1;

DBEdit1.DataField:='password';

DBEdit2.DataSource:=UniDataSource1;

DBEdit2.DataField:='Должность';

if (Edit2.Text=DBEdit1.Text)

and (DBEdit2.Text='водитель')

//and (DBEdit3.Text='1')

then begin

main.Show;

//отправляем на сервер информацию что пользователь вошел

main.IdTCPClient1.Port := 12345;

main.IdTCPClient1.Host := '127.0.0.1';

main.IdTCPClient1.Connect;

main.IdTCPClient1.IOHandler.WriteLn(Edit1.Text+' is logged in the system ');

main.IdTCPClient1.Disconnect;

vhod.Hide;

end else

ShowMessage('Имя пользователя или пароль не верны!');

end;

end;

procedure Tvhod.FormCreate(Sender: TObject);

begin

UniTable1.Active:=false;

UniTable1.TableName:='users';

UniTable1.SQL.Clear;

UniTable1.SQL.Text:='SELECT * FROM `users` where `Login`="'+Edit1.Text+'";';

UniTable1.Active:=true;

DBEdit1.DataSource:=UniDataSource1;

DBEdit1.DataField:='password';

DBEdit2.DataSource:=UniDataSource1;

DBEdit2.DataField:='Должность';

end;

end.

//основной модуль

unit osn;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdBaseComponent,

IdComponent, IdTCPConnection, IdTCPClient, Vcl.Menus, Vcl.MPlayer, mmsystem;

type

Tmain = class(TForm)

Label1: TLabel;

GroupBox1: TGroupBox;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

IdTCPClient1: TIdTCPClient;

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

ListBox1: TListBox;

GroupBox2: TGroupBox;

Button5: TButton;

Button6: TButton;

procedure N1Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

//---Отображение на панели задач(часть1)---//

protected

procedure CreateParams(var Params: TCreateParams); override;

//---Отображение на панели задач(часть1)---//

end;

var

main: Tmain;

a:integer;

implementation

uses authorization, R_L;

{$R *.dfm}

//---Отображение на панели задач(часть2)---//

procedure Tmain.CreateParams(var Params: TCreateParams);

begin

inherited;

Params.WndParent := 0; //отображение на панели задач

end;

//---Отображение на панели задач(часть2)---//

//перейти к предыдущей остановке

procedure Tmain.Button3Click(Sender: TObject);

begin

ListBox1.ItemIndex:=ListBox1.ItemIndex-1;

end;

//перейти к следующей остановке

procedure Tmain.Button4Click(Sender: TObject);

begin

ListBox1.ItemIndex:=ListBox1.ItemIndex+1;

end;

procedure Tmain.Button5Click(Sender: TObject);

begin

//отправляем на сервер информацию об текущей остановке автобуса

IdTCPClient1.Port := 12345;

IdTCPClient1.Host := '127.0.0.1';

IdTCPClient1.Connect;

IdTCPClient1.IOHandler.WriteLn(vhod.Edit1.Text+' at the stop '+ListBox1.items.Strings[ListBox1.ItemIndex]);

IdTCPClient1.Disconnect;

//обновляем информацию об текущей остановке

vhod.UniQuery1.Close;

vhod.Uniquery1.SQL.Clear;

vhod.UniQuery1.SQL.Text:='UPDATE `work` SET `остановка`="'+ListBox1.items.Strings[ListBox1.ItemIndex]+'" WHERE борт="'+RL.Combobox3.Text+'";';

vhod.UniQuery1.Execute;

end;

procedure Tmain.N1Click(Sender: TObject);

begin

//отправляем на сервер информацию что пользователь вышел

IdTCPClient1.Port := 12345;

IdTCPClient1.Host := '127.0.0.1';

IdTCPClient1.Connect;

IdTCPClient1.IOHandler.WriteLn(vhod.Edit1.Text+' came out of the system ');

IdTCPClient1.Disconnect;

//отмечаем в БД что пользователь вышел

vhod.UniQuery1.Close;

vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

vhod.UniQuery1.SQL.Text:='UPDATE `buses` SET `online`="0" WHERE борт_номер="'+RL.Combobox3.Text+'";';

vhod.UniQuery1.ExecSQL;

vhod.UniQuery1.Execute;

//закрываем приложение

application.Terminate;

end;

procedure Tmain.N7Click(Sender: TObject);

begin

RL.Show;

end;

end.

//модуль выход на маршрут

unit R_L;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls;

type

TRL = class(TForm)

ComboBox1: TComboBox;

Button1: TButton;

ComboBox2: TComboBox;

ComboBox3: TComboBox;

GroupBox1: TGroupBox;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations }

public

{ Public declarations }

end;

var

RL: TRL;

implementation

uses osn, authorization;

{$R *.dfm}

procedure TRL.Button1Click(Sender: TObject);

begin

//

main.ListBox1.Clear;

//отправляем на сервер информацию автобус вышел на маршрут

main.IdTCPClient1.Port := 12345;

main.IdTCPClient1.Host := '127.0.0.1';

main.IdTCPClient1.Connect;

main.IdTCPClient1.IOHandler.WriteLn(vhod.Edit1.Text+' left on the line '+Combobox1.Text+' in the direction '+Combobox2.Text+' ');

main.IdTCPClient1.Disconnect;

//

if Combobox2.Text='1' then begin

vhod.UniQuery1.Active:=false;

vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

vhod.UniQuery1.SQL.Text:='SELECT `Название` FROM `busstops` where `Маршруты`="'+Combobox1.Text+'" order by id ASC';

vhod.UniQuery1.Active := True; {Активируем}

vhod.UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not vhod.UniQuery1.EOF do

begin

main.ListBox1.Items.Add(vhod.UniQuery1.FieldByName('Название').AsString); {Заполняем комбобокс значениями}

vhod.UniQuery1.Next; {переходим к следующему значению}

end

end;

if Combobox2.Text='2' then begin

vhod.UniQuery1.Active:=false;

vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

vhod.UniQuery1.SQL.Text:='SELECT `Название` FROM `busstops` where `Маршруты`="'+Combobox1.Text+'" order by id DESC';

vhod.UniQuery1.Active := True; {Активируем}

vhod.UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not vhod.UniQuery1.EOF do

begin

main.ListBox1.Items.Add(vhod.UniQuery1.FieldByName('Название').AsString); {Заполняем комбобокс значениями}

vhod.UniQuery1.Next; {переходим к следующему значению}

end;

end;

main.GroupBox1.Enabled:=true;

main.GroupBox2.Enabled:=true;

main.ListBox1.Enabled:=true;

//

// vhod.UniQuery1.Close;

// vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

// vhod.UniQuery1.SQL.Text:='UPDATE `work` SET `борт`="'+Combobox3.Text+'";';

// vhod.UniQuery1.ExecSQL;

// vhod.UniQuery1.Execute;

// обновляем информацию о маршруте борта в БД

vhod.UniQuery1.Close;

vhod.Uniquery1.SQL.Clear;

vhod.UniQuery1.SQL.Text:='UPDATE `work` SET `маршрут`="'+Combobox1.Text+'" WHERE борт="'+RL.Combobox3.Text+'";';

vhod.UniQuery1.Execute;

// обновляем информацию о направлении борта

vhod.UniQuery1.Close;

vhod.Uniquery1.SQL.Clear;

vhod.UniQuery1.SQL.Text:='UPDATE `work` SET `направление`="'+Combobox2.Text+'" WHERE борт="'+RL.Combobox3.Text+'";';

vhod.UniQuery1.Execute;

//

RL.Close;

end;

//добавляем в таблицу значение что пользователь онлайн

procedure TRL.FormClose(Sender: TObject; var Action: TCloseAction);

begin

vhod.UniQuery1.Close;

vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

vhod.UniQuery1.SQL.Text:='UPDATE `buses` SET `online`="1" WHERE борт_номер="'+Combobox3.Text+'";';

vhod.UniQuery1.ExecSQL;

vhod.UniQuery1.Execute;

end;

procedure TRL.FormCreate(Sender: TObject);

begin

vhod.UniQuery1.Active:=false;

vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

vhod.UniQuery1.SQL.Text:='SELECT Номер FROM routes';

vhod.UniQuery1.Active := True; {Активируем}

vhod.UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not vhod.UniQuery1.EOF do

begin

Combobox1.Items.Add(vhod.UniQuery1.FieldByName('Номер').AsString); {Заполняем комбобокс значениями}

vhod.UniQuery1.Next; {переходим к следующему значению}

end;

Combobox1.TextHint:='Выберите маршрут...';

//

vhod.UniQuery1.Active:=false;

vhod.UniQuery1.SQL.Clear; {Очистим SQL запрос}

vhod.UniQuery1.SQL.Text:='SELECT борт_номер FROM buses';

vhod.UniQuery1.Active := True; {Активируем}

vhod.UniQuery1.First; {Укажем на первую запись}

{Очистим комбобокс статуса и считаем в него данные и добавим свое значение}

{цикл от начала до конца}

While not vhod.UniQuery1.EOF do

begin

Combobox3.Items.Add(vhod.UniQuery1.FieldByName('борт_номер').AsString); {Заполняем комбобокс значениями}

vhod.UniQuery1.Next; {переходим к следующему значению}

end;

end;

end.

Изм.

Лист

документа

Подпись

Дата

Лист

1

ДП 230105.12.17 ПЗ