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

📄 c_main.pas

📁 经典的酒店管理系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    procedure btnFtdhClick(Sender: TObject);
    procedure btnTdbdClick(Sender: TObject);
    procedure btnTdtfClick(Sender: TObject);
    procedure btnTdjzClick(Sender: TObject);
    procedure btnTdbjClick(Sender: TObject);
    procedure btnTdbgClick(Sender: TObject);
    procedure btnTdyxClick(Sender: TObject);
    procedure btnTdyfClick(Sender: TObject);
    procedure btnTdjdClick(Sender: TObject);
    procedure tblKfztD_KFZTGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure sgdKfztDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure sgdKfztSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure menuMfdjClick(Sender: TObject);
    procedure btnTzcxClick(Sender: TObject);
    procedure btnTdqxClick(Sender: TObject);
    procedure btnFtsmClick(Sender: TObject);
    procedure sgdKfztDblClick(Sender: TObject);
    procedure DBGrid3DblClick(Sender: TObject);
    procedure btnYdRefreshClick(Sender: TObject);
    procedure sgdYdhcDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure sgdYdhcDblClick(Sender: TObject);
    procedure sgdYdhcSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure sgdYdcyDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure sgdYdcySelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure sgdYdcyDblClick(Sender: TObject);
    procedure btnHcjsClick(Sender: TObject);
    procedure sgdYdkfDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure sgdYdkfDblClick(Sender: TObject);
    procedure sgdYdkfSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure BitBtn17Click(Sender: TObject);
    procedure sgdKfztMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure dtpYdrqChange(Sender: TObject);
    procedure btnNextClick(Sender: TObject);
    procedure btnPrevClick(Sender: TObject);
    procedure dtpCyydChange(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure qryCyTdMasterD_RZBZGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure DBGrid4DblClick(Sender: TObject);
    procedure btnYdcylbClick(Sender: TObject);
    procedure btnKfydlbClick(Sender: TObject);
    procedure menuZkClick(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure btnYdhccxClick(Sender: TObject);
    procedure N42Click(Sender: TObject);
    procedure N54Click(Sender: TObject);
    procedure N55Click(Sender: TObject);
    procedure N56Click(Sender: TObject);
    procedure N58Click(Sender: TObject);
    procedure N50Click(Sender: TObject);
    procedure N63Click(Sender: TObject);
    procedure N64Click(Sender: TObject);
    procedure N65Click(Sender: TObject);
    procedure sgdKfztKeyPress(Sender: TObject; var Key: Char);
    procedure N79Click(Sender: TObject);
    procedure N82Click(Sender: TObject);
    procedure OnZdlr(Sender: TObject);
    procedure OnChageColor(Sender: TObject);
    procedure N92Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure N94Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure N95Click(Sender: TObject);
    procedure OnZdlrcx(Sender: TObject);
    procedure OnFykjzcx(Sender: TObject);
    procedure OnHcjscx(Sender: TObject);
    procedure OnLyb(Sender: TObject);
  private
    { Private declarations }
    FKfNum: Integer;
    FHcNum: Integer;
    FCyNum: Integer;
    FTdNum: Integer;
    FYdkfNum: Integer;

    FSelect  : Integer;
    FHcSelect: Integer;
    FCySelect: Integer;
    FKfSelect: Integer;

    FSjdm : string;
    
    FKfzt  : array of TKfzt;
    FYdhc  : array of TYdhc;
    FYdcy  : array of TYdcy;
    FYdkf  : array of TYdkf;
    FTdInfo: array of TTdInfo;

    procedure MainInit;
    procedure KfztInit;
    procedure DbfInit;
    procedure ShowKfzt;
    procedure ShowJzkfzt;
    //procedure ShowYjxf;
    procedure ShowRzl;
    procedure GetTdInfo;
    procedure RefreshKfzt;
    procedure ShowOneKfzt(const AKfbh: string);

    function IsYdkf(const AKfbh: string): Boolean;
    //function IsYjcj(const AKfbh: string): Boolean;

    function FindKfbhId(const AKfbh: string): Integer;

    function CaculateHcX(const AHcmc: string): Integer;
    function CaculateHcY(const ASyrq: string): Integer;
    function CheckTd(const AKrbh: string): Boolean;
  public
    { Public declarations }
    procedure Ftdh;
    procedure ShowYdhc;
    procedure ShowYdcy(const aSjdm: string);
    procedure ShowYdkf;

  end;

const
  ColNum   = 21;//客房状态列
  //ColNum   = 23;//客房状态列  新苑宾馆
  HcColNum = 5; //会场状态列
  CyColNum = 11; //餐饮状态列
  KfColNum = 21; //预定客房状态列

  KxColor  = clGreen;
  YdColor  = clYellow;
  QrColor  = clRed;
  GqColor  = clGray;
  JzColor  = clRed;

var
  MainForm: TMainForm;

implementation

uses C_Xtdy,
     C_Ygda,
     C_Khda,
     C_Hmd,
     C_Ydxx,
     C_YdxxSel,
     C_Kfdy,
     C_Xmdy,
     C_Nbjd,
     C_Xxxg,
     C_Wbjd,
     C_Tdjd,
     C_Mfjd,
     C_Sktf,
     C_Tdsel,
     C_Tdbd,
     C_Krcx,
     C_Zdcx,
     C_ZdcxTd,
     C_Yksy,
     C_Sjz,
     C_Bjyj,
     C_Skjz,
     C_Zd,
     C_Tdtf,
     C_Tdjz,
     C_Tdzd,
     C_Rsmx,
     C_Dqsh,
     C_Yxjz,
     C_YxjzTd,
     C_Yjsh,
     C_Bgrbb,
     C_YskYj,
     C_KhdaSel,
     C_Khyszz,
     C_Khxfmx,
     C_Fjbg,
     C_FykJz,
     C_Lkysk,
     C_Khjzmx,
     C_Cwjs,
     C_CwjsBrow,
     C_Lctj,
     C_Bqjtj,
     C_Yskzd,
     C_Wjzjz,
     C_Skyjbg,
     C_Kfrbb,
     C_Dtbqj,
     C_Jzfltj,
     C_Fykcx,
     C_Ldkrcx,
     C_LDkr,
     C_Tdyfcx,
     C_Ydhc,
     C_Xtsz,
     C_Ydcysk,
     C_Ydcytd,
     C_Ydkfsk,
     C_Ydkftd,
     C_Krly,
     C_Dhhm,
     C_Lcsk,
     C_Hbsk,
     C_Ygkf,
     C_About,
     C_Klsz,
     C_Password,
     C_HotelData,
     C_DhfBrow,
     C_Skqx,
     C_BakData,
     C_Ftdh,
     C_Ftsm,
     C_Ydsm,
     C_Wait,
     C_Ydcycx,
     C_Ydkfcx,
     C_XfxmBrow,
     C_Ydhccx,
     C_Ygjz, C_Ysklr, C_Yjcx, C_Yskcx, C_Dhfcx, C_Zdlrcx, C_Fykjzcx,
  C_Hcjscx, C_LybBrow;

{$R *.dfm}

function TMainForm.FindKfbhId(const AKfbh: string): Integer;
var
  i : Integer;
begin
  Result := -1;
  for i := 0 to FKfNum - 1 do
    if FKfzt[i].AKfbh = AKfbh then
    begin
      Result := i;
      Break;
    end;
end;

//检查团队是否存在
function TMainForm.CheckTd(const AKrbh: string): Boolean;
begin
  Result := False;
  qryTd.DisableControls;
  try
    qryTd.Close;
    qryTd.Open;
    if qryTd.Locate('D_KRBH',AKrbh,[]) then
      Result := True;
  finally
    qryTd.EnableControls;
  end;
end;

//楼层定义
procedure TMainForm.G1101Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagLC);
end;

//房型定义
procedure TMainForm.G1102Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagFX);
end;

