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

📄 main.pas

📁 1. 纯粹的合同管理,不涉及其它业务,独立成系统2. 简单明了,流程清析3. 合同条款可预定制4. 丰富强大的打印预览系统5. 实用的导入导出功能,可与excel交互使用6. 时刻追踪合同执行情况,包
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TEMPLETFORM, LabelButton, HemisphereButton, Menus, ComCtrls,
  ToolWin, StdCtrls, ExtCtrls, AppEvnts, ImgList, TrayBarIcon,DateUtils;

type
  TMainForm = class(TMyForm)
    HemiBtn_Pope: THemiBtn;
    LabelBtn_CarNo: TLabelBtn;
    HemiBtn_Online: THemiBtn;
    LabelBtn_Online: TLabelBtn;
    HemiBtn_Exit: THemiBtn;
    LabelBtn_Exit: TLabelBtn;
    HemiBtn_Lock: THemiBtn;
    LabelBtn_Lock: TLabelBtn;
    HemiBtn_Count: THemiBtn;
    LabelBtn_Count: TLabelBtn;
    HemiBtn_Fill: THemiBtn;
    HemiBtn_AWard: THemiBtn;
    HemiBtn_Setup: THemiBtn;
    HemiBtn_CarNo: THemiBtn;
    HemiBtn_ChangeKey: THemiBtn;
    LabelBtn_Fill: TLabelBtn;
    LabelBtn_Award: TLabelBtn;
    LabelBtn_Setup: TLabelBtn;
    LabelBtn_Pope: TLabelBtn;
    LabelBtn_ChangeKey: TLabelBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    lbCopyRight: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Timer1: TTimer;
    ApplicationEvents1: TApplicationEvents;
    TrayIcon1: TTrayIcon;
    Timer2: TTimer;
    procedure HemiBtn_ExitClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure ApplicationEvents1Deactivate(Sender: TObject);
    procedure ApplicationEvents1Activate(Sender: TObject);
    procedure TrayIcon1DblClick(Sender: TObject);
    procedure HemiBtn_LockClick(Sender: TObject);
    procedure HemiBtn_CarNoClick(Sender: TObject);
    procedure HemiBtn_OnlineClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure HemiBtn_PopeClick(Sender: TObject);
    procedure HemiBtn_FillClick(Sender: TObject);
    procedure HemiBtn_SetupClick(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure HemiBtn_ChangeKeyClick(Sender: TObject);
    procedure HemiBtn_AWardClick(Sender: TObject);
    procedure HemiBtn_CountClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    InLock,FShow:boolean;
    delayTime:integer;
  end;

var
  MainForm: TMainForm;

implementation

uses member, Admin, FillValue, InputNo, Online, syssetup, data,
  FillValueNote, UnLock, ChangeKey, AwardNote, DCM;

{$R *.dfm}

procedure TMainForm.HemiBtn_ExitClick(Sender: TObject);
begin
  inherited;
  if MessageBox(handle,'是否要退出系统','机房管理系统',
    MB_OKCANCEL or MB_ICONWARNING)=IDOK then
  begin
    if not DM.ADOQCurOnline.Active then
      DM.ADOQCurOnline.Active :=true;
    if DM.ADOQCurOnline.RecordCount >0 then
    begin
      if MessageBox(handle,'当前仍有人在上机,是否让其全部下机!','机房管理系统',
        MB_OKCANCEL or MB_ICONWARNING)=IDOK then
      begin
        DM.DownLineAll(Date,Time);
        DM.WriteExitState(true,now);
        ShowMessage('你现在可以安全的退出了!');
      end
      else begin
        DM.WriteExitState(false,now);
      end;
    end;
    Application.Terminate;
  end;
end;

procedure TMainForm.Timer1Timer(Sender: TObject);
begin
  inherited;
  INC(delayTime);
  if DelayTime=DM.SysSetup.FAutoHide then
  begin
    Timer1.Enabled :=false;
    InLock:=true;
    Application.Minimize;
    delayTime:=0;
  end;
end;

procedure TMainForm.ApplicationEvents1Deactivate(Sender: TObject);
begin
  inherited;
  Timer1.Enabled :=true;
end;

procedure TMainForm.ApplicationEvents1Activate(Sender: TObject);
begin
  inherited;
  Timer1.Enabled :=false;
end;

procedure TMainForm.TrayIcon1DblClick(Sender: TObject);
begin
  inherited;
  if (not FShow)and InLock then
  begin
    UnLockForm:=TUnLockForm.Create(Application);
    FShow:=True;
    if UnLockForm.ShowModal =mrOK then
    begin
      InLock:=false;
      Application.Restore;
    end;
    FShow:=False;
  end;
end;

procedure TMainForm.HemiBtn_LockClick(Sender: TObject);
begin
  inherited;
  InLock:=true;
  Application.Minimize;
end;

procedure TMainForm.HemiBtn_CarNoClick(Sender: TObject);
begin
  inherited;
  if (DM.curAdmin.FPopedom =2)and(not DM.curAdmin.FMember) then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  if MemberForm=nil then
    MemberForm:=TMemberForm.Create(Application)
  else if MemberForm.WindowState =wsMinimized then
    MemberForm.WindowState :=wsNormal;
  with MemberForm do
  begin
    RefreshNum;
    Show;
  end;
end;

procedure TMainForm.HemiBtn_OnlineClick(Sender: TObject);
begin
  inherited;
  if (DM.curAdmin.FPopedom =2)and(not DM.curAdmin.FOnline) then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  if OnlineForm=nil then
    OnlineForm:=TOnlineForm.Create(Application)
  else if OnlineForm.WindowState =wsMinimized then
    OnlineForm.WindowState :=wsNormal;
  OnlineForm.Show;
end;

procedure TMainForm.FormCreate(Sender: TObject);
var
 ADate,ATime:TDateTime;
begin
  inherited;
  lbCopyRight.Caption:=CopyRight;
  Timer2.Interval :=DM.SysSetup.FAutoSave*60000;
  DM.ADOQCurOnline.Active :=true;
  ADate:=DateOf(DM.SysSetup.FLastExit);
  ATime:=TimeOf(DM.SysSetup.FLastExit);
  if (not DM.SysSetup.FExitState)and
     (DM.ADOQCurOnline.RecordCount >0) then
    if MessageBox(handle,'系统检测到上一次系统退出时仍有人在上机,是否让其全部下机!','机房管理系统',
      MB_OKCANCEL or MB_ICONWARNING)=IDOK then
      if DM.DownLineAll(ADate,ATime) then
        ShowMessage('下机成功');
{
  with DM.curAdmin do
  begin
    case FPopedom of
    1:  begin
          Hemibtn_Setup.Enabled :=false;
          Hemibtn_Pope.Enabled :=false;
        end;
    2:  begin
          Hemibtn_CarNo.Enabled :=DM.curAdmin.FMember;
          Hemibtn_Online.Enabled :=DM.curAdmin.FOnline;
          Hemibtn_Fill.Enabled :=DM.curAdmin.FFillTime;
          Hemibtn_Setup.Enabled :=DM.curAdmin.FSysSetup;
          Hemibtn_Pope.Enabled :=false;
        end;
    end;      //end case
  end;        //end with    }
end;

procedure TMainForm.HemiBtn_PopeClick(Sender: TObject);
begin
  inherited;
  if DM.curAdmin.FPopedom <>0 then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  if AdminForm=nil then
    AdminForm:=TAdminForm.Create(Application)
  else if AdminForm.WindowState =wsMinimized then
    AdminForm.WindowState :=wsNormal;
  AdminForm.Show;
end;

procedure TMainForm.HemiBtn_FillClick(Sender: TObject);
begin
  inherited;
  if (DM.curAdmin.FPopedom =2)and(not DM.curAdmin.FFillTime) then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  FillValueNoteForm:=TFillValueNoteForm.Create(Application);
  FillValueNoteForm.FillCount;
  FillValueNoteForm.ShowModal;
end;

procedure TMainForm.HemiBtn_SetupClick(Sender: TObject);
begin
  inherited;
  if (DM.curAdmin.FPopedom =1)or
     ((DM.curAdmin.FPopedom =2)and(not DM.curAdmin.FSysSetup)) then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  SysSetupForm:=TSysSetupForm.Create(Application);
  if SysSetupForm.ShowModal=mrOK then
    Timer2.Interval :=DM.SysSetup.FAutoSave*60000;
end;

procedure TMainForm.Timer2Timer(Sender: TObject);
begin
  inherited;
  if DM.ADOQCurOnline.RecordCount >0 then
    DM.WriteExitState(false,now);
end;

procedure TMainForm.HemiBtn_ChangeKeyClick(Sender: TObject);
begin
  inherited;
  ChangeKeyForm:=TChangeKeyForm.Create(Application);
  if ChangeKeyForm.ShowModal=mrOK then
    ShowMessage('密码更改成功'); 
end;

procedure TMainForm.HemiBtn_AWardClick(Sender: TObject);
begin
  inherited;
  if (DM.curAdmin.FPopedom =2)and(not DM.curAdmin.FAward) then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  AwardNoteForm:=TAwardNoteForm.Create(Application);
  AwardNoteForm.ShowModal;
end;

procedure TMainForm.HemiBtn_CountClick(Sender: TObject);
begin
  inherited;
  if DM.curAdmin.FPopedom <>0 then
  begin
    ShowMessage('你没有足够的权限!');
    exit;
  end;
  DCMForm:=TDCMForm.Create(Application);
  DCMForm.ShowModal;
end;

end.

⌨️ 快捷键说明

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