Диплом: Автоматизация продажи железнодорожных билетов ООО «Four cardinal points Train»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
131
procedure TfmTrainSearch.bbtTrainInfoClick(Sender: TObject);
begin
if DM.qrTrainSearch.Active then
if DM.qrTrainSearch.RecordCount<>0 then begin
fmInfoStockAndPath.dblcbN.KeyValue :=
DM.qrTrainSearch.FieldByName('NПоезда').Value;
fmInfoStockAndPath.dblcbNClick(Self);
fmInfoStockAndPath.ShowModal;
end;
end;
procedure TfmTrainSearch.FormShow(Sender: TObject);
begin
edStationFrom.Clear;
edStationTo.Clear;
MonthCalendar1.Date := Now;
MonthCalendar2.Date := Now;
DM.qrTrainSearch.Close;
end;
//Вывод на экран формы продажи билета и поиск на этой форме
//выбранного поезда, станции, даты:
procedure TfmTrainSearch.bbtTicketCellClick(Sender: TObject);
begin
if DM.qrTrainSearch.Active then
if DM.qrTrainSearch.RecordCount<>0 then begin
fmTicketSell.dblcbN.KeyValue :=
DM.qrTrainSearch.FieldByName('NПоезда').Value;
fmTicketSell.dblcbStationFrom.KeyValue := Station1;
fmTicketSell.dblcbStationTo.KeyValue := Station2;
fmTicketSell.dblcbDateFrom.KeyValue := MonthCalendar1.Date;
DM.qrTimetable.Locate('Дата',
DM.qrTrainSearch.FieldbyName('Дата').AsString, []);
fmTicketSell.dblcbDateFrom.KeyValue :=
DM.qrTimetable.FieldbyName('ID').Value;
fmTicketSell.dblcbNClick(Self);
fmTicketSell.ShowModal;
end;
end;
//Вывод на экран формы информации о билетах в наличии и поиск на этой форме
//выбранного поезда, станции, даты:
procedure TfmTrainSearch.bbtTicketPresClick(Sender: TObject);
begin
if DM.qrTrainSearch.Active then
if DM.qrTrainSearch.RecordCount<>0 then begin
fmTicketPres.dblcbN.KeyValue :=
DM.qrTrainSearch.FieldByName('NПоезда').Value;
fmTicketPres.dblcbStationFrom.KeyValue := Station1;
DM.qrTimetable.Locate('Дата',
DM.qrTrainSearch.FieldbyName('Дата').AsString, []);
fmTicketPres.dblcbDateFrom.KeyValue :=
DM.qrTimetable.FieldbyName('ID').Value;
fmTicketPres.dblcbNClick(Self);
fmTicketPres.ShowModal;
end;
end;
procedure TfmTrainSearch.BitBtn2Click(Sender: TObject);
begin
Close;
132
end;
end.
Листинг модуля uTrain.pas
unit uTrain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids;
type
TfmTrain = class(TForm)
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
bbtEditPath: TBitBtn;
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
edNSearch: TEdit;
edNameSearch: TEdit;
DBGrid3: TDBGrid;
Label4: TLabel;
bbtEditStock: TBitBtn;
bbtStockPrint: TBitBtn;
bbtPathPrint: TBitBtn;
BitBtn1: TBitBtn;
bbtEdit: TBitBtn;
bbtDel: TBitBtn;
bbtIns: TBitBtn;
BitBtn2: TBitBtn;
procedure bbtInsClick(Sender: TObject);
procedure bbtEditClick(Sender: TObject);
procedure bbtDelClick(Sender: TObject);
procedure bbtEditPathClick(Sender: TObject);
procedure edNSearchChange(Sender: TObject);
procedure edNameSearchChange(Sender: TObject);
procedure bbtEditStockClick(Sender: TObject);
procedure bbtStockPrintClick(Sender: TObject);
procedure bbtPathPrintClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmTrain: TfmTrain;
implementation
uses uDM, uTrainEditIns, uPath, DB, uStock, uRep, uCarriage;
{$R *.dfm}
procedure TfmTrain.bbtInsClick(Sender: TObject);
begin
133
fmTrainEditIns.Caption := 'Добавление поезда';
fmTrainEditIns.edNTrain.Clear;
fmTrainEditIns.edName.Clear;
fmTrainEditIns.ShowModal;
end;
procedure TfmTrain.bbtEditClick(Sender: TObject);
begin
fmTrainEditIns.Caption := 'Изменение поезда';
fmTrainEditIns.edNTrain.Text := DM.qrTrain.FieldByName('NПоезда').AsString;
fmTrainEditIns.edName.Text :=
DM.qrTrain.FieldByName('НазваниеПоезда').AsString;
fmTrainEditIns.dtpDate1.Date :=
DM.qrTrain.FieldByName('ДатаНачалаСледования').AsDateTime;
fmTrainEditIns.dtpDate1.Date :=
DM.qrTrain.FieldByName('ДатаОкончанияСледования').AsDateTime;
fmTrainEditIns.ShowModal;
end;
procedure TfmTrain.bbtDelClick(Sender: TObject);
begin
DM.spTrainDel.Parameters.ParamByName('@NПоезда').Value :=
DM.qrTrain.FieldByName('NПоезда').Value;
DM.spTrainDel.ExecProc;
DM.qrTrain.Requery();
end;
procedure TfmTrain.bbtEditPathClick(Sender: TObject);
begin
fmPath.Caption := 'Формирование пути следования и расписания движения
поезда №' +
DM.qrTrain.FieldByName('NПоезда').AsString;
fmPath.ShowModal;
end;
//Поиск поезда по его номеру:
procedure TfmTrain.edNSearchChange(Sender: TObject);
begin
DM.qrTrain.Locate('NПоезда', edNSearch.Text, [loPartialKey,
loCaseInsensitive])
end;
//Поиск поезда по его номеру:
procedure TfmTrain.edNameSearchChange(Sender: TObject);
begin
DM.qrTrain.Locate('НазваниеПоезда', edNameSearch.Text, [loPartialKey,
loCaseInsensitive])
end;
procedure TfmTrain.bbtEditStockClick(Sender: TObject);
begin
fmStock.Caption := 'Формирование состава поезда №' +
DM.qrTrain.FieldByName('NПоезда').AsString;
fmStock.ShowModal;
end;
procedure TfmTrain.bbtStockPrintClick(Sender: TObject);
begin
fmRep.qrpStock.Preview;
end;
procedure TfmTrain.bbtPathPrintClick(Sender: TObject);
begin
134
fmRep.qrpPath.Preview;
end;
procedure TfmTrain.BitBtn1Click(Sender: TObject);
begin
fmCarriage.ShowModal;
end;
procedure TfmTrain.BitBtn2Click(Sender: TObject);
begin
Close;
end;
end.
Листинг модуля uTickets.pas
unit uTickets;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, DBCtrls, Buttons;
type
TfmTickets = class(TForm)
DBGrid1: TDBGrid;
Label11: TLabel;
DBGrid2: TDBGrid;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
dtpDateFrom: TDateTimePicker;
Label5: TLabel;
dtpDateTo: TDateTimePicker;
dblcbNTrain: TDBLookupComboBox;
dblcbNameTrain: TDBLookupComboBox;
dblcbStation: TDBLookupComboBox;
sbtFilter: TSpeedButton;
BitBtn2: TBitBtn;
BitBtn1: TBitBtn;
procedure FormShow(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure sbtFilterClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmTickets: TfmTickets;
135
implementation
uses uDM, uRep;
{$R *.dfm}
procedure TfmTickets.FormShow(Sender: TObject);
begin
//Связывание подчиненной таблицы МестаБилета с главной таблицей Билеты:
DM.qrAllTickets.Open;
DM.qrTicketSeats.DataSource := DM.dsAllTickets;
DM.qrTicketSeats.Open;
if not DM.qrCarriageSeat.Active then DM.qrCarriageSeat.Open;
dtpDateTo.Date := Now;
end;
procedure TfmTickets.RadioButton1Click(Sender: TObject);
var Order: string;
begin
//Определение выбранрого порядка сортировки Билетов:
if RadioButton1.Checked then
Order := 'Order By NБилета'
else
if RadioButton2.Checked then
Order := 'Order By NПоезда'
else
if RadioButton3.Checked then
Order := 'Order By Станция1'
else
if RadioButton4.Checked then
Order := 'Order By Дата1, Дата2'
else
Order := 'Order By ФИО';
DM.qrAllTickets.SQL.Strings[1] := Order;
DM.qrAllTickets.Active := True;
end;
procedure TfmTickets.sbtFilterClick(Sender: TObject);
begin
if sbtFilter.Down then begin
//Установка фильтра по заданным критериям:
DM.qrAllTickets.Filter := '';
sbtFilter.Caption := 'Отменить фильтр';
//По номеру поезда:
if dblcbNTrain.KeyValue<>Null then
DM.qrAllTickets.Filter := '(NПоезда = ' +
QuotedStr(dblcbNTrain.KeyValue) + ')';
//По названию поезда:
if dblcbNameTrain.KeyValue<>Null then begin
if DM.qrAllTickets.Filter<>'' then DM.qrAllTickets.Filter :=
DM.qrAllTickets.Filter + ' and ';
DM.qrAllTickets.Filter := DM.qrAllTickets.Filter +
'(НазваниеПоезда = ' + QuotedStr(dblcbNameTrain.KeyValue) + ')';
end;
//По названию станции отправления:
if dblcbStation.KeyValue<>Null then begin
if DM.qrAllTickets.Filter<>'' then DM.qrAllTickets.Filter :=
DM.qrAllTickets.Filter + ' and ';
DM.qrAllTickets.Filter := DM.qrAllTickets.Filter +
136
'(Станция1 = ' + QuotedStr(dblcbStation.KeyValue) + ')';
end;
//По дате оправления:
if DM.qrAllTickets.Filter<>'' then DM.qrAllTickets.Filter :=
DM.qrAllTickets.Filter + ' and ';
DM.qrAllTickets.Filter := DM.qrAllTickets.Filter +
'(Дата1 >= ' + DateToStr(dtpDateFrom.Date) + ')';
//По дате прибытия:
if DM.qrAllTickets.Filter<>'' then DM.qrAllTickets.Filter :=
DM.qrAllTickets.Filter + ' and ';
DM.qrAllTickets.Filter := DM.qrAllTickets.Filter +
'(Дата1 <= ' + DateToStr(dtpDateTo.Date) + ')';
DM.qrAllTickets.Filtered := True;
end
else begin
//Отмена фильтра:
sbtFilter.Caption := 'Отфильтровать';
DM.qrAllTickets.Filtered := False;
dblcbNTrain.KeyValue := Null;
dblcbNameTrain.KeyValue := Null;
dblcbStation.KeyValue := Null;
dtpDateFrom.Date := StrToDate('01.01.2005');
dtpDateTo.Date := Now;;
end;
end;
procedure TfmTickets.BitBtn2Click(Sender: TObject);
begin
fmRep.qrpTickets.Preview;
end;
procedure TfmTickets.BitBtn1Click(Sender: TObject);
begin
Close;
end;
end.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")