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

📄 c_nbjd.pas

📁 经典的酒店管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
{立方酒店管理系统 v1.0
 Copyright by CubicSoft
 program by ls.
 Date:20020301-20020601
 20020627 加入注释
}
unit C_Nbjd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, C_StdJd, DosMove, StdCtrls, Buttons, ExtCtrls, DB, DBTables,
  DBCtrls, Mask, C_Define, ComCtrls;

type
  TNbjdForm = class(TStdJdForm)
    tblKrzd: TTable;
    tblKrxx: TTable;
    tblKryj: TTable;
    dsKrzd: TDataSource;
    dsKrxx: TDataSource;
    dsKryj: TDataSource;
    tblKfzt: TTable;
    tblZd: TTable;
    lblHelp: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    lblYfje: TLabel;
    Label17: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    dbeKfbh: TDBEdit;
    dbeSjfj: TDBEdit;
    dbeKrxm: TDBEdit;
    dbeDdrq: TDBEdit;
    dbeDdsj: TDBEdit;
    dbeYfje: TDBEdit;
    dbeNzts: TDBEdit;
    dbcFkfs: TDBComboBox;
    dbcCzyxm: TDBComboBox;
    dbcJzyxm: TDBComboBox;
    dbcXykbh: TDBComboBox;
    lblMc: TLabel;
    dbcKhbh: TDBComboBox;
    btnDyfk: TBitBtn;
    btnSk: TBitBtn;
    lblInfo: TLabel;
    tblKrzdD_ZDBH: TStringField;
    tblKrzdD_HH: TIntegerField;
    tblKrzdD_ZDLB: TStringField;
    tblKrzdD_KRBH: TStringField;
    tblKrzdD_YJBH: TStringField;
    tblKrzdD_KFBH: TStringField;
    tblKrzdD_SJFJ: TFloatField;
    tblKrzdD_XMBH: TStringField;
    tblKrzdD_XFDJ: TFloatField;
    tblKrzdD_XFSL: TFloatField;
    tblKrzdD_XFJE: TFloatField;
    tblKrzdD_XFRQ: TDateTimeField;
    tblKrzdD_XFSJ: TDateTimeField;
    tblKrzdD_YHJE: TFloatField;
    tblKrzdD_JZRQ: TDateTimeField;
    tblKrzdD_JZSJ: TDateTimeField;
    tblKrzdD_JZBZ: TStringField;
    tblKrzdD_JSBZ: TStringField;
    tblKrzdD_DLR1: TStringField;
    tblKrzdD_DLR2: TStringField;
    tblKrzdD_DLR3: TStringField;
    tblKrzdD_DLR4: TStringField;
    tblKrzdD_CZYXM: TStringField;
    tblKrzdD_JZYXM: TStringField;
    tblKrzdD_TYR: TStringField;
    tblKrzdD_BZ: TStringField;
    tblKrzdD_YSRQ: TStringField;
    tblKrzdD_JZBH: TStringField;
    tblKrxxD_KRBH: TStringField;
    tblKrxxD_KRXM: TStringField;
    tblKrxxD_KRLX: TStringField;
    tblKrxxD_DDRQ: TDateTimeField;
    tblKrxxD_DDSJ: TDateTimeField;
    tblKrxxD_LDRQ: TDateTimeField;
    tblKrxxD_LDSJ: TDateTimeField;
    tblKrxxD_YWX: TStringField;
    tblKrxxD_YWM: TStringField;
    tblKrxxD_XB: TStringField;
    tblKrxxD_MZBH: TStringField;
    tblKrxxD_DQBH: TStringField;
    tblKrxxD_GBBH: TStringField;
    tblKrxxD_NZTS: TIntegerField;
    tblKrxxD_TLSY: TStringField;
    tblKrxxD_ZJBH: TStringField;
    tblKrxxD_ZJHM: TStringField;
    tblKrxxD_CSNY: TDateTimeField;
    tblKrxxD_HCL: TStringField;
    tblKrxxD_HCQ: TStringField;
    tblKrxxD_QZBH: TStringField;
    tblKrxxD_QZYXQ: TDateTimeField;
    tblKrxxD_ZY: TStringField;
    tblKrxxD_LXDH: TStringField;
    tblKrxxD_DWMC: TStringField;
    tblKrxxD_JTDZ: TStringField;
    tblKrxxD_JDR: TStringField;
    tblKrxxD_JDDW: TStringField;
    tblKrxxD_BZ: TStringField;
    tblKryjD_YJBH: TStringField;
    tblKryjD_HH: TIntegerField;
    tblKryjD_FKFS: TStringField;
    tblKryjD_XYKBH: TStringField;
    tblKryjD_KHBH: TStringField;
    tblKryjD_YFJE: TFloatField;
    tblKryjD_YFRQ: TDateTimeField;
    tblKryjD_YFSJ: TDateTimeField;
    tblKryjD_BZ: TStringField;
    tblKfztD_KFBH: TStringField;
    tblKfztD_ZDBH: TStringField;
    tblKfztD_KRBH: TStringField;
    tblKfztD_YJBH: TStringField;
    tblKfztD_SJFJ: TFloatField;
    tblKfztD_KFZT: TStringField;
    tblKfztD_KFBZ: TStringField;
    tblKfztD_KRSL: TIntegerField;
    tblKfztD_DHKT: TStringField;
    tblKfztD_BZFJ: TFloatField;
    tblKfztD_CWS: TIntegerField;
    tblKfztD_BJS: TIntegerField;
    tblKfztD_QJS: TIntegerField;
    tblKfztD_JJFJ: TFloatField;
    tblKfztD_FXBH: TStringField;
    tblKfztD_LCBH: TStringField;
    tblZdD_ZDBH: TStringField;
    tblZdD_HH: TIntegerField;
    tblZdD_ZDLB: TStringField;
    tblZdD_KRBH: TStringField;
    tblZdD_YJBH: TStringField;
    tblZdD_KFBH: TStringField;
    tblZdD_SJFJ: TFloatField;
    tblZdD_XMBH: TStringField;
    tblZdD_XFDJ: TFloatField;
    tblZdD_XFSL: TFloatField;
    tblZdD_XFJE: TFloatField;
    tblZdD_XFRQ: TDateTimeField;
    tblZdD_XFSJ: TDateTimeField;
    tblZdD_YHJE: TFloatField;
    tblZdD_JZRQ: TDateTimeField;
    tblZdD_JZSJ: TDateTimeField;
    tblZdD_JZBZ: TStringField;
    tblZdD_JSBZ: TStringField;
    tblZdD_DLR1: TStringField;
    tblZdD_DLR2: TStringField;
    tblZdD_DLR3: TStringField;
    tblZdD_DLR4: TStringField;
    tblZdD_CZYXM: TStringField;
    tblZdD_JZYXM: TStringField;
    tblZdD_TYR: TStringField;
    tblZdD_BZ: TStringField;
    tblZdD_YSRQ: TStringField;
    tblZdD_JZBH: TStringField;
    tblKfztD_KRXM: TStringField;
    tblKrzdD_BMBH: TStringField;
    Panel4: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    lblMz: TLabel;
    lblDqmc: TLabel;
    lblZjmc: TLabel;
    Label8: TLabel;
    dbeZjhm: TDBEdit;
    dbeCsny: TDBEdit;
    dbeTlsy: TDBEdit;
    dbeZy: TDBEdit;
    dbeHcl: TDBEdit;
    dbeHcq: TDBEdit;
    dbeJtdz: TDBEdit;
    dbeBz: TDBEdit;
    dbcXb: TDBComboBox;
    dbcMz: TDBComboBox;
    dbcDqbh: TDBComboBox;
    dbcZjlx: TDBComboBox;
    dbeDwmc: TDBEdit;
    tblZdD_BMBH: TStringField;
    procedure tblKrzdBeforeOpen(DataSet: TDataSet);
    procedure tblKrzdBeforeClose(DataSet: TDataSet);
    procedure tblKrzdNewRecord(DataSet: TDataSet);
    procedure tblKrxxNewRecord(DataSet: TDataSet);
    procedure tblKryjNewRecord(DataSet: TDataSet);
    procedure btnCancClick(Sender: TObject);
    procedure tblKrzdAfterCancel(DataSet: TDataSet);
    procedure btnOKClick(Sender: TObject);
    procedure tblKrzdBeforePost(DataSet: TDataSet);
    procedure tblKrzdD_SJFJValidate(Sender: TField);
    procedure tblKryjD_YFJEValidate(Sender: TField);
    procedure tblKryjD_FKFSChange(Sender: TField);
    procedure tblKrzdD_CZYXMChange(Sender: TField);
    procedure tblKrzdD_JZYXMChange(Sender: TField);
    procedure tblKrzdD_KFBHValidate(Sender: TField);
    procedure tblKrxxD_ZJHMValidate(Sender: TField);
    procedure tblKrxxD_ZJBHChange(Sender: TField);
    procedure dbeZjhmKeyPress(Sender: TObject; var Key: Char);
    procedure dbeKrxmExit(Sender: TObject);
    procedure dbcXbKeyPress(Sender: TObject; var Key: Char);
    procedure HelpInfo(Sender: TObject);
    procedure dbcFkfsKeyPress(Sender: TObject; var Key: Char);
    procedure dbcCzyxmExit(Sender: TObject);
    procedure dbcJzyxmExit(Sender: TObject);
    procedure dbcXykbhExit(Sender: TObject);
    procedure dbcKhbhExit(Sender: TObject);
    procedure dbcMzExit(Sender: TObject);
    procedure dbcDqbhExit(Sender: TObject);
    procedure dbcZjlxExit(Sender: TObject);
    procedure dbeSjfjExit(Sender: TObject);
    procedure dbeYfjeExit(Sender: TObject);
    procedure dbeZjhmExit(Sender: TObject);
    procedure dbcKhbhDblClick(Sender: TObject);
    procedure dbeKfbhExit(Sender: TObject);
    procedure dbeZjhmKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    FBmbh  : string;
    FItemNo: Integer;
    FZdbh  : string;
    FKrbh  : string;
    FYjbh  : string;
    FCzyxm : string;
    FJzyxm : string;
    FBqj   : Integer;
    procedure ShowJdxx;
    procedure UpdateKrzd;
    procedure UpdateKfzt;
    procedure UpdateKryj;
    procedure UpdateKrxx;
    procedure AddZd;
    function  ValidSfz(const AZjhm: string): Boolean;
    procedure AddXxdc;
    procedure LoadKrxx(const AKrxm: string);
  public
    { Public declarations }
  end;

