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

📄 umainform.pas

📁 前言 随着旅游业的发展
💻 PAS
字号:
unit UMainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, Menus, ExtCtrls, StdCtrls, jpeg, ImgList,
  ShellApi;

type
  TMainForm = class(TForm)
    MMenu: TMainMenu;
    MReception: TMenuItem;
    TBMenu: TToolBar;
    CoolBar1: TCoolBar;
    MRAdjust: TMenuItem;
    MRAdd: TMenuItem;
    MRAmend: TMenuItem;
    MRT1: TMenuItem;
    MRPreconcert: TMenuItem;
    MRT2: TMenuItem;
    MRDay: TMenuItem;
    MRMonth: TMenuItem;
    MRCheckIn: TMenuItem;
    MRQuery: TMenuItem;
    MRQToday: TMenuItem;
    MRQYesterday: TMenuItem;
    MRQNonce: TMenuItem;
    MRT3: TMenuItem;
    MRExit: TMenuItem;
    StatusBar: TStatusBar;
    MConsume: TMenuItem;
    MCAdd: TMenuItem;
    MCDisperse: TMenuItem;
    MCT1: TMenuItem;
    MCchaxun: TMenuItem;
    MCheckOut: TMenuItem;
    MOChecking: TMenuItem;
    MOCoalition: TMenuItem;
    MODisjoin: TMenuItem;
    MOT1: TMenuItem;
    NOScattered: TMenuItem;
    MOT2: TMenuItem;
    MOPrepay: TMenuItem;
    MOQueryPre: TMenuItem;
    MOArrearage: TMenuItem;
    MOT4: TMenuItem;
    MOPatch: TMenuItem;
    MTong: TMenuItem;
    MTZt: TMenuItem;
    MTQueryinfo: TMenuItem;
    MTQueryCheck: TMenuItem;
    MTGather: TMenuItem;
    MTLingdan: TMenuItem;
    MTTong: TMenuItem;
    MTT1: TMenuItem;
    MTPreQuery: TMenuItem;
    N43: TMenuItem;
    MTQueryRe: TMenuItem;
    MWei: TMenuItem;
    MHelp: TMenuItem;
    MWPassword: TMenuItem;
    MWSetting: TMenuItem;
    MWT2: TMenuItem;
    MWBak: TMenuItem;
    MWComeBack: TMenuItem;
    MHMotif: TMenuItem;
    MHRegister: TMenuItem;
    WHAbout: TMenuItem;
    MOQuery: TMenuItem;
    MOHang: TMenuItem;
    MOT3: TMenuItem;
    ImageLTools: TImageList;
    TBTool: TToolBar;
    TBPreconcert: TToolButton;
    ToolButton10: TToolButton;
    TBChickin: TToolButton;
    TBPreRuzu: TToolButton;
    ToolButton11: TToolButton;
    TBQuery: TToolButton;
    TBZt: TToolButton;
    ToolButton12: TToolButton;
    TBExit: TToolButton;
    ImageList1: TImageList;
    Image1: TImage;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure TBAdjustClick(Sender: TObject);
    procedure TBChickinClick(Sender: TObject);
    procedure MWSettingClick(Sender: TObject);
    procedure MRPreconcertClick(Sender: TObject);
    procedure MRAddClick(Sender: TObject);
    procedure MOCheckingClick(Sender: TObject);
    procedure MWPasswordClick(Sender: TObject);
    procedure MRAmendClick(Sender: TObject);
    procedure MRQTodayClick(Sender: TObject);
    procedure MRQYesterdayClick(Sender: TObject);
    procedure MRQNonceClick(Sender: TObject);
    procedure MCAddClick(Sender: TObject);
    procedure MOCoalitionClick(Sender: TObject);
    procedure MCDisperseClick(Sender: TObject);
    procedure MTQueryReClick(Sender: TObject);
    procedure MWBakClick(Sender: TObject);
    procedure MWComeBackClick(Sender: TObject);
    procedure MRDayClick(Sender: TObject);
    procedure MRMonthClick(Sender: TObject);
    procedure MCchaxunClick(Sender: TObject);
    procedure MOQueryPreClick(Sender: TObject);
    procedure MODisjoinClick(Sender: TObject);
    procedure MOHangClick(Sender: TObject);
    procedure MOQueryClick(Sender: TObject);
    procedure MTZtClick(Sender: TObject);
    procedure MTQueryinfoClick(Sender: TObject);
    procedure MTQueryCheckClick(Sender: TObject);
    procedure MTGatherClick(Sender: TObject);
    procedure MTLingdanClick(Sender: TObject);
    procedure MTPreQueryClick(Sender: TObject);
    procedure MOArrearageClick(Sender: TObject);
    procedure MOPrepayClick(Sender: TObject);
    procedure NOScatteredClick(Sender: TObject);
    function Count:Boolean;
    procedure TBExitClick(Sender: TObject);
    procedure WHAboutClick(Sender: TObject);
    procedure MHMotifClick(Sender: TObject);
  private
    //用来保存原有的消息相应函数的入口地址
    FPrevClientProc:TFarProc;
    //用来保存自己编制的消息相应函数的入口地址
    FClientInstance:TFarProc;
    //是自己编制的消息相应函数
    Procedure ClientWndProc(Var Message:TMessage);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses UAdjust, UCheckIn, U5_3, UPre,  U1_3, U3_1, U5_1, U1_4, U2_1, U1_8,
  U3_2, U2_2, U4_8,U5_5, U5_6, U1_6, U1_7, U2_3, U3_8, U3_3, U3_5, U3_6,
  U3_10, U4_1, U4_3, U4_4, U4_5, U4_7, U3_9, U3_7, Ushow, ULogo, U6_3;
{$R *.dfm}

