📄 c_order.pas
字号:
unit c_order;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, DBCtrls, StdCtrls, Buttons, DB, Grids, DBGrids, ExtCtrls,
ComCtrls;
type
Tcfrm_order = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Panel6: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
GroupBox2: TGroupBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit4: TDBEdit;
Panel7: TPanel;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
GroupBox3: TGroupBox;
Label9: TLabel;
Edit4: TEdit;
Label10: TLabel;
ComboBox2: TComboBox;
Label11: TLabel;
ComboBox3: TComboBox;
Label12: TLabel;
Edit5: TEdit;
Label13: TLabel;
Edit6: TEdit;
Label14: TLabel;
Panel8: TPanel;
Panel9: TPanel;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
GroupBox4: TGroupBox;
Label15: TLabel;
Edit2: TEdit;
Label16: TLabel;
Label17: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label18: TLabel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
SpeedButton1: TSpeedButton;
Label19: TLabel;
DBEdit7: TDBEdit;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cfrm_order: Tcfrm_order;
implementation
uses c_datam;
{$R *.dfm}
procedure Tcfrm_order.FormCreate(Sender: TObject);
begin
dm.ADO_room.Open;
dm.ADO_order.Open;
end;
procedure Tcfrm_order.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
if dm.ADO_room.FieldByName('Room_state').AsString<>'空' then
Groupbox2.Visible:=true
else
Groupbox2.Visible:=false;
end;
procedure Tcfrm_order.BitBtn2Click(Sender: TObject);
begin
if (length(edit4.Text)=0)or(length(ComboBox2.Text)=0)or (length(ComboBox3.Text)=0) or (length(edit5.Text)=0)or(length(edit6.Text)=0) or(length(edit2.Text)=0) then
begin
Messagedlg('请输入完备的定房记录信息!',mtError,[mbOK],0);
edit4.SetFocus;
end
else
begin
with dm.ado_order do //登记预定客户信息及其所预定的房间
begin
close;
open;
append;
fieldbyname('Order_id').AsString:=trim(edit2.Text);
fieldbyname('customer_name').AsString:=trim(edit4.Text);
fieldbyname('certifi_type').AsString:=trim(ComboBox3.Text);
fieldbyname('certifi_id').AsString:=trim(edit5.Text);
fieldbyname('phone').AsString:=trim(edit6.Text);
fieldbyname('room_id').AsString:=trim(DBEdit7.Text);
fieldbyname('state_time').asDateTime:=DateTimePicker1.Date;
fieldbyname('end_time').asDateTime:=DateTimePicker2.Date;
fieldbyname('memo').AsString:=trim(memo1.Text);
fieldbyname('gender').AsString:=trim(combobox2.Text);
try
post;
except
Application.MessageBox(PChar('定单号重复,请重新录入!'), PChar('提示'),MB_ICONEXCLAMATION);
edit2.SetFocus();
exit;
end;
end;
with dm.ADO_room do
begin
edit;
fieldbyname('Room_memo').AsString:='预定'; //在对应客房信息的备注中注上已经“预定”
post;
Refresh;
end;
end;
edit2.Enabled:=true;
edit2.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
memo1.Text:='';
Datetimepicker1.Date:=date();
Datetimepicker2.Date:=date();
end;
procedure Tcfrm_order.BitBtn3Click(Sender: TObject);
var mes:string;
begin
mes:='是否要删除订单< '+dm.ADO_order.fieldbyname('Order_id').AsString +'>';
if application.MessageBox(pchar(mes),pchar('等待确认')
,+MB_ICONQUESTION+mb_okcancel+MB_DEFBUTTON2)=idok then
begin
dm.ADO_order.Delete;//删除房间记录
end;
end;
procedure Tcfrm_order.SpeedButton1Click(Sender: TObject);
var
i,count:integer;//生成序号
begin
//生成6位序号
count := GetTickCount();
Randomize;
i := random(999999);
while (i < 100000) do
i := random(999999);
edit2.Text:=inttostr(i);
edit2.Tag:=1; //标始为自动生成
edit2.Enabled:=false;
end;
procedure Tcfrm_order.BitBtn1Click(Sender: TObject);
begin
dm.ADO_room.Locate('Room_id',edit1.Text,[]);
end;
procedure Tcfrm_order.FormShow(Sender: TObject);
begin
Datetimepicker1.Date:=date();
Datetimepicker2.Date:=date();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -