📄 setguestsourceunit.pas
字号:
unit SetGuestSourceUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBClient, SUIButton, Grids, DBGrids, SUIDBCtrls, ExtCtrls,
SUIImagePanel, StdCtrls, Mask, DBCtrls;
type
TSetGuestSourceForm = class(TForm)
suiPanel1: TsuiPanel;
suiDBGrid2: TsuiDBGrid;
btn1: TsuiButton;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton7: TsuiButton;
suiButton8: TsuiButton;
ds1: TClientDataSet;
ds2: TDataSource;
wdstrngfldds1name: TWideStringField;
ds1rate: TFloatField;
lbl1: TLabel;
dbedtid: TDBEdit;
lbl2: TLabel;
dbedtname: TDBEdit;
lbl3: TLabel;
dbedtrate: TDBEdit;
ds1id: TIntegerField;
suiPanel2: TsuiPanel;
sdbgrd1: TsuiDBGrid;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
suiButton3: TsuiButton;
ClientDataSet1ID: TIntegerField;
wdstrngfldClientDataSet1source: TWideStringField;
wdstrngfldClientDataSet1name: TWideStringField;
wdstrngfldClientDataSet1sex: TWideStringField;
wdstrngfldClientDataSet1phone: TWideStringField;
wdstrngfldClientDataSet1cardtype: TWideStringField;
wdstrngfldClientDataSet1cardnum: TWideStringField;
wdstrngfldClientDataSet1address: TWideStringField;
ClientDataSet1cometime: TIntegerField;
ClientDataSet1expenditure: TFloatField;
ClientDataSet1payment: TFloatField;
ClientDataSet1nopayment: TFloatField;
lbl4: TLabel;
dbedtID1: TDBEdit;
lbl6: TLabel;
dbedtname1: TDBEdit;
lbl7: TLabel;
lbl8: TLabel;
dbedtphone: TDBEdit;
lbl9: TLabel;
lbl10: TLabel;
dbedtcardnum: TDBEdit;
lbl11: TLabel;
dbedtaddress: TDBEdit;
suiDBComboBox1: TsuiDBComboBox;
suiDBComboBox2: TsuiDBComboBox;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
suiButton9: TsuiButton;
suiButton10: TsuiButton;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btn1Click(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton7Click(Sender: TObject);
procedure dbedtrateKeyPress(Sender: TObject; var Key: Char);
procedure dbedtnameKeyPress(Sender: TObject; var Key: Char);
procedure suiButton4Click(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure ds1AfterScroll(DataSet: TDataSet);
procedure suiButton9Click(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure suiButton10Click(Sender: TObject);
procedure dbedtname1KeyPress(Sender: TObject; var Key: Char);
procedure suiDBComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure dbedtphoneKeyPress(Sender: TObject; var Key: Char);
procedure suiDBComboBox2DropDown(Sender: TObject);
procedure suiDBComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure dbedtcardnumKeyPress(Sender: TObject; var Key: Char);
procedure dbedtaddressKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SetGuestSourceForm: TSetGuestSourceForm;
implementation
uses LoginUnit, MainUnit;
{$R *.dfm}
procedure TSetGuestSourceForm.FormCreate(Sender: TObject);
begin
Self.ds1.Close;
Self.ds1.Open;
end;
procedure TSetGuestSourceForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
self.ClientDataSet1.Close;
Self.ds1.Close;
MainForm.RefrushRoomState(0);
MainForm.Enabled:=true;
end;
procedure TSetGuestSourceForm.btn1Click(Sender: TObject);
var
id:string;
begin
self.ds1.Append;
loginform.ExecuteSQL('select max(id)+1 from guestsource');
id:=loginform.dsQuery.Fields[0].AsString;
loginform.dsQuery.Close;
self.ds1.FieldByName('id').AsString:=id;
self.ds1.FieldByName('rate').AsString:='1.0';
self.dbedtname.SetFocus;
end;
procedure TSetGuestSourceForm.suiButton1Click(Sender: TObject);
begin
self.ds1.Edit;
self.dbedtname.SetFocus;
end;
procedure TSetGuestSourceForm.suiButton3Click(Sender: TObject);
begin
Close;
end;
procedure TSetGuestSourceForm.suiButton8Click(Sender: TObject);
begin
self.ds1.Cancel;
end;
procedure TSetGuestSourceForm.suiButton2Click(Sender: TObject);
var
source:string;
begin
source:=self.dbedtname.Text;
if MessageDlg('宾客来源【'+source+'】,真的要执行删除操作吗?',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+
''',''宾客来源【'+source+'】删除成功'')');
end;
end;
procedure TSetGuestSourceForm.suiButton7Click(Sender: TObject);
var
source:string;
begin
source:=self.dbedtname.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+
''',''宾客来源【'+source+'】编辑成功'')')
else
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''宾客来源【'+source+'】添加成功'')');
end
else
MessageDlg('当前数据表未处于添加或编辑状态,不可执行相关操作!',mtConfirmation, [mbYes], 0);
end;
procedure TSetGuestSourceForm.dbedtrateKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
self.suiButton7.SetFocus;
end;
procedure TSetGuestSourceForm.dbedtnameKeyPress(Sender: TObject;
var Key: Char);
var
count:Integer;
begin
if key=#13 then
begin
loginform.ExecuteSQL('select count(*) from guestsource where name='''+self.dbedtname.Text+'''');
count:=loginform.dsQuery.Fields[0].AsInteger;
loginform.dsQuery.Close;
if count=0 then
self.dbedtrate.SetFocus
else
begin
MessageDlg('宾客来源【'+self.dbedtname.Text+'】信息已存在,请重新输入!',mtConfirmation, [mbYes], 0);
dbedtname.Clear;
dbedtname.SetFocus;
end;
end;
end;
procedure TSetGuestSourceForm.suiButton4Click(Sender: TObject);
var
id:string;
begin
self.ClientDataSet1.Append;
loginform.ExecuteSQL('select max(id)+1 from guest');
id:=loginform.dsQuery.Fields[0].AsString;
if id='' then
id:='1';
loginform.dsQuery.Close;
self.ClientDataSet1.FieldByName('id').AsString:=id;
self.ClientDataSet1.FieldByName('source').AsString:=self.dbedtid.Text;
self.dbedtname1.SetFocus;
end;
procedure TSetGuestSourceForm.suiButton5Click(Sender: TObject);
begin
self.ClientDataSet1.Edit;
self.dbedtname.SetFocus;
end;
procedure TSetGuestSourceForm.ds1AfterScroll(DataSet: TDataSet);
begin
self.ClientDataSet1.Close;
self.ClientDataSet1.Open;
end;
procedure TSetGuestSourceForm.suiButton9Click(Sender: TObject);
var
source,id,name:string;
begin
source:=self.dbedtname.Text;
id:=self.dbedtID1.Text;
name:=self.dbedtname1.Text;
if self.ClientDataSet1.State in [dsedit,dsinsert] then
begin
self.ClientDataSet1.Post;
self.ClientDataSet1.ApplyUpdates(0);
if self.ClientDataSet1.State=dsedit then
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''宾客来源【'+source+'】宾客ID【'+ID+'】宾客姓名【'+name+'】添加成功'')')
else
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''宾客来源【'+source+'】宾客ID【'+ID+'】宾客姓名【'+name+'】添加成功'')');
end
else
MessageDlg('当前数据表未处于添加或编辑状态,不可执行相关操作!',mtConfirmation, [mbYes], 0);
end;
procedure TSetGuestSourceForm.suiButton6Click(Sender: TObject);
var
source,id,name:string;
begin
source:=self.dbedtname.Text;
id:=self.dbedtID1.Text;
name:=self.dbedtname1.Text;
if MessageDlg('宾客来源【'+source+'】宾客ID【'+ID+'】宾客姓名【'+name+'】,真的要执行删除操作吗?',mtConfirmation, [mbYes,mbNo], 0)=mrYes then
begin
self.ClientDataSet1.Delete;
self.ClientDataSet1.ApplyUpdates(0);
loginform.ExecuteSQL('insert into log '+
'values('''+formatdatetime('yyyy-mm-dd hh:nn:ss',now)+
''','''+loginform.userid+''','''+LoginForm.username+
''',''宾客来源【'+source+'】宾客ID【'+ID+'】宾客姓名【'+name+'】删除成功'')');
end;
end;
procedure TSetGuestSourceForm.suiButton10Click(Sender: TObject);
begin
self.ClientDataSet1.Cancel;
end;
procedure TSetGuestSourceForm.dbedtname1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
self.suiDBComboBox1.SetFocus;
end;
procedure TSetGuestSourceForm.suiDBComboBox1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
self.dbedtphone.SetFocus;
end;
procedure TSetGuestSourceForm.dbedtphoneKeyPress(Sender: TObject;
var Key: Char);
begin
if not (key in [#48..#57,#45,#13,#8]) then
key:=#0
else
if key=#13 then
suiDBComboBox2.SetFocus;
end;
procedure TSetGuestSourceForm.suiDBComboBox2DropDown(Sender: TObject);
begin
suiDBComboBox2.Items.Clear;
suiDBComboBox2.Items.BeginUpdate;
loginform.ExecuteSQL('select name from paper');
begin
loginform.dsQuery.First;
while not loginform.dsQuery.Eof do
begin
suiDBComboBox2.Items.Add(loginform.dsQuery.Fields[0].AsString);
loginform.dsQuery.Next;
end;
loginform.dsQuery.Close;
end;
suiDBComboBox2.Items.EndUpdate;
end;
procedure TSetGuestSourceForm.suiDBComboBox2KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
self.dbedtcardnum.SetFocus;
end;
procedure TSetGuestSourceForm.dbedtcardnumKeyPress(Sender: TObject;
var Key: Char);
begin
if not (key in [#48..#57,#13,#8]) then
key:=#0
else
if key=#13 then
begin
loginform.ExecuteSQL('select dq from idcard where bm='''+copy(self.dbedtcardnum.Text,1,6)+'''');
self.ClientDataSet1.FieldByName('address').AsString:=loginform.dsQuery.Fields[0].AsString;
loginform.dsQuery.Close;
self.dbedtaddress.SetFocus;
end;
end;
procedure TSetGuestSourceForm.dbedtaddressKeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
self.suiButton9.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -