⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setguestsourceunit.pas

📁 东华休闲山庄洗浴、餐饮、客房管理系统
💻 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 + -