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

📄 main.pas

📁 这是一个正式的项目工程
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  StatusBar.Panels[0].Text:=Application.Hint;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  ReceiveCount:=0;
  AppInitialize;
  Caption:=AppInfo.Title;
  FClientInstance := MakeObjectInstance(ClientWndProc);
  FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
  SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
  Application.OnHint := ShowHint;
  Application.OnIdle := ShowStatus;
  ControlBarMenu.Visible:=AppInfo.ToolStatus[1]='1';
  CoolBarStatus.Visible:=AppInfo.ToolStatus[2]='1';
  mnuControlBarMenu.Checked:=ControlBarMenu.Visible;
  mnuCoolBarStatus.Checked:=CoolBarStatus.Visible;
  ExitNo:=0;
  Show;
  if GetUserRegister() then
  begin
    UserInfo:=GetUserName(AppInfo,UserInfo);
  end
  else
  begin
    UserInfo.UserName:='';
    UserInfo.UserLevel:=0;
  end;
  if UserInfo.UserName='' then
  begin
    ExitNo:=13;
    Close;
  end
  else
  begin
//    MenuControl(UserInfo);
    if FileExists(AppInfo.Path+'Help\PKXT.hlp') then
      Application.HelpFile :=AppInfo.Path+'Help\PKXT.hlp'
    else
      Application.MessageBox('PKXT.HLP 帮助文件丢失','警告信息',0);
//  Screen.OnActiveFormChange := UpdateMenuItems;
//  Screen.OnActiveControlChange := ActiveControlChangeHandle;
//  frmMain.Caption:=frmMain.Caption+'--'+GlobalSystem[UserUnitName];
//  initMonlist;
  end;
  RWSyn:=TMultiReadExclusiveWriteSynchronizer.Create;
end;

Procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if ExitNo<>13 Then
begin
  if not (MDIChildCount=0) then
    begin
      MessageDLG(SConfirmDataNotLost+NewLine+SCloseAllWindow,mtWarning,[mbOK],1);
      ExitNo:=0;
    end
  else
    ExitNo:=ExitSystem(AppInfo);
  case ExitNo of
      1:
        begin
          CanClose:=True;
        end;
      2:
        ExitWindowsEx(EWX_POWEROFF,1);
      3:
        ExitWindowsEx(EWX_REBOOT,1);
      4:
        ExitWindowsEx(EWX_SHUTDOWN,1);
      5:
        ExitWindowsEx(EWX_LOGOFF,1);
      else
        CanClose:=False;
  end;
end
else
  CanClose:=True;
end;

Procedure TfrmMain.ShowStatus(Sender: TObject;var Done:Boolean);
begin
  StatusBar.Panels[1].Text:=UserInfo.UserName;
  if not((GetKeyState(VK_CAPITAL) and 1)=1) then
     StatusBar.Panels[2].Text:='Caps'
  else
     StatusBar.Panels[2].Text:='CapsLock';
  if not((GetKeyState(VK_NUMLOCK) and 1)=1) then
     StatusBar.Panels[3].Text:='NUM'
  else
     StatusBar.Panels[3].Text:='NUMLock';
  if not((GetKeyState(VK_INSERT) and 1)=1) then
     StatusBar.Panels[4].Text:='Insert'
  else
     StatusBar.Panels[4].Text:='OverWrite';
  StatusBar.Panels[5].Text:=DateToStr(Date);
  if FileExists(AppInfo.BMPFileName)and(AppInfo.isBMPChanged) then begin
    try
      imgClient.Picture.LoadFromFile(AppInfo.BMPFileName);
    finally
      AppInfo.isBMPChanged:=False;
      Height:=Height+1;
      Height:=Height-1;
      RePaint;
    end;
  end;
  ActionSendCommand.Enabled:=not isFormExist(frmMain,'frmSendCommand');
  ActionControlPanel.Enabled:=not isFormExist(frmMain,'frmSendCommand');
  ActionRealTimeChart.Enabled:=not isFormExist(frmMain,'frmRealChart');
  ActionCommParameter.Enabled:=(isFormExist(frmMain,'frmSendCommand'));
  ActionHistory.Enabled:=((GProjectInfo.HourseID<>'') and (not isFormExist(frmMain,'frmHirstory'))) ;
  ActionGravity.Enabled:=(GProjectInfo.HourseID<>'');

