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

📄 netctldvrlogdlg.cpp

📁 TM8000硬盘录像机客户端编程文档和Demo源代码
💻 CPP
字号:
// NetCtlDvrLogDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Sample.h"
#include "NetCtlDvrLogDlg.h"
#include "NetRemoteCtrlDlg.h"


extern CNetRemoteCtrlDlg *pNetRemoteCtlDlg;

#define	  NET_OPERATION_LOG_MSG		1	//操作日志
#define   NET_ALARM_LOG_MSG			2	//报警日志
#define   NET_SYSTEM_LOG_MSG		3	//系统日志
#define   NET_NET_LOG_MSG			4	//网络日志

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern BOOL ENGLISH;
//extern CNetDlg *pNetDlg;
/////////////////////////////////////////////////////////////////////////////
// CNetCtlDvrLogDlg dialog
extern char logBuf[64*1024];

CNetCtlDvrLogDlg::CNetCtlDvrLogDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CNetCtlDvrLogDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CNetCtlDvrLogDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CNetCtlDvrLogDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CNetCtlDvrLogDlg)
	DDX_Control(pDX, IDC_LIST_LOGREPORT, m_LogList);
	DDX_Control(pDX, IDC_DATETIMEPICKER, m_LogDate);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CNetCtlDvrLogDlg, CDialog)
	//{{AFX_MSG_MAP(CNetCtlDvrLogDlg)
	ON_BN_CLICKED(IDC_BTN_GETSYSLOG, OnBtnGetsyslog)
	ON_BN_CLICKED(IDC_BTN_GETNETLOG, OnBtnGetnetlog)
	ON_BN_CLICKED(IDC_BTN_GETALARMLOG, OnBtnGetalarmlog)
	ON_BN_CLICKED(IDC_BTN_GETOPLOG, OnBtnGetoplog)
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNetCtlDvrLogDlg message handlers

BOOL CNetCtlDvrLogDlg::OnInitDialog() 
{
	char * l_QueryDate;
	char * l_QuerySystemLog;
	char * l_QueryNetLog;
	char * l_QueryAlarmLog;
	char * l_QueryOpLog;
	char * l_SaveLog;
	char * l_time;
	char * l_content;
	char * l_index;
	if(ENGLISH)
	{
		l_QueryDate = _T("Query Date:");
		l_QuerySystemLog = _T("Get System Log");
		l_QueryNetLog = _T("Get Network Log");
		l_QueryAlarmLog = _T("Get Alarm Log");
		l_QueryOpLog = _T("Get Operation Log");
		l_SaveLog = _T("Save Log");
		l_time = _T("Time");
		l_content = _T("Content");
		l_index = _T("Index");
	}
	else
	{
		l_QueryDate = _T("查询日期 :");
		l_QuerySystemLog = _T("查询系统日志");
		l_QueryNetLog = _T("查询网络日志");
		l_QueryAlarmLog = _T("查询报警日志");
		l_QueryOpLog = _T("查询操作日志");
		l_SaveLog = _T("保存日志");
		l_time = _T("时间");
		l_content = _T("内容");
		l_index = _T("序号");
	}
	
	GetDlgItem(IDC_BTN_GETSYSLOG)->SetWindowText(l_QuerySystemLog);
	GetDlgItem(IDC_BTN_GETNETLOG)->SetWindowText(l_QueryNetLog);
	GetDlgItem(IDC_BTN_GETALARMLOG)->SetWindowText(l_QueryAlarmLog);
	GetDlgItem(IDC_BTN_GETOPLOG)->SetWindowText(l_QueryOpLog);
	
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_LogList.InsertColumn(0,l_index,LVCFMT_LEFT ,50);
	m_LogList.InsertColumn(1,l_time,LVCFMT_LEFT ,150);
	m_LogList.InsertColumn(2,l_content ,LVCFMT_LEFT,300);
	m_LogList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_TRACKSELECT|LVS_EX_GRIDLINES);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CNetCtlDvrLogDlg::OnBtnGetsyslog() 
{
	// TODO: Add your control notification handler code here
	m_LogList.DeleteAllItems();
	SendQueryCommand(NET_SYSTEM_LOG_MSG);
}

void CNetCtlDvrLogDlg::OnBtnGetnetlog() 
{
	// TODO: Add your control notification handler code here
	m_LogList.DeleteAllItems();
	SendQueryCommand(NET_NET_LOG_MSG);
}

void CNetCtlDvrLogDlg::OnBtnGetalarmlog() 
{
	// TODO: Add your control notification handler code here
	m_LogList.DeleteAllItems();
	SendQueryCommand(NET_ALARM_LOG_MSG);
}

void CNetCtlDvrLogDlg::OnBtnGetoplog() 
{
	// TODO: Add your control notification handler code here
	m_LogList.DeleteAllItems();
	SendQueryCommand(NET_OPERATION_LOG_MSG);
}

void CNetCtlDvrLogDlg::SendQueryCommand(unsigned char nType)
{
	char * l_Err;

	if(ENGLISH)
	{
		l_Err = _T("The Year you Can selected is between 2000 - 2099");
	}
	else
		l_Err = _T("选择的年份只能在2000年至2099年之间");
	UpdateData();
	memset(logBuf,0,64*1024);
	m_LogList.DeleteAllItems();
	m_LogList.UpdateData(FALSE);
	CTime timeTime;
	DWORD dwerr = m_LogDate.GetTime(timeTime);
	if(timeTime.GetYear() > 2099 || timeTime.GetYear() < 2000)
	{
		AfxMessageBox(l_Err);
	}
	if (dwerr == GDT_VALID)
	{
		pNetRemoteCtlDlg->GetDvrLog(nType,timeTime);
		GetDlgItem(IDC_BTN_GETSYSLOG)->EnableWindow(FALSE);
		GetDlgItem(IDC_BTN_GETNETLOG)->EnableWindow(FALSE);
		GetDlgItem(IDC_BTN_GETALARMLOG)->EnableWindow(FALSE);
		GetDlgItem(IDC_BTN_GETOPLOG)->EnableWindow(FALSE);
		SetTimer(1,10000,NULL);
	}
	else
	{
		// The user cleared the "none" box.
		AfxMessageBox(_T("Time not set!"));
	}
}

void CNetCtlDvrLogDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	switch(nIDEvent) 
	{
	case 1:
		KillTimer(1);
		GetDlgItem(IDC_BTN_GETSYSLOG)->EnableWindow(TRUE);
		GetDlgItem(IDC_BTN_GETNETLOG)->EnableWindow(TRUE);
		GetDlgItem(IDC_BTN_GETALARMLOG)->EnableWindow(TRUE);
		GetDlgItem(IDC_BTN_GETOPLOG)->EnableWindow(TRUE);
		break;
	default:
		break;
	}
	CDialog::OnTimer(nIDEvent);
}

BOOL CNetCtlDvrLogDlg::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
	DWORD t1=0;
	DWORD t2=0;

    t1=pMsg->message;
	t2=(DWORD)pMsg->wParam;
	if(t1==WM_KEYDOWN&&(t2==VK_RETURN||t2==VK_ESCAPE))
       return true;
	
	return CDialog::PreTranslateMessage(pMsg);
}

⌨️ 快捷键说明

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