//地区定义
procedure TMainForm.G1103Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagDQ);
end;

//国别定义
procedure TMainForm.G1104Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagGB);
end;

//民族定义
procedure TMainForm.G1105Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagMZ);
end;

//证件定义
procedure TMainForm.G1106Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagZJ);
end;

//签证定义
procedure TMainForm.G1107Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagQZ);
end;

//客户分类
procedure TMainForm.G1108Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagFL);
end;

//餐厅定义???
procedure TMainForm.G1109Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagCT);
end;

//会场定义
procedure TMainForm.G1110Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagHC);
end;

//信用卡定义
procedure TMainForm.G1111Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagXYK);
end;

//部门定义
procedure TMainForm.G12Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Xtdy(tagBM);
end;

//员工档案
procedure TMainForm.G13Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Ygda;
end;

//客户档案
procedure TMainForm.G14Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Khda;
end;

//黑名单
procedure TMainForm.G18Click(Sender: TObject);
begin
  if not HotelData.CheckYgqx(CZY.CzyBh,'系统') then Exit;
  Hmd;
end;

//数据库初始化
procedure TMainForm.DbfInit;
begin
  with HotelData.tblUserdata do
  begin
    if Active then Active := False;
    TableName := 'YGDA';
    Open;
    if not FindKey([SYSTEM_BH]) then
    begin
      Insert;
      FieldByName('D_YGBH').AsString := SYSTEM_BH;
      FieldByName('D_YGXM').AsString := 'SYSTEM';
      FieldByName('D_BMBH').AsString := '00000'; 
      FieldByName('D_DM').AsString   := 'sys';
      Post;
    end;
    Close;
  end;

  with HotelData.tblXMDM do
  begin
    try
      try
        Open;
      except
        On E:Exception do
        begin
          ShowWarning('打开数据库出错,请检查网络连接是否正常!'
                      +#13#10
                      +'错误信息:'
                      +E.Message);
          raise;
        end;
      end;
      if not FindKey([XMBH_FJ]) then
      begin
        Insert;
        FieldByName('D_XMBH').AsString := XMBH_FJ;
        FieldByName('D_XMMC').AsString := '房金';
        FieldByName('D_XFBZ').AsString   := 'S';
        FieldByName('D_DM').AsString   := 'fj';
        Post;
      end;
      if not FindKey([XMBH_CF]) then
      begin
        Insert;
        FieldByName('D_XMBH').AsString := XMBH_CF;
        FieldByName('D_XMMC').AsString := '餐费';
        FieldByName('D_XFBZ').AsString   := 'S';
        FieldByName('D_DM').AsString   := 'cf';
        Post;
      end;
      if not FindKey([XMBH_HCF]) then
      begin
        Insert;
        FieldByName('D_XMBH').AsString := XMBH_HCF;
        FieldByName('D_XMMC').AsString := '会场费';
        FieldByName('D_XFBZ').AsString   := 'S';
        FieldByName('D_DM').AsString   := 'hcf';
        Post;
      end;
      if not FindKey([XMBH_DHF]) then
      begin
        Insert;
        FieldByName('D_XMBH').AsString := XMBH_DHF;
        FieldByName('D_XMMC').AsString := '电话费';
        FieldByName('D_XFBZ').AsString   := 'S';
        FieldByName('D_DM').AsString   := 'dhf';
        Post;
      end;
      if not FindKey([XMBH_YJK]) then
      begin
        Insert;
        FieldByName('D_XMBH').AsString := XMBH_YJK;
        FieldByName('D_XMMC').AsString := '预交款';
        FieldByName('D_XFBZ').AsString   := 'S';
        FieldByName('D_DM').AsString   := 'jk';
        Post;
      end;
      if not FindKey([XMBH_EWF]) then
      begin
        Insert;
        FieldByName('D_XMBH').AsString := XMBH_EWF;
        FieldByName('D_XMMC').AsString := '额外费';
        FieldByName('D_XFBZ').AsString   := 'S';
        FieldByName('D_DM').AsString   := 'ewf';
        Post;
      end;

    finally
      Close;
    end;
  end;
