Приложение. Код программы
//АИС «АТП». Работа с БД //модуль авторизация
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.
Изм. Лист № документа Подпись Дата Лист ДП 230105.12.17 ПЗ
- Оглавление
- Глава 1 Постановка задачи. 7
- Глава 2 Основная часть 12
- Глава 3 Экономическая часть 55
- Глава 4 Техника безопасности 65
- Введение
- 1.2.1 Требования к функциональным характеристикам
- 1.2.2 Требования к надежности
- 1.2.3 Условия эксплуатации
- 1.2.4 Требования к составу и параметрам технических средств
- 1.2.5 Требования к информационной и программной совместимости
- 1.2.6 Технико-экономические показатели
- 1.2.7 Стадии и этапы разработки
- 1.2.8 Порядок контроля приемки
- 1.2.9 Выбор языка программирования
- Глава 2 Основная часть
- 2.1 Описание программы
- 2.1.1 Общие сведения
- 2.1.2 Функциональное назначение
- 2.1.3 Описание логической структуры
- 2.1.4 Используемые технические средства
- 2.1.5 Входные данные
- 2.1.6 Выходные данные
- Условия применения
- 2.2 Руководство системного программиста
- 2.2.1 Общие сведения о программе
- 2.2.2 Используемые программные средства.
- 2.2.3 Структура программы
- 2.2.4 Структура таблиц базы данных предприятия
- 2.2.5 Этап разработки программы
- 2.2.6 Настройка программы
- 2.2.7 Проверка программы
- 2.2.7.1 Общие сведения о тестировании
- 2.2.7.2 Виды тестирования
- 2.2.7.3 Методы тестирования
- 2.2.7.4 Принципы тестирования
- 2.3.4 Сообщения оператору
- Глава 3 Экономическая часть
- Расчет времени на создание программного продукта
- Расчет годового фонда заработной платы исполнителя по созданию программного продукта
- Расчет начислений на заработную плату
- Расчет расходов на содержание и эксплуатацию пэвм
- Расчет себестоимости программного продукта
- Расчет цены программного продукта
- Расчет экономической эффективности
- Глава 4 Техника безопасности
- 4.1. Основы техники безопасности при работе с эвм
- 4.2. Выводы по технике безопасности
- Заключение
- Список используемой литературы
- Приложение. Код программы