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 + -
显示快捷键?