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

📄 main.pas

📁 针对快餐店的会员管理系统.具有详细的分类及管理作用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Main;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
  StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns,
  ActnList, ToolWin, ImgList, RzStatus, RzPanel, RzGroupBar, DB, iniFiles,
  cxEditRepositoryItems, cxEdit, XPMan, RM_Dataset, RM_Common, RM_Class,
  RM_GridReport, XPMenu, RzSplit, RM_e_main, RM_e_Xls, RM_System;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Help1: TMenuItem;
    N1: TMenuItem;
    FileExitItem: TMenuItem;
    HelpAboutItem: TMenuItem;
    ActionList1: TActionList;
    FileExit1: TAction;
    WindowCascade1: TWindowCascade;
    WindowTileHorizontal1: TWindowTileHorizontal;
    WindowMinimizeAll1: TWindowMinimizeAll;
    HelpAbout1: TAction;
    WindowTileVertical1: TWindowTileVertical;
    RzStatusBar1: TRzStatusBar;
    RzStatusPane1: TRzStatusPane;
    RzClockStatus1: TRzClockStatus;
    RzKeyStatus1: TRzKeyStatus;
    RzKeyStatus2: TRzKeyStatus;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    RzSizePanel1: TRzSizePanel;
    RzGroupBar1: TRzGroupBar;
    RzGroup1: TRzGroup;
    RzGroup2: TRzGroup;
    RzGroup3: TRzGroup;
    RzGroup5: TRzGroup;
    ImageList2: TImageList;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    Exit5: TToolButton;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    Image1: TImage;
    ImageList1: TImageList;
    W1: TMenuItem;
    C1: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    RzGroup4: TRzGroup;
    RzGroup6: TRzGroup;
    Timer1: TTimer;
    N5: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    RzStatusPane2: TRzStatusPane;
    ClientList: TAction;
    Visit: TAction;
    Bespeak: TAction;
    Reserve: TAction;
    PowerChange: TAction;
    ChangePassword: TAction;
    SystemLog: TAction;
    Area: TAction;
    BackUpdata: TAction;
    Option: TAction;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    EXCEL1: TMenuItem;
    N23: TMenuItem;
    ClientListReport: TAction;
    LinkManReport: TAction;
    VisitReport: TAction;
    BespokeReport: TAction;
    SellReport: TAction;
    ProductReport: TAction;
    LogReport: TAction;
    N24: TMenuItem;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N29: TMenuItem;
    N30: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    RMGridReport1: TRMGridReport;
    RMDBDataSet1: TRMDBDataSet;
    RMDBDataSet2: TRMDBDataSet;
    LinkManList: TAction;
    N33: TMenuItem;
    SellList: TAction;
    N34: TMenuItem;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    XPManifest1: TXPManifest;
    ToolButton8: TToolButton;
    EMail: TAction;
    N35: TMenuItem;
    N36: TMenuItem;
    cxEditRepository1: TcxEditRepository;
    DateEdit: TcxEditRepositoryDateItem;
    TimeEdit: TcxEditRepositoryTimeItem;
    MoneyEdit: TcxEditRepositoryCurrencyItem;
    ClientData: TAction;
    LinkMan: TAction;
    VisitData: TAction;
    BespokeData: TAction;
    ProductData: TAction;
    N37: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N40: TMenuItem;
    N41: TMenuItem;
    N42: TMenuItem;
    Sort: TAction;
    N44: TMenuItem;
    N45: TMenuItem;
    RMXLSExport1: TRMXLSExport;
    Tomorrow: TRzGroup;
    Compress: TAction;
    N43: TMenuItem;
    IntegerEdit: TcxEditRepositorySpinItem;
    N46: TMenuItem;
    N47: TMenuItem;
    H1: TMenuItem;
    Help: TAction;
    RzGroup7: TRzGroup;
    Label1: TLabel;
    Label2: TLabel;
    procedure FileExit1Execute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure HelpAbout1Execute(Sender: TObject);
    //日程安排
    procedure ShowCalendar;
    //检测过期记录
    procedure TestOverdueData;
    procedure FormActivate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    //导入权限分配
    procedure LoadPower;
    //打印报表
    procedure PrintReport(ID : Integer);
    procedure ClientListReportExecute(Sender: TObject);
    //分配窗口显示
    procedure ShowWindows(ID :Integer);
    procedure ClientListExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    //今日要事
    procedure OClickSort(sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure EMailExecute(Sender: TObject);
    //返回本星期起止日期的SQL语句
    function OutToStarAndEnd:String;
    //统计销售量
    procedure StatProductSell;
    procedure HelpExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
      LogoIn    :Boolean;
      //*******权限部分*****************
      power     :  Boolean;      //权限管理
      password  :  Boolean;      //密码
      print     :  Boolean;      //打印
      DataOut   :  Boolean;      //数据导出
      BackUp    :  Boolean;      //备份还原
      Log       :  Boolean;      //查看日志
  end;

var
  MainForm  : TMainForm;
  IsMax     : integer=-1;
  Maxs      : Boolean=false;
  DataSet   : TDataSet;       //数据源
  Ini       : TiniFile;
 productList: TStringList;
implementation

{$R *.dfm}

uses ClientList, Reserve, Welcome, DM, EditArea, Bespeak, Areas, PowerSet,
  Load, Option, progress, WaitPas1, ChangePassword, BackUp, Log, ShellApi,
  LinkManlist, SellList, Search, SortForm, CompressData;

procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
{根据传递过来的参数,打开相应的窗体}
var
  i: integer;
  Child:TForm;
begin
  for i := 0 to Screen.FormCount -1 do
      if Screen.Forms[i].ClassType=FormClass then
      begin
        {检查窗体是否已经打开,如果没有打开,打开它,
        如果已经打开,让它正常显示即可}
        Child:=Screen.Forms[i];
        if Child.WindowState=wsMinimized then
           ShowWindow(Child.handle,SW_SHOWNORMAL)
        else
           ShowWindow(Child.handle,SW_SHOWNA);
        if (not Child.Visible) then Child.Visible:=True;
        Child.BringToFront;
        Child.Setfocus;
        TForm(fm):=Child;
        exit;
      end;
  Child:=TForm(FormClass.NewInstance);
  TForm(fm):=Child;
  Child.Create(AOwner);
end;

procedure TMainForm.FileExit1Execute(Sender: TObject);
begin
  Close;
end;

procedure TMainForm.FormCreate(Sender: TObject);
var
   L, T, W ,H : Integer;
begin
//读取INI文件以判断窗口位置
   ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'CRM.ini');
   IsMax := ini.ReadInteger('MaxWindow','Max',-1);
   L     := ini.ReadInteger('WindowsState','Left',0);
   T     := Ini.ReadInteger('WindowsState','Top',0);
   W     := Ini.ReadInteger('WindowsState','Width',0);
   H     := Ini.ReadInteger('WindowsState','Height',0);

   if IsMax<>0 then
      MainForm.Position:=poScreenCenter
   else begin
      Left   := L;
      Top    := T;
      Width  := W;
      Height := H;
   end;

   productList:=TStringList.Create;

   if FileExists('MainGroup.bmp') then
      Image1.Picture.Bitmap.LoadFromFile('MainGroup.bmp');
   RzGroup6.DoubleBuffered:=true;
   LogoIn:=false;
end;

procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
   if Messagebox(handle,'您确定要退出当前系统吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then begin
      CanClose:=true;
   end
   else CanCLose:=false;
end;

procedure TMainForm.HelpAbout1Execute(Sender: TObject);
begin
   WelComeForm.ShowModal;
end;

procedure TMainForm.ShowCalendar;
var
   Dates, S, S1   : String;
   I              : Integer;
begin
   //显示今日要事、本周安排
   Dates:=FormatDateTime('yyyy-MM-dd',NOW);
   With DM1.ADOQuery1 do try
      Close;
      SQL.Clear;
      SQL.Add('Select * From ClientBespeak where Dates =:PM');
      Parameters.ParamByName('PM').Value:=Dates;
      Open;
      RzGroup6.Items.Clear;
      RzGroup6.Items.Add;
      if RecordCount <1 then begin
         RzGroup6.Items[0].Caption:='今天没有事务安排';
      end else if RecordCount >=1 then begin
         RzGroup6.Items[0].Caption:='今天有 '+IntToStr(RecordCount)+' 个联系客户';
         First;
         for I:=0 to RecordCount-1 do begin
            with RzGroup6.Items.Add do begin
                 Caption:=IntToStr(i+1)+'、'+FieldByName('ClientName').AsString;
                 Tag:=100;
                 OnClick:=OClickSort;
            end;

            Next;
         end;
      end;
      Close;
      SQL.Clear;
      //近期安排
      S := FormatDateTime(ShortDateFormat,Now);
      S1:= FormatDateTime(ShortDateFormat,Now+Ini.ReadInteger('TermSet','Set',7));
      SQL.Add('Select * From ClientBespeak where Dates between '+''''+S+''''+' and '+''''+S1+'''');
      Open;
      Tomorrow.Items.Clear;
      Tomorrow.Items.Add;
      if RecordCount <1 then begin
         Tomorrow.Items[0].Caption:='近期没有事务安排';
      end else if RecordCount >=1 then begin
         Tomorrow.Items[0].Caption:='近期有 '+IntToStr(RecordCount)+' 个联系客户';
         First;
         for I:=0 to RecordCount-1 do begin
            with Tomorrow.Items.Add do begin
              Caption:=IntToStr(i+1)+'、'+FieldByName('ClientName').AsString;
              Tag:=200;
              OnClick:=OClickSort;
            end;
            Next;
         end;
      end;
      Close;
      SQL.Clear;
   except
   end;

end;

⌨️ 快捷键说明

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