const
  Info_Help : array[1..24] of string =
              ('操作帮助:按退格键开始录入助计符',
               '操作帮助:按退格键开始录入助计符',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:1 - 人民币;2 - 信用卡;3 - 支票;4 - 记帐',
               '操作帮助:',
               '操作帮助:按退格键开始录入助计符',
               '操作帮助:按退格键开始录入助计符',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:1 - 男;2 - 女',
               '操作帮助:按退格键开始录入助计符',
               '操作帮助:按退格键开始录入助计符',
               '操作帮助:按退格键开始录入助计符',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:',
               '操作帮助:');

var
  NbjdForm: TNbjdForm;

procedure Nbjd;
procedure NbjdEnter(const AKfbh: string);
procedure NbjdYd(const AKfbh,AKrxm: string;ASjfj: Currency;ANzts: Integer);

implementation

uses C_HotelData, C_KhdaSel;

{$R *.dfm}

//从主菜单中运行
procedure Nbjd;
begin
  if Application.FindComponent('NbjdForm') is TNbjdForm then
  begin
    ShowInfo('对不起,内宾接待正在运行中!');
    Exit;
  end;
  NbjdForm := TNbjdForm.Create(Application);
  try
    with NbjdForm do
    begin

      try
        tblKrzd.Open;
      except
        On E:Exception do
        begin
          ShowWarning('打开数据库出错,请检查网络连接是否正常!'
                      +#13#10
                      +'错误信息:'
                      +E.Message);
          raise;
        end;
      end;

      tblKrzd.Insert;
      ShowJdxx;
      ShowModal;
    end;
  finally
    NbjdForm.tblKrzd.Close;
    NbjdForm.Free;
  end;