end;

//系统初始化
procedure TMainForm.MainInit;
var
  IniFile: TIniFile;
begin

  //初始化结帐员
  JZY.CzyBh := '';
  JZY.CzyXm := '';
  DQCZY := CZY;
  DQJZY := JZY;
  
  IniFile := TIniFile.Create(APP_DIR+'\'+INI_FILENAME);
  try
    //获取全局变量
    //房态盘变量
    IS_SHOWIMAGE := IniFile.ReadBool('BOOLEAN','SHOWIMAGE',False);
    IS_SHOWDDTS  := IniFile.ReadBool('BOOLEAN','SHOWDDTS',False);
    HOTEL_NAME   := IniFile.ReadString('HOTEL','HOTELNAME','常州立方软件公司');
    COLOR_OK     := IniFile.ReadInteger('COLOR','COLOROK',cl3DLight);
    COLOR_BF     := IniFile.ReadInteger('COLOR','COLORBF',clMoneyGreen);
    COLOR_TD     := IniFile.ReadInteger('COLOR','COLORTD',clSkyBlue);
    COLOR_MF     := IniFile.ReadInteger('COLOR','COLORMF',clYellow);
    COLOR_WX     := IniFile.ReadInteger('COLOR','COLORWX',clRed);
    COLOR_ZK     := IniFile.ReadInteger('COLOR','COLORZK',clGray);
    COLOR_ZT     := IniFile.ReadInteger('COLOR','COLORZT',clWhite);
    COLOR_BJ     := IniFile.ReadInteger('COLOR','COLORBJ',clFuchsia);

    COLOR_CYBJ := IniFile.ReadInteger('COLOR','COLORCYBJ',clFuchsia);
    COLOR_CYZT := IniFile.ReadInteger('COLOR','COLORCYZT',clBlack);
    COLOR_CYYD := IniFile.ReadInteger('COLOR','COLORCYYD',clYellow);
    COLOR_CYQR := IniFile.ReadInteger('COLOR','COLORCYQR',clRed);

    COLOR_HCBJ := IniFile.ReadInteger('COLOR','COLORHCBJ',clFuchsia);
    COLOR_HCZT := IniFile.ReadInteger('COLOR','COLORHCZT',clBlack);

⌨️ 快捷键说明

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