procedure TMainForm.ClientWndProc(var Message:Tmessage);
var
  MyDC:hDC;
  Row,Col:Word;
begin
   with message do
   //当该消息是WM_ERASEBKGND时绘制背景图像
   if MSG=WM_ERASEBKGND then begin
   //获取当前需要绘制背景的窗口的句柄
    MyDC:=TWMEraseBkGnd(Message).DC;
    {for Row:=0 to ClientHeight div image1.Picture.Height do
      for Col:=0 to ClientWidth div image1.Picture.Width do
        BitBlt(myDC,Col*Image1.Picture.Width,Row*image1.Picture.Height,
        image1.Picture.Width,image1.Picture.Height,
        image1.Picture.Bitmap.Canvas.Handle,0,0,SRCCopy);
    Result:=1; }
    bitBlt(myDC,0,0,image1.picture.width,image1.picture.height,
          image1.picture.bitmap.canvas.handle,0,0,srccopy);
   end
    else Result:=CallWindowProc(FPrevClientProc,ClientHandle,Msg,wParam,lParam);
end;



function TMainForm.Count:Boolean;
begin
  Count:=(MainForm.MDIChildCount>=1);
end;


procedure TMainForm.FormCreate(Sender: TObject);
begin
    with StatusBar.Panels.Items[1] do
        Text:=Text+FormatDateTime('yyyy-mm-dd',NOW);
    FPrevClientProc:=Pointer(GetWindowLong(ClientHandle,GWL_WNDPROC));
    FClientInstance:=MakeObjectInstance(ClientWndProc);
    SetWindowLong(ClientHandle,GWL_wnDPROC,LongINt(FClientInstance));

end;

//登记调换
procedure TMainForm.TBAdjustClick(Sender: TObject);
begin
    FAdjust.ShowModal;
end;

//来宾接待
procedure TMainForm.TBChickinClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TFCheckIn.Create(Application);
end;

//基础数据设置
procedure TMainForm.MWSettingClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TF5_3.Create(application);
end;

//预定中心
procedure TMainForm.MRPreconcertClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TFpre.Create(Application);
  MainForm.Cascade;
end;

//追加资料
procedure TMainForm.MRAddClick(Sender: TObject);
begin
  F1_3.ShowModal;
end;

//结账
procedure TMainForm.MOCheckingClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TF3_1.Create(Application);
end;

