📄 setroomunit.pas
字号:
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;
suiDBGrid2: TsuiDBGrid;
dbedttype_xh: TDBEdit;
dbedttype_mc: TDBEdit;
dbedttype_rs: TDBEdit;
dbedttype_menoy: 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;
ds2: TDataSource;
ds3: TClientDataSet;
wdstrngfldds3room_num: TWideStringField;
wdstrngfldds3room_type: TWideStringField;
wdstrngfldds3room_state: TWideStringField;
wdstrngfldds3room_floor: TWideStringField;
wdstrngfldds3room_ID: TWideStringField;
ds4: TDataSource;
wdstrngfldds1type_xh: TWideStringField;
wdstrngfldds1type_mc: TWideStringField;
ds1type_rs: TIntegerField;
ds1type_menoy: TFloatField;
ClientDataSet1: TClientDataSet;
WideStringField1: TWideStringField;
WideStringField2: TWideStringField;
IntegerField1: TIntegerField;
FloatField1: TFloatField;
DataSource1: TDataSource;
ClientDataSet2: TClientDataSet;
WideStringField3: TWideStringField;
WideStringField4: TWideStringField;
WideStringField5: TWideStringField;
WideStringField6: TWideStringField;
WideStringField7: TWideStringField;
DataSource2: TDataSource;
suiPanel3: TsuiPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
suiDBGrid3: TsuiDBGrid;
suiButton11: TsuiButton;
suiButton12: TsuiButton;
suiButton13: TsuiButton;
suiButton14: TsuiButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
suiButton15: TsuiButton;
suiButton16: TsuiButton;
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_rsKeyPress(Sender: TObject; var Key: Char);
procedure dbedttype_menoyKeyPress(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_rs.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_rsKeyPress(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_menoy.SetFocus;
end;
procedure TSetRoomForm.dbedttype_menoyKeyPress(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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -