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

📄 enguardmainunit.cpp

📁 指纹门禁机管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "EnguardMainUnit.h"
#include "ObjectManageUnit.h"
#include "DeptManageUnit.h"
#include "EmployeeManageUnit.h"
#include "DeviceAccessUnit.h"
#include "DatabaseConnectUnit.h"
#include "DeviceManageUnit.h"
#include "EnguardRoleUnit.h"
#include "OperateLogUnit.h"
#include "EnguardEventLogUnit.h"
#include "EmployeeViewUnit.h"
#include "BaseConvertorUnit.h"
#include "LogAnalyseUnit.h"
#include "LoginUnit.h"
#include "ChangePasswordUnit.h"
#include "DeviceOpenUnit.h"
#include "SystemConfigSetUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TEnguardMainFrm *EnguardMainFrm;
//---------------------------------------------------------------------------
__fastcall TEnguardMainFrm::TEnguardMainFrm(TComponent* Owner)
    : TBaseViewFrm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::FormCreate(TObject *Sender)
{
   ConfigFile = ExtractFileDir(Application->ExeName)+"\\ConfigFile\\SysConfig.xml";
   TConfigInfoXML aConfigInfoXML(ConfigFile);

   if (!aConfigInfoXML.GetConfigInfo(aSystemConfigInfo))
   {
     aConfigInfoXML.GetDefaultConfigInfo(aSystemConfigInfo);
   }


   pEventEngine = GetEventEngineInstance();

   lvRecordInfo->OnColumnClick = OnRecordInfoColumnClick;
   lvRecordInfo->OnCompare = OnRecordInfoCompare;

   lvWaringEvent->OnColumnClick = OnRecordInfoColumnClick;
   lvWaringEvent->OnCompare = OnRecordInfoCompare;

   ClearSpeedButtonCaption();

   lEventCount = 0;
   lWarningEventCount = 0;

   int lCount,lActiveCount;
   pEventEngine->GetDeviceCount(lCount,lActiveCount);
   sbInfo->Panels->Items[1]->Text = "  设备总数:" + AnsiString(lCount)+ "    |  启用监控设备个数:" + AnsiString(lActiveCount);;
   sbInfo->Panels->Items[2]->Text = " 共监控到门禁事件:" + AnsiString(lWarningEventCount+lEventCount) + " 起   |  其中报警:"+AnsiString(lWarningEventCount)+" 起";

}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::FormDestroy(TObject *Sender)
{
   //释放相关对象实例
   pEventEngine->StopEngine();
   if (pEventEngine)
     delete pEventEngine;
   TDeviceAccess* pDevice = GetDeviceAccessInstance();
   delete pDevice;

}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::FormShow(TObject *Sender)
{
   SetInitPanelVisible(false);

   SetWarningPanelSytle(aSystemConfigInfo.ViewConfig.WarningPanelStyle);
   this->Caption = AnsiString(aSystemConfigInfo.CompanyName) + "指纹门禁管理系统  V1.2.0";

   //启动事件引擎
   pEventEngine->StartEngine();

   bool lEngineActive = pEventEngine->IsActive();
   if (lEngineActive)
   {
      aEngineStatus->Caption = "停用监控 &S";
      aEngineStatus->Hint = "停用监控";
      spbnEngineStatus->Glyph = NULL;
      mlState->GetBitmap(0,spbnEngineStatus->Glyph);
   }
   else
   {
      aEngineStatus->Caption = "启用监控 &S";
      aEngineStatus->Hint = "启用监控";
      spbnEngineStatus->Glyph = NULL;
      mlState->GetBitmap(1,spbnEngineStatus->Glyph);
   }

   trEventLog->Enabled = true;

   AnsiString lStatus = "登录员工:";
   if(aDBAccess.GetUserMaxID() == 0)
   {
      lStatus = lStatus + "未登录";
      sbInfo->Panels->Items[0]->Text = lStatus;
   }
   else
   {
      int lEmpID = SystemLoginFrm->edtEmpID->Text.Trim().ToInt();
      aDBAccess.GetUserInfo(lEmpID,CurUserInfo);
      lStatus = lStatus + CurUserInfo.BaseUserInfo.EmpName;
      sbInfo->Panels->Items[0]->Text = lStatus;
   }
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aDeptManageExecute(TObject *Sender)
{
   //部门管理
   TDeptManageFrm* pTDeptManageFrm = new TDeptManageFrm(this);
   pTDeptManageFrm->SetOperateMode(omAdd);
   pTDeptManageFrm->ShowModal();
   delete pTDeptManageFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aEmpManageExecute(TObject *Sender)
{
   //人员管理
   TEmployeeManageFrm* pTEmployeeManageFrm = new TEmployeeManageFrm(this);
   pTEmployeeManageFrm->ShowModal();
   delete pTEmployeeManageFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aEmergencyOpenExecute(TObject *Sender)
{
   //应急开门
   TDeviceOpenFrm* pDeviceOpenFrm = new TDeviceOpenFrm(this);
   pDeviceOpenFrm->SetCaption("","应急开门");
   pDeviceOpenFrm->ShowModal();
   delete pDeviceOpenFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aEntanceRoleExecute(TObject *Sender)
{
   //门禁规则定义
   TEnguardRoleFrm* pTEnguardRoleFrm = new TEnguardRoleFrm(this);
   pTEnguardRoleFrm->ShowModal();
   delete pTEnguardRoleFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aDBLinkSetExecute(TObject *Sender)
{
   //数据库链接设置
   TDatabaseConnectFrm* pTDatabaseConnectFrm = new TDatabaseConnectFrm(this);
   pTDatabaseConnectFrm->ShowModal();
   delete pTDatabaseConnectFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aDeviceManageExecute(TObject *Sender)
{
   //设备链接管理
   TDeviceManageFrm* pTDeviceManageFrm = new TDeviceManageFrm(this);
   pTDeviceManageFrm->ShowModal();
   if (pTDeviceManageFrm->IsDeviceChanged())//退出设备管理窗口时,如果设备有变化重新启动引擎
   {
      aRefresh->Execute();
   }
   delete pTDeviceManageFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aAddinDeviceExecute(TObject *Sender)
{
  //指纹采集仪链接
   HWND handle;
   ShellExecute(handle, "open", "FingerPluginPro", NULL, NULL, SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::SpeedButton5Click(TObject *Sender)
{
    TBaseObjectManageFrm* pTBaseObjectManageFrm = new TBaseObjectManageFrm(this);
    pTBaseObjectManageFrm->ShowModal();
    delete pTBaseObjectManageFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::N4Click(TObject *Sender)
{
   //显示在下面
   SetWarningPanelSytle(1);
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::N3Click(TObject *Sender)
{
   //显示在右侧
  SetWarningPanelSytle(0);
}
//---------------------------------------------------------------------------
void TEnguardMainFrm::SetWarningPanelSytle(int iStyle)
{
   if(iStyle == 0)       //显示在右侧
   {
      pcNormalEvent->Align = alClient;
      pcWarnEvent->Align = alRight;
      slEvent->Align = alRight;
      lvWaringEvent->Align = alClient;
      pcWarnEvent->Height = pcWarnEvent->Height - 10;
      this->Refresh();
   }
   else if (iStyle == 1)  //显示在下面
   {
      pcNormalEvent->Align = alClient;
      pcWarnEvent->Align = alBottom;
      pcWarnEvent->Height = pcWarnEvent->Height + 10;
      lvWaringEvent->Align = alClient;
      slEvent->Align = alBottom;
      this->Refresh();
   }
}
//---------------------------------------------------------------------------
void __fastcall TEnguardMainFrm::bbtnDeptManageClick(TObject *Sender)
{
   TDeptManageFrm* pDeptManageFrm = new TDeptManageFrm(this);
   pDeptManageFrm->ShowModal();
   delete pDeptManageFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::bbtnClick(TObject *Sender)
{
   TEmployeeManageFrm* pEmployeeManageFrm = new TEmployeeManageFrm(this);
   pEmployeeManageFrm->ShowModal();
   delete pEmployeeManageFrm;
}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aOperateLogExecute(TObject *Sender)
{

   TBaseLogFrm* pTOperaterLogFrm = new TOperaterLogFrm(this);
   pTOperaterLogFrm->SetCaption("操作日志管理");
   pTOperaterLogFrm->ShowModal();
   delete pTOperaterLogFrm;

}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::aEnguardEventExecute(TObject *Sender)
{
   TBaseLogFrm* pTEnguardEventLogFrm = new TEnguardEventLogFrm(this);
   pTEnguardEventLogFrm->SetCaption("门禁事件日志管理");
   pTEnguardEventLogFrm->ShowModal();
   delete pTEnguardEventLogFrm;

}
//---------------------------------------------------------------------------

void __fastcall TEnguardMainFrm::trEventLogTimer(TObject *Sender)
{
   LogInfoBase_T aLogInfo;
   int lRV = pEventEngine->PopEventLog(aLogInfo);
   if (lRV == OK)
   {
      EventType_T lEventType = (EventType_T)aLogInfo.OpType;

⌨️ 快捷键说明

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