bookticketunit.pas

来自「很好地delphi书籍源码」· PAS 代码 · 共 313 行

PAS
313
字号
unit BookTicketUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ImgList, ComCtrls, ToolWin, StdCtrls, Grids, DBGrids, Buttons,
  DBActns, ActnList, Menus;

type
  TFrmBookTicket = class(TForm)
    ToolBar1: TToolBar;
    AddTButton: TToolButton;
    DelTButton: TToolButton;
    ToolButton7: TToolButton;
    ToolButton3: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton1: TToolButton;
    ImageList1: TImageList;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    BNameCB: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    TkindCB: TComboBox;
    AddGB: TGroupBox;
    IDCB: TComboBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    NameCB: TComboBox;
    DateEdit: TEdit;
    KindCB: TComboBox;
    DesCB: TComboBox;
    OkSB: TSpeedButton;
    AddCancelSB: TSpeedButton;
    ForeEdit: TComboBox;
    SpeedButton1: TSpeedButton;
    ActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetPrior1: TDataSetPrior;
    DataSetNext1: TDataSetNext;
    DataSetLast1: TDataSetLast;
    Label10: TLabel;
    BDateEdit: TEdit;
    NoteCB: TComboBox;
    BNoteCB: TComboBox;
    Label11: TLabel;
    ModGB: TGroupBox;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    ModSB: TSpeedButton;
    ModCancelSB: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Label19: TLabel;
    TDateEdit1: TEdit;
    KindCbB: TComboBox;
    DesCbB: TComboBox;
    ForeCbB: TComboBox;
    BDateEdit2: TEdit;
    NoteCbB: TComboBox;
    SpeedButton3: TSpeedButton;
    SpeedButton6: TSpeedButton;
    IDCbB: TEdit;
    NameCbB: TEdit;
    SpeedButton2: TSpeedButton;
    ToolButton2: TToolButton;
    procedure FormCreate(Sender: TObject);
    procedure OkSBClick(Sender: TObject);
    procedure AddTButtonClick(Sender: TObject);
    procedure AddCancelSBClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DelTButtonClick(Sender: TObject);
    procedure TkindCBChange(Sender: TObject);
    procedure BNoteCBChange(Sender: TObject);
    procedure BNameCBChange(Sender: TObject);
    procedure ModSBClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure ModCancelSBClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
  private
    procedure SelectAll;
 
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmBookTicket: TFrmBookTicket;
  function GetMyDateTime : TDateTime; stdcall; external 'MyDll.dll';

implementation
uses DataModuleUnit, GetYourInputUnit, Dy_QReport, DynamicFormUnit;

{$R *.dfm}

procedure TFrmBookTicket.FormCreate(Sender: TObject);
begin
  IDCB.Items:=FindGuestID;
  SelectAll;
end;

procedure TFrmBookTicket.OkSBClick(Sender: TObject);
var
  SQLStr:string;
begin
  if (not IsInteger(IDCB.Text))or
     (not IsInteger(ForeEdit.Text))or
     (NameCB.Text='')or(DateEdit.Text='')or(DesCB.Text='') then
  begin
    ShowMessage('输入的信息不全或有错误!');
    Exit;
  end;
  SQLStr:='Insert tbBookTicket Values('+IDCB.Text+',"'
          +NameCB.Text+'","'+KindCB.Text+'","'+DateEdit.Text+'","'
          +BDateEdit.Text+'",'+ForeEdit.Text+',"'+DesCB.Text+'","'
          +NoteCB.Text+'")';
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add(SQLStr);
    ExecSQL;
  end;
  SelectAll;
  AddGB.Visible:=false;
end;

procedure TFrmBookTicket.AddTButtonClick(Sender: TObject);
begin
  AddGB.Left:=10;
  AddGB.Top:=20;
  AddGB.Visible:=true;
end;

procedure TFrmBookTicket.SelectAll;
begin
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT GuestID as 客户编号,GuestName as 客户姓名,TKind 交通工具,');
    SQL.Add('TDate as 车票日期, Foregift as 预付押金, DesTown as 目的地,');
    SQL.Add('BDate as 订票时间, Note as 备注  From tbBookTicket');
    Open;
  end;
end;

procedure TFrmBookTicket.AddCancelSBClick(Sender: TObject);
begin
  AddGB.Visible:=false;
end;

procedure TFrmBookTicket.SpeedButton1Click(Sender: TObject);
begin
   DateEdit.Text:=DateTimeToStr(GetMyDateTime);
end;

procedure TFrmBookTicket.ToolButton1Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmBookTicket.DBGrid1CellClick(Column: TColumn);
begin
  if DataModule1.qBookTicket.RecordCount=0 then exit;
  ModGB.Left:=30;
  ModGB.Top:=30;
  IDCbB.Text    :=Column.Grid.Fields[0].Value;
  NameCbB.Text  :=Column.Grid.Fields[1].Value;
  KindCbB.Text  :=Column.Grid.Fields[2].Value;
  TDateEdit1.Text :=Column.Grid.Fields[3].Value;
  ForeCbB.Text  :=Column.Grid.Fields[4].Value;
  DesCbB.Text   :=Column.Grid.Fields[5].Value;
  BDateEdit2.Text:=Column.Grid.Fields[6].Value;
  NoteCbB.Text  :=Column.Grid.Fields[7].Value;
  ModGB.Visible:=true;
end;

procedure TFrmBookTicket.DelTButtonClick(Sender: TObject);
begin
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add('DELETE  tbBookTicket WHERE Note="结束"');
    ExecSQL;
  end;
  SelectAll;
end;

procedure TFrmBookTicket.TkindCBChange(Sender: TObject);
begin
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT GuestID as 客户编号,GuestName as 客户姓名,TKind 交通工具,');
    SQL.Add('TDate as 车票日期, Foregift as 预付押金, DesTown as 目的地,');
    SQL.Add('Note as 备注  From tbBookTicket where TKind like "'+TkindCB.Text+'%"');
    Open;
  end;

end;

procedure TFrmBookTicket.BNoteCBChange(Sender: TObject);
begin
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT GuestID as 客户编号,GuestName as 客户姓名,TKind 交通工具,');
    SQL.Add('TDate as 车票日期, Foregift as 预付押金, DesTown as 目的地,');
    SQL.Add('Note as 备注  From tbBookTicket where Note like "'+BNoteCB.Text+'%"');
    Open;
  end;
end;

procedure TFrmBookTicket.BNameCBChange(Sender: TObject);
begin
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT GuestID as 客户编号,GuestName as 客户姓名,TKind 交通工具,');
    SQL.Add('TDate as 车票日期, Foregift as 预付押金, DesTown as 目的地,');
    SQL.Add('Note as 备注  From tbBookTicket where GuestName like "'+BNameCB.Text+'%"');
    Open;
  end;

end;

procedure TFrmBookTicket.ModSBClick(Sender: TObject);
var
  SQLStr:string;
begin
  if (not IsInteger(IDCbB.Text))or
     (not IsInteger(ForeCbB.Text))or
     (NameCbB.Text='')or(TDateEdit1.Text='')or(DesCbB.Text='') then
  begin
    ShowMessage('输入的信息不全或有错误!');
    Exit;
  end;
  SQLStr:='UPDATE  tbBookTicket SET '
         +' TKind="'+KindCbB.Text +'",'
         +' TDate="'+TDateEdit1.Text +'",'
         +' Foregift='+ForeCbB.Text +','
         +' DesTown="'+DesCbB.Text+'",'
         +' BDate="'+BDateEdit2.Text+'",'
         +' Note="'+NoteCbB.Text+'" where GuestName="'+NameCbB.Text+'"';
  with DataModule1.qBookTicket  do
  begin
    Close;
    SQL.Clear;
    SQL.Add(SQLStr);
    ExecSQL;
  end;
  SelectAll;
  ModGB.Visible:=false;
end;
procedure TFrmBookTicket.SpeedButton3Click(Sender: TObject);
begin
  BDateEdit2.Text:=DateTimeToStr(GetMyDateTime);
end;

procedure TFrmBookTicket.SpeedButton6Click(Sender: TObject);
begin
  BDateEdit.Text:=DateTimeToStr(GetMyDateTime);
end;

procedure TFrmBookTicket.ModCancelSBClick(Sender: TObject);
begin
  ModGB.Visible:=false;
end;

procedure TFrmBookTicket.SpeedButton2Click(Sender: TObject);
begin
  NameCB.Text:=GetYourString;
end;

procedure TFrmBookTicket.ToolButton2Click(Sender: TObject);
var
 DynamicForm:TDynamicForm;
 GridPrint:TGridPrint;
begin
  DynamicForm:=TDynamicForm.Create(Application);
  with DynamicForm do
  begin
//  DynamicForm.QuickRep.Page.Orientation:=poLandscape;
    GridPrint:=TGridPrint.Create(QuickRep,DBGrid1,TitleB,HeaderB,DetailB,
                      '订票信息表');
    GridPrint.DoPreview();
    GridPrint.Free;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?