//密码更改
procedure TMainForm.MWPasswordClick(Sender: TObject);
begin
  F5_1.ShowModal;
end;

//登记资料修改
procedure TMainForm.MRAmendClick(Sender: TObject);
begin
  F1_4.ShowModal;
end;

//今日来宾查询
procedure TMainForm.MRQTodayClick(Sender: TObject);
var
  F1_8_1:TF1_8;
begin
  if count then
  begin
    if (mainForm.MDIChildren[0].Caption='昨日来宾查询')
        or (mainForm.MDIChildren[0].Caption='在店来宾查询')
        or (mainForm.MDIChildren[0].Caption='今日来宾查询')
        or (mainForm.MDIChildren[0].Caption='来宾查询')
    then mainForm.MDIChildren[0].Close
    else begin
      messagedlg('请先保存数据',mtInformation,[mbOk],0);
      exit;
    end;
  end;
  F1_8_1:=TF1_8.Create(Application);
  F1_8_1.Caption:='今日来宾查询';
  with F1_8_1.CBoxkeren do
  begin
    Items.Clear;
    Items.Add('今日来宾查询');
    ItemIndex:=0;
  end;
  F1_8_1.SetTime;
end;

//昨日来宾查询
procedure TMainForm.MRQYesterdayClick(Sender: TObject);
var
  F1_8_2:TF1_8;
begin
  if count then
  begin
    if (mainForm.MDIChildren[0].Caption='昨日来宾查询')
        or (mainForm.MDIChildren[0].Caption='在店来宾查询')
        or (mainForm.MDIChildren[0].Caption='今日来宾查询')
    then mainForm.MDIChildren[0].Close
    else begin
      messagedlg('请先保存数据',mtInformation,[mbOk],0);
      exit;
    end;
  end;
  F1_8_2:=TF1_8.Create(Application);
  F1_8_2.Caption:='昨日来宾查询';
  with F1_8_2.CBoxkeren do
  begin
    Items.Clear;
    Items.Add('昨日来宾');
    ItemIndex:=0;
  end;
  F1_8_2.SetTime;
end;

//当前在店客人查询
procedure TMainForm.MRQNonceClick(Sender: TObject);
var
  F1_8_3:TF1_8;
begin
  if count then
  begin
    if (mainForm.MDIChildren[0].Caption='昨日来宾查询')
        or (mainForm.MDIChildren[0].Caption='在店来宾查询')
        or (mainForm.MDIChildren[0].Caption='今日来宾查询')
    then mainForm.MDIChildren[0].Close
    else  begin
      messagedlg('请先保存数据',mtInformation,[mbOk],0);
      exit;
    end;
  end;
  F1_8_3:=TF1_8.Create(Application);
  F1_8_3.Caption:='在店来宾查询';
  with F1_8_3.CBoxkeren do
  begin
    Items.Clear;
    Items.add('在店客人');
    ItemIndex:=0;
  end;
  F1_8_3.SetTime;
end;

//点单
procedure TMainForm.MCAddClick(Sender: TObject);
var
  F2_1:TF2_1;
begin
  if count then
  begin
    messagedlg('请保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F2_1:=TF2_1.Create(Application);
end;

//合并账单
procedure TMainForm.MOCoalitionClick(Sender: TObject);
begin
  F3_2.ShowModal;
end;

//零单消费
procedure TMainForm.MCDisperseClick(Sender: TObject);
var
  F2_2:TF2_2;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F2_2:=TF2_2.Create(Application);
  mainForm.Cascade;
end;

//客史资料查询
procedure TMainForm.MTQueryReClick(Sender: TObject);
begin
  F4_8.ShowModal;
end;

//数据备份
procedure TMainForm.MWBakClick(Sender: TObject);
begin
  F5_5.ShowModal;
end;

//数据恢复
procedure TMainForm.MWComeBackClick(Sender: TObject);
begin
  F5_6.ShowModal;
end;

//日状态接待表
procedure TMainForm.MRDayClick(Sender: TObject);
var
  F1_6:TF1_6;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F1_6:=TF1_6.Create(Application);
  MainForm.Cascade;
end;

//月状态统计表
procedure TMainForm.MRMonthClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TF1_7.Create(Application);
end;

//消费查询
procedure TMainForm.MCchaxunClick(Sender: TObject);
var
  F2_3:TF2_3;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F2_3:=TF2_3.Create(Application);
  F2_3.Caption:='消费查询';
end;

//预付款收银表
procedure TMainForm.MOQueryPreClick(Sender: TObject);
begin
  F3_8.ShowModal;
end;

//分拆账单
procedure TMainForm.MODisjoinClick(Sender: TObject);
begin
  F3_3.ShowModal;
end;

//挂账单结账
procedure TMainForm.MOHangClick(Sender: TObject);
var
  F3_5:TF3_5;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F3_5:=TF3_5.Create(Application);
end;

//挂账单查询
procedure TMainForm.MOQueryClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TF3_6.Create(Application);
end;

//接待状态表
procedure TMainForm.MTZtClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TF4_1.Create(Application);
end;

//来宾信息查询
procedure TMainForm.MTQueryinfoClick(Sender: TObject);
var
  F4_2:TF1_8;
begin
  if count then
  begin
    if (mainForm.MDIChildren[0].Caption='昨日来宾查询')
        or (mainForm.MDIChildren[0].Caption='在店来宾查询')
        or (mainForm.MDIChildren[0].Caption='今日来宾查询')
        or (mainForm.MDIChildren[0].Caption='来宾查询')
    then mainForm.MDIChildren[0].Close
    else begin
      messagedlg('请先保存数据',mtInformation,[mbOk],0);
      exit;
    end;
  end;
  F4_2:=TF1_8.Create(Application);
  F4_2.Caption:='来宾查询';
  with F4_2.CBoxkeren do
  begin
    Items.Clear;
    Items.Add('在店客人');
    Items.Add('今日来宾');
    Items.Add('进店日期在');
    Items.Add('离店日期在');
    ItemIndex:=0;
  end;
  F4_2.EDtime.Text:=FormatDateTime('yyyy-mm-dd',NOW);
  F4_2.EDtime1.Text:=FormatDateTime('yyyy-mm-dd',NOW);
  F4_2.readinfo;
end;

//消费明细查询
procedure TMainForm.MTQueryCheckClick(Sender: TObject);
var
  F4_3:TF4_3;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F4_3:=TF4_3.Create(Application);
  F4_3.WindowState:=wsMaximized;
end;

//消费品汇总
procedure TMainForm.MTGatherClick(Sender: TObject);
var
  F4_4:TF4_4;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F4_4:=TF4_4.Create(Application);
end;

//零单消费查询
procedure TMainForm.MTLingdanClick(Sender: TObject);
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  TF4_5.Create(Application);
end;

//预定查询
procedure TMainForm.MTPreQueryClick(Sender: TObject);
begin
  F4_7.ShowModal;
end;

//欠款一览表
procedure TMainForm.MOArrearageClick(Sender: TObject);
begin
  F3_9.ShowModal;
end;

//预付款收银
procedure TMainForm.MOPrepayClick(Sender: TObject);
begin
  F3_7.ShowModal;
end;

procedure TMainForm.NOScatteredClick(Sender: TObject);
var
  F3_4:TF2_2;
begin
  if count then
  begin
    messageDlg('请先保存数据',mtInformation,[mbOK],0);
    exit;
  end;
  F3_4:=TF2_2.Create(Application);
  F3_4.Caption:='其它零单消费';
end;

procedure TMainForm.TBExitClick(Sender: TObject);
begin
  MainForm.Close;
  MainForm.Free;
end;

procedure TMainForm.WHAboutClick(Sender: TObject);
begin
  Fgy.ShowModal;
end;

procedure TMainForm.MHMotifClick(Sender: TObject);
begin
  ShellExecute(handle,'open','help.chm',nil,nil,SW_ShowNormal);
end;

end.

⌨️ 快捷键说明

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