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

📄 operationlogfile.cpp

📁 实时监控
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -