setroomunit.pas
来自「东华休闲山庄洗浴、餐饮、客房管理系统」· PAS 代码 · 共 370 行
PAS
370 行
unit SetRoomUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBClient, SUIButton, StdCtrls, Mask, DBCtrls, Grids,
DBGrids, SUIDBCtrls, ExtCtrls, SUIImagePanel;
type
TSetRoomForm = class(TForm)
suiPanel1: TsuiPanel;
lbl3: TLabel;
lbl6: TLabel;
lbl7: TLabel;
lbl8: TLabel;
lbl9: TLabel;
lbl10: TLabel;
lbl11: TLabel;
suiDBGrid2: TsuiDBGrid;
dbedttype_xh: TDBEdit;
dbedttype_mc: TDBEdit;
dbedttype_zd: TDBEdit;
dbedttype_csdj: TDBEdit;
dbedttype_rnrs: TDBEdit;
dbedttype_yj: TDBEdit;
dbedttype_mp: TDBEdit;
btn1: TsuiButton;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton7: TsuiButton;
suiButton8: TsuiButton;
suiPanel2: TsuiPanel;
lbl12: TLabel;
lbl13: TLabel;
lbl14: TLabel;
lbl15: TLabel;
lbl16: TLabel;
suiDBGrid1: TsuiDBGrid;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
dbedtroom_num: TDBEdit;
dbedtroom_type: TDBEdit;
dbedtroom_state: TDBEdit;
dbedtroom_floor: TDBEdit;
dbedtroom_ID: TDBEdit;
suiButton9: TsuiButton;
suiButton10: TsuiButton;
ds1: TClientDataSet;
wdstrngfldds1type_xh: TWideStringField;
wdstrngfldds1type_mc: TWideStringField;
wdstrngfldds1type_zd: TWideStringField;
ds1type_csdj: TFloatField;
ds1type_rnrs: TIntegerField;
ds1type_yj: TFloatField;
ds1type_mp: TFloatField;
ds2: TDataSource;
ds3: TClientDataSet;
wdstrngfldds3room_num: TWideStringField;
wdstrngfldds3room_type: TWideStringField;
wdstrngfldds3room_state: TWideStringField;
wdstrngfldds3room_floor: TWideStringField;
wdstrngfldds3room_ID: TWideStringField;
ds4: TDataSource;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ds1AfterScroll(DataSet: TDataSet);
procedure btn1Click(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton7Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure suiButton10Click(Sender: TObject);
procedure suiButton9Click(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure dbedttype_mcKeyPress(Sender: TObject; var Key: Char);
procedure dbedttype_zdKeyPress(Sender: TObject; var Key: Char);
procedure dbedttype_csdjKeyPress(Sender: TObject; var Key: Char);
procedure dbedttype_rnrsKeyPress(Sender: TObject; var Key: Char);
procedure dbedttype_yjKeyPress(Sender: TObject; var Key: Char);
procedure dbedttype_mpKeyPress(Sender: TObject; var Key: Char);
procedure dbedtroom_numKeyPress(Sender: TObject; var Key: Char);
procedure dbedtroom_floorKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SetRoomForm: TSetRoomForm;
implementation
uses MainUnit, LoginUnit;
{$R *.dfm}
procedure TSetRoomForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.ds3.Close;
self.ds1.Close;
mainform.RefrushRoomState(0);
mainform.Enabled:=true;
end;
procedure TSetRoomForm.ds1AfterScroll(DataSet: TDataSet);
begin
self.ds3.Close;
self.ds3.Open;
end;
procedure TSetRoomForm.suiButton6Click(Sender: TObject);
begin
close;
end;
procedure TSetRoomForm.FormCreate(Sender: TObject);
begin
self.ds1.Close;
self.ds1.Open;
end;
procedure TSetRoomForm.btn1Click(Sender: TObject);
var
typeid:string;
begin
self.ds1.Append;
loginform.ExecuteSQL('select max(type_xh)+1 from roomtype');
typeid:=loginform.dsQuery.Fields[0].AsString;
loginform.dsQuery.Close;
if length(typeid)=1 then
typeid:='0'+typeid;
self.ds1.FieldByName('type_xh').AsString:=typeid;
self.ds1.FieldByName('type_zd').AsString:='Y';
self.dbedttype_mc.SetFocus;
end;
procedure TSetRoomForm.dbedttype_mcKeyPress(Sender: TObject; var Key: Char);
var
count:integer;
begin
if key=#13 then
begin
loginform.ExecuteSQL('select count(*) from roomtype where type_mc='''+self.dbedttype_mc.Text+'''');
count:=loginform.dsQuery.Fields[0].AsInteger;
loginform.dsQuery.Close;
if count=0 then
self.dbedttype_zd.SetFocus
else
begin
MessageDlg('房间类型【'+self.dbedttype_mc.Text+'】信息已存在,请重新输入!',mtConfirmation, [mbYes], 0);
self.dbedttype_mc.Clear;
self.dbedttype_mc.SetFocus;
end;
end;
end;
procedure TSetRoomForm.dbedttype_zdKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#78,#89,#13,#8,#110,#121]) then
key:=#0
else
if key=#13 then
self.dbedttype_csdj.SetFocus;
end;
procedure TSetRoomForm.dbedttype_csdjKeyPress(Sender: TObject;
var Key: Char);
begin
if not (key in [#48..#57,#13,#8,#46]) then
key:=#0
else
if key=#13 then
self.dbedttype_rnrs.SetFocus;
end;
procedure TSetRoomForm.dbedttype_rnrsKeyPress(Sender: TObject;
var Key: Char);
begin
if not (key in [#48..#57,#13,#8]) then
key:=#0
else
if key=#13 then
self.dbedttype_yj.SetFocus;
end;
procedure TSetRoomForm.dbedttype_yjKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#48..#57,#13,#8,#46]) then
key:=#0
else
if key=#13 then
self.dbedttype_mp.SetFocus;
end;
procedure TSetRoomForm.dbedttype_mpKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#48..#57,#13,#8,#46]) then
key:=#0
else
if key=#13 then
self.suiButton7.SetFocus;
end;
procedure TSetRoomForm.suiButton1Click(Sender: TObject);
begin
self.ds1.Edit;
self.dbedttype_mc.SetFocus;
end;
procedure TSetRoomForm.suiButton8Click(Sender: TObject);
begin
self.ds1.Cancel;
end;
procedure TSetRoomForm.suiButton2Click(Sender: TObject);
var
typename:string;
begin
typename:=self.dbedttype_mc.Text;
if self.ds3.RecordCount>0 then
MessageDlg('房间类型【'+typename+'】尚存在相关房间信息,不可执行此操作!',mtConfirmation, [mbYes], 0)
else
if MessageDlg('房间类型【'+typename+'】,真的要执行删除操作吗?',mtConfirmation, [mbYes,mbNo], 0)=mrYes then
begin
self.ds1.Delete;
self.ds1.ApplyUpdates(0);
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''房间类型【'+typename+'】删除成功'')');
end;
end;
procedure TSetRoomForm.suiButton7Click(Sender: TObject);
var
typename:string;
begin
typename:=self.dbedttype_mc.Text;
if self.ds1.State in [dsedit,dsinsert] then
begin
self.ds1.Post;
self.ds1.ApplyUpdates(0);
if self.ds1.State=dsedit then
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''房间类型【'+typename+'】编辑成功'')')
else
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''房间类型【'+typename+'】添加成功'')');
end
else
MessageDlg('当前数据表未处于添加或编辑状态,不可执行相关操作!',mtConfirmation, [mbYes], 0);
end;
procedure TSetRoomForm.suiButton3Click(Sender: TObject);
begin
self.ds3.Append;
self.ds3.FieldByName('room_type').AsString:=self.dbedttype_xh.Text;
self.ds3.FieldByName('room_state').AsString:='可供';
self.dbedtroom_num.SetFocus;
end;
procedure TSetRoomForm.suiButton4Click(Sender: TObject);
var
roomnum:string;
roomid:string;
begin
roomnum:=self.dbedtroom_num.Text;
roomid:=self.dbedtroom_id.Text;
if roomid<>'' then
MessageDlg('房间【'+roomnum+'】有宾客正在入住,不可执行此操作!',mtConfirmation, [mbYes], 0)
else
begin
self.ds3.Edit;
self.dbedtroom_num.SetFocus;
end;
end;
procedure TSetRoomForm.suiButton5Click(Sender: TObject);
var
roomnum:string;
roomid:string;
begin
roomnum:=self.dbedtroom_num.Text;
roomid:=self.dbedtroom_id.Text;
if roomid<>'' then
MessageDlg('房间【'+roomnum+'】有宾客正在入住,不可执行此操作!',mtConfirmation, [mbYes], 0)
else
if MessageDlg('房间【'+roomnum+'】,真的要执行删除操作吗?',mtConfirmation, [mbYes,mbNo], 0)=mrYes then
begin
self.ds3.Delete;
self.ds3.ApplyUpdates(0);
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''房间【'+roomnum+'】删除成功'')');
end;
end;
procedure TSetRoomForm.suiButton10Click(Sender: TObject);
var
roomnum:string;
begin
roomnum:=self.dbedtroom_num.Text;
if self.ds3.State in [dsedit,dsinsert] then
begin
self.ds3.Post;
self.ds3.ApplyUpdates(0);
if self.ds3.State=dsedit then
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''房间【'+roomnum+'】添加成功'')')
else
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''房间【'+roomnum+'】添加成功'')');
end
else
MessageDlg('当前数据表未处于添加或编辑状态,不可执行相关操作!',mtConfirmation, [mbYes], 0);
end;
procedure TSetRoomForm.suiButton9Click(Sender: TObject);
begin
self.ds3.Cancel;
end;
procedure TSetRoomForm.dbedtroom_numKeyPress(Sender: TObject;
var Key: Char);
var
count:integer;
begin
if key=#13 then
begin
loginform.ExecuteSQL('select count(*) from room '+
'where room_type='''+self.dbedttype_xh.Text+''' and '+
'room_num='''+self.dbedtroom_num.Text+'''');
count:=loginform.dsQuery.Fields[0].AsInteger;
loginform.dsQuery.Close;
if count=0 then
self.dbedtroom_floor.SetFocus
else
begin
MessageDlg('房间【'+self.dbedtroom_num.Text+'】信息已存在,请重新输入!',mtConfirmation, [mbYes], 0);
self.dbedtroom_num.Clear;
self.dbedtroom_num.SetFocus;
end;
end;
end;
procedure TSetRoomForm.dbedtroom_floorKeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
self.suiButton10.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?