📄 operationlogfile.cpp
字号:
// OperationLogFile.cpp : implementation file
//
#include "stdafx.h"
#include "../Resource.h"
#include "../dvrmanager.h"
#include "RightLogin.h"
#include "OperationLogFile.h"
#include "MyPropertySheet3.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNCREATE(COperationLogFile, CPropertyPage)
IMPLEMENT_DYNCREATE(CAlarmLogFile, CPropertyPage)
/////////////////////////////////////////////////////////////////////////////
// COperationLogFile property page
COperationLogFile::COperationLogFile() : CPropertyPage(COperationLogFile::IDD)
{
//{{AFX_DATA_INIT(COperationLogFile)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_time1=-1;
m_time2=-1;
m_starttimebool=FALSE;
m_timebool=FALSE;
m_brush.CreateSolidBrush(RGB(117, 200, 146));
}
COperationLogFile::~COperationLogFile()
{
}
void COperationLogFile::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(COperationLogFile)
DDX_Control(pDX, IDC_TIME, m_timebtn);
DDX_Control(pDX, IDC_STARTTIME, m_timestartbtn);
DDX_Control(pDX, IDC_SHOWLOG, m_showlogbtn);
DDX_Control(pDX, ID_GROUP1, m_grp1);
DDX_Control(pDX, ID_GROUP2, m_grp2);
DDX_Control(pDX, IDC_lable3, m_lable3);
DDX_Control(pDX, IDC_lable2, m_lable2);
DDX_Control(pDX, IDC_lable1, m_lable1);
DDX_Check(pDX, IDC_TIME, m_timebool);
DDX_Check(pDX, IDC_STARTTIME, m_starttimebool);
DDX_Control(pDX, IDS_OBJ_COM, m_log_list);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_time1);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER2, m_time2);
DDX_Control(pDX, IDC_MSFLEXGRID1, m_dbgrid);
DDX_Text(pDX, IDS_OBJ_COM, m_list);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(COperationLogFile, CPropertyPage)
//{{AFX_MSG_MAP(COperationLogFile)
ON_CBN_SETFOCUS(IDS_OBJ_COM, OnSetfocuslog)
ON_CBN_SELCHANGE(IDS_OBJ_COM, OnSelchangelog)
ON_BN_CLICKED(IDC_SHOWLOG, Onshowlog)
ON_BN_CLICKED(IDC_STARTTIME, Onstarttime)
ON_BN_CLICKED(IDC_TIME, Ontime)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
extern CString m_login_client_name;
BOOL COperationLogFile::OnInitDialog()
{
CPropertyPage::OnInitDialog();
init_label(m_lable1);
init_label(m_lable2);
init_label(m_lable3);
CString m_str;
m_str.Format(LOG_FILE_PATH);
m_log_real_file = fopen(m_str,"rb");
if(!m_log_real_file)
{
AfxMessageBox(IDS_OPEN_FILE);
return FALSE;
}
return TRUE;
}
void COperationLogFile::Onstarttime()
{
m_starttimebool=TRUE;
m_timebool=FALSE;
UpdateData(false);
}
void COperationLogFile::Ontime()
{
m_starttimebool=FALSE;
m_timebool=TRUE;
UpdateData(false);
}
void COperationLogFile::OnSelchangelog()
{
int index=m_log_list.GetCurSel();
if (index!=CB_ERR)
{
m_log_list.GetLBText(index,m_list);
}
UpdateData(false);
}
int COperationLogFile::test_log_file(log_file &m_log_file, int year, int month, int day)
{
UpdateData(true);
if(fread(&m_log_file,sizeof(log_file),1,m_log_real_file)!=1) return -1;
if(!strcmp(m_log_file.use, m_list))
{
if(m_timebool)
{
if(m_log_file.day == day && m_log_file.month == month && m_log_file.year == year)
return 1;
}
if(m_starttimebool)
{
if(m_log_file.year > year) return 1;
if(m_log_file.year < year) return 0;
if(m_log_file.year == year)
{
if(m_log_file.month > month) return 1;
if(m_log_file.month < month) return 0;
if(m_log_file.month == month)
{
if(m_log_file.day >= day) return 1;
else return 0;;
}
}
}
}
else return 0;
return 0;
}
void COperationLogFile::OnSetfocuslog()
{
CString m_temstr;
m_log_list.ResetContent();
m_temstr.Format(IDS_AdDMINISTRATOR);
if(!strcmp(m_login_client_name,m_temstr))
{
rewind(m_log_real_file);
while(1)
{
log_file m_log_file;
if(fread(&m_log_file,sizeof(log_file),1,m_log_real_file)!=1)
break;
int index = m_log_list.FindString(-1, m_log_file.use);
if( index == CB_ERR)
m_log_list.AddString(m_log_file.use);
}
}
else
{
m_log_list.AddString(m_login_client_name);
}
UpdateData(true);
}
void COperationLogFile::Onshowlog()
{
UpdateData(true);
if(!m_timebool&&!m_starttimebool)
{
info_balloon(IDS_REMIND);
return;
}
int m_year,m_month,m_day;
if(m_timebool)
{
m_year=m_time1.GetYear();
m_month=m_time1.GetMonth();
m_day=m_time1.GetDay();
}
if(m_starttimebool)
{
m_year=m_time2.GetYear();
m_month=m_time2.GetMonth();
m_day=m_time2.GetDay();
}
CString m_temstr;
m_dbgrid.Clear();
m_dbgrid.SetRow(0);
m_dbgrid.SetCol(0);
m_dbgrid.SetColAlignment(0, 4);
m_temstr.Format(IDS_NUMBER);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(1);
m_dbgrid.SetColAlignment(1, 4);
m_temstr.Format(IDS_DATE);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(2);
m_dbgrid.SetColAlignment(2, 4);
m_temstr.Format(IDS_TIME);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(3);
m_dbgrid.SetColAlignment(3, 4);
m_dbgrid.SetColWidth(3,5000);
m_temstr.Format(IDS_OPERATION);
m_dbgrid.SetText(m_temstr);
long m_row=0;
rewind(m_log_real_file);
while(1)
{
log_file m_log_file;
int m_circle = test_log_file(m_log_file,m_year,m_month,m_day);
if(m_circle ==-1) break;
else if(m_circle)
{
m_row++;
char m_dc[10];
if(m_row>19)
m_dbgrid.SetRows(m_row+1);
m_dbgrid.SetRow(m_row);
m_dbgrid.SetCol(0);
m_dbgrid.SetText(itoa(m_row,m_dc,10));
m_dbgrid.SetCol(1);
CString m_timestr;
m_timestr.Format("%d-%02d-%02d",m_log_file.year,m_log_file.month,m_log_file.day);
m_dbgrid.SetText(m_timestr);
m_dbgrid.SetCol(2);
m_dbgrid.SetText(m_log_file.time);
m_dbgrid.SetCol(3);
m_dbgrid.SetText(m_log_file.operation);
}
}
}
HBRUSH COperationLogFile::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor==CTLCOLOR_DLG)
return (HBRUSH)m_brush .GetSafeHandle( ) ;
return hbr;
}
BOOL COperationLogFile::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
return CPropertyPage::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}
/////////////////////////////////////////////////////////////////////////////
// CAlarmLogFile property page
CAlarmLogFile::CAlarmLogFile() : CPropertyPage(CAlarmLogFile::IDD)
{
//{{AFX_DATA_INIT(CAlarmLogFile)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_time1=-1;
m_timebool1=FALSE;
m_timebool2=FALSE;
m_timebool3=FALSE;
m_timebool4=FALSE;
m_brush.CreateSolidBrush(RGB(117, 200, 146));
}
CAlarmLogFile::~CAlarmLogFile()
{
}
void CAlarmLogFile::DoDataExchange(CDataExchange* pDX)
{
//pDX->m_bSaveAndValidate=0;
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAlarmLogFile)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Control(pDX, IDC_CHECK1, m_btn1);
DDX_Control(pDX, IDC_CHECK2, m_btn2);
DDX_Control(pDX, IDC_CHECK3, m_btn3);
DDX_Control(pDX, IDC_CHECK4, m_btn4);
DDX_Control(pDX, IDC_SHOWLOG, m_showlogbtn);
DDX_Check(pDX, IDC_CHECK1, m_timebool1);
DDX_Check(pDX, IDC_CHECK2, m_timebool2);
DDX_Check(pDX, IDC_CHECK3, m_timebool3);
DDX_Check(pDX, IDC_CHECK4, m_timebool4);
DDX_Control(pDX, ID_GROUP1, m_grp1);
DDX_Control(pDX, ID_GROUP2, m_grp2);
DDX_Control(pDX, IDC_lable4, m_lable4);
DDX_Control(pDX, IDC_lable3, m_lable3);
DDX_Control(pDX, IDC_lable2, m_lable2);
DDX_Control(pDX, IDC_lable1, m_lable1);
DDX_Control(pDX, IDS_OBJ_COM, m_log_list);
DDX_Control(pDX, IDS_IP, m_ip_listctl);
DDX_Control(pDX, IDS_ALARM_TYPE, m_alarm_listctl);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_time1);
DDX_Control(pDX, IDC_MSFLEXGRID1, m_dbgrid);
DDX_Text(pDX, IDS_OBJ_COM, m_list);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -