📄 main.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 + -