end;

//选择客房编号运行
procedure NbjdEnter(const AKfbh: string);
begin
  if Application.FindComponent('NbjdForm') is TNbjdForm then
  begin
    ShowInfo('对不起,内宾接待正在运行中!');
    Exit;
  end;

  if (HotelData.CheckKfzt(AKfbh)<>KFZT_OK) then
    raise Exception.Create('该客房不是空房,请刷新房态!');

  NbjdForm := TNbjdForm.Create(Application);
  try
    with NbjdForm do
    begin

      try
        tblKrzd.Open;
      except
        On E:Exception do
        begin
          ShowWarning('打开数据库出错,请检查网络连接是否正常!'
                      +#13#10
                      +'错误信息:'
                      +E.Message);
          raise;
        end;
      end;

      tblKrzd.Insert;
      tblKrzdD_KFBH.Value := AKfbh;
      ShowJdxx;
      ShowModal;
    end;
  finally
    NbjdForm.tblKrzd.Close;
    NbjdForm.Free;
  end;
end;

//预定转接待
procedure NbjdYd(const AKfbh,AKrxm: string;ASjfj: Currency;ANzts: Integer);
begin
  if Application.FindComponent('NbjdForm') is TNbjdForm then
  begin
    ShowInfo('对不起,内宾接待正在运行中!');
    Exit;
  end;
  NbjdForm := TNbjdForm.Create(Application);
  try
    with NbjdForm do
    begin

      try
        tblKrzd.Open;
      except
        On E:Exception do
        begin
          ShowWarning('打开数据库出错,请检查网络连接是否正常!'
                      +#13#10
                      +'错误信息:'
                      +E.Message);
          raise;
        end;
      end;

      tblKrzd.Insert;
      tblKrzdD_KFBH.Value := AKfbh;
      tblKrzdD_SJFJ.Value := ASjfj;
      tblKrxxD_KRXM.Value := AKrxm;
      tblKrxxD_NZTS.Value := ANzts;
      ShowJdxx;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -