128
edStationTo.Text := DM.qrStation.FieldByName('НазваниеСтанции').AsString;
Station2 := DM.qrStation.FieldByName('ID').AsInteger;
end;
//Поиск рейсов на заданный диапазон дат и для заданных станций отправления и
прибытия:
procedure TfmTrainSearch.bbtSearchClick(Sender: TObject);
begin
DM.qrTrainSearch.Close;
DM.qrTrainSearch.Parameters.ParamByName('pDate1').Value :=
MonthCalendar1.Date;
DM.qrTrainSearch.Parameters.ParamByName('pDate2').Value :=
MonthCalendar2.Date;
DM.qrTrainSearch.Open;
end;
//Поиск станции по частичному совпадению названия:
procedure TfmTrainSearch.edSearchChange(Sender: TObject);
begin
DM.qrStation.Locate('НазваниеСтанции', edSearch.Text, [loPartialKey,
loCaseInsensitive])
end;
//Вывод на экран формы "Состав и путь следования поезда" и поиск на этой
форме
//информации о выбранном поезде:
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);