end;

procedure TfrmMain.ActionAboutSystemExecute(Sender: TObject);
begin
  About(AppInfo);
end;

procedure TfrmMain.ActionExitSystemExecute(Sender: TObject);
begin
  Close;
end;

procedure TfrmMain.ActionUserManagerExecute(Sender: TObject);
begin
  UserMaintaince(AppInfo,UserInfo);
end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if ExitNo=13 then
  begin
    SendMessage(Handle,WM_DESTROY,0,0);
    Action:=caFree;
    Application.Terminate;
  end;
  Action:=caFree;
end;

procedure TfrmMain.mnuChangePasswordClick(Sender: TObject);
begin
  UserInfo:=GetNewPassword(AppInfo,UserInfo);
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  AppDestroy(AppInfo);
end;

procedure TfrmMain.ActionPauseJobExecute(Sender: TObject);
begin
  SetWorkPause(AppInfo,UserInfo);
end;

procedure TfrmMain.mnuControlBarMenuClick(Sender: TObject);
begin
  with Sender as TMenuItem do
  begin
    Checked := not Checked;
    If Checked then
      AppInfo.ToolStatus[1]:='1'
    else
      AppInfo.ToolStatus[1]:='0';
    ControlBarMenu.Visible := Checked;
  end;
end;

procedure TfrmMain.mnuCoolBarStatusClick(Sender: TObject);
begin
  with Sender as TMenuItem do
  begin
    Checked := not Checked;
    If Checked then
      AppInfo.ToolStatus[2]:='1'
    else
      AppInfo.ToolStatus[2]:='0';
    CoolBarStatus.Visible := Checked;
  end;
end;

procedure TfrmMain.ActionControlPanelExecute(Sender: TObject);
begin
  try
    frmControlPanel:=TfrmControlPanel.Create(Application);
    with frmControlPanel do
    begin
      Width:=450;
      Height:=300;
      ShowModal;
    end;
  finally
    frmControlPanel.Free;
  end;
end;

procedure TfrmMain.ActionSendCommandExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmSendCommand,frmSendCommand);
  frmSendCommand.Show;
end;

procedure TfrmMain.ActionRealTimeChartExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmRealChart, frmRealChart);
  frmRealChart.Show;
end;

procedure TfrmMain.ActionHistoryExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmHistory, frmHistory);
  frmHistory.Show;
end;

procedure TfrmMain.ActionCommParameterExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmCommParameter, frmCommParameter);
  frmCommParameter.ShowModal;
end;

procedure TfrmMain.ActionGravityExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmStandardGravity, frmStandardGravity);
  frmStandardGravity.ShowModal;
end;

procedure TfrmMain.ActionPrintExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmDataAnalysis, frmDataAnalysis);
  frmDataAnalysis.Show;
end;

procedure TfrmMain.ActionMultiAnalysisExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmDataDisp, frmDataDisp);
  frmDataDisp.Show;
end;

procedure TfrmMain.ActionViewLogExecute(Sender: TObject);
begin
  Application.CreateForm(TfrmLogInfo, frmLogInfo);
  frmLogInfo.ShowModal;
end;

procedure TfrmMain.ActionHelpTopicExecute(Sender: TObject);
begin
  if FileExists(AppInfo.Path+'Help\PKXT.HLP') then
  begin
    try
      Application.HelpCommand(HELP_INDEX,0);
    except
      Application.MessageBox('PKXT.HLP 帮助文件损坏','警告信息',0);
    end;
  end
  else
  begin
    Application.MessageBox('PKXT.HLP 帮助文件丢失','警告信息',0);
  end;
end;

procedure TfrmMain.ActionHelpIndexExecute(Sender: TObject);
begin
  if FileExists(AppInfo.Path+'Help\PKXT.HLP') then
  begin
    try
      Application.HelpCommand(HELP_FINDER,0);
    except
      Application.MessageBox('PKXT.HLP 帮助文件损坏','警告信息',0);
    end;
  end
  else
  begin
    Application.MessageBox('PKXT.HLP 帮助文件丢失','警告信息',0);
  end;
end;

end.

⌨️ 快捷键说明

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