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

📄 loganalyseunit.cpp

📁 指纹门禁机管理系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "LogAnalyseUnit.h"
#include "DMDataAccess.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "BaseLogUnit"
#pragma resource "*.dfm"
TLogAnalyseFrm *LogAnalyseFrm;
//---------------------------------------------------------------------------
__fastcall TLogAnalyseFrm::TLogAnalyseFrm(TComponent* Owner)
    : TBaseLogFrm(Owner)
{

   MyColorList[0]= clFuchsia;
   MyColorList[1]= clMaroon;
   MyColorList[2]= clGreen;
   MyColorList[3]= clOlive;
   MyColorList[4]= clNavy;
   MyColorList[5]= clPurple;
   MyColorList[6]= clTeal;
   MyColorList[7]= clSilver;
   MyColorList[8]= clRed;
   MyColorList[9]= clLime;
   MyColorList[10]= clYellow;
   MyColorList[11]= clBlue;
   MyColorList[12]= clWhite;
   MyColorList[13]= clDkGray;
   MyColorList[14]= clSkyBlue;
   MyColorList[15] = clAqua;
}
//---------------------------------------------------------------------------
int __fastcall TLogAnalyseFrm::QueryLogData()
{

  int lDeviceID;
  AnsiString lSQL = "select TypeName,COUNT(*) from EventLog e,LogType t where e.EventType=t.TypeID ";
  bool lOK;
  lOK = GetSelectedDeviceID(lDeviceID);
  if (lOK & lDeviceID != 0)
  {
     lSQL = lSQL + " and e.DeviceID =" + AnsiString(lDeviceID);
  }

  TDateTime lBeginTime,lEndTime;
  lOK = GetSelectedTime(lBeginTime,lEndTime);
  if (lOK)
  {
    lSQL = lSQL + " and EventTime between :BeginTime and :EndTime";
  }
  lSQL = lSQL + " group by TypeName ";

  Series1->Clear();
  TADOQuery* pQuery = dmDatabase->adoAnalyse;
  pQuery->Close();
  pQuery->SQL->Text = lSQL;
  try
  {
    if (lOK)
    {
       pQuery->Parameters->ParamByName("BeginTime")->Value = lBeginTime;
       pQuery->Parameters->ParamByName("EndTime")->Value = lEndTime;
    }
    pQuery->Open();
  }
  catch(...)
  {
    return DBAccess_E;
  }
  if (pQuery->IsEmpty())
  {
    return DBAccess_E;
  }

  AnsiString lStringValue,lTemp;
  int lEventCount;
  int lColorIndex = 0;
  for(pQuery->First();!pQuery->Eof;pQuery->Next())
  {
    lStringValue = pQuery->Fields->Fields[0]->AsString.Trim();
    lEventCount = pQuery->Fields->Fields[1]->AsInteger;
    Series1->Add(lEventCount,lStringValue,MyColorList[lColorIndex++]);
  }
  sbInfo->Panels->Items[0]->Text = " 共查询到记录总数:" + lEventCount;

  return OK;
}
//---------------------------------------------------------------------------
int __fastcall TLogAnalyseFrm::ClearLogData()
{
  bool lOK;
  int lDeviceID;
  int lRV;
  lOK = GetSelectedDeviceID(lDeviceID);
  if (lOK)
  {
       AnsiString lMsg;
       if (lDeviceID == 0)
       {
          if (Application->MessageBoxA("您确认要清除电脑里所有的日志吗?","提示信息",MB_YESNO + MB_ICONWARNING)==ID_NO)
             return lRV;
          lRV = aDBAccess.ClearOperateLog();
          lRV = aDBAccess.ClearEventLog();
       }
       else
       {
          lMsg = "您确认要删除所有 " + edtCurDeviceName->Text + " 设备的日志吗?";
          if (Application->MessageBoxA(lMsg.c_str(),"提示信息",MB_OK + MB_ICONWARNING) == ID_NO)
             return lRV;
          lRV = aDBAccess.ClearEventLog(lDeviceID);
          lRV = aDBAccess.ClearOperateLog(lDeviceID);
       }

       if (lRV == OK)
       {
          Application->MessageBoxA("清除电脑日志成功!","提示信息",MB_OK + MB_ICONINFORMATION);
       }
       else
       {
          Application->MessageBoxA("清除电脑日志失败!","提示信息",MB_OK + MB_ICONERROR);
       }
  }
  return lRV;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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