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

📄 operationlogfile.cpp

📁 实时监控
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	DDX_Text(pDX, IDS_IP, m_ip_list);
	DDX_Text(pDX, IDS_ALARM_TYPE, m_alarm_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAlarmLogFile, CPropertyPage)
	//{{AFX_MSG_MAP(CAlarmLogFile)
		// NOTE: the ClassWizard will add message map macros here
	
	ON_CBN_SETFOCUS(IDS_OBJ_COM, OnSetfocuslog)
	ON_CBN_SELCHANGE(IDS_OBJ_COM, OnSelchangelog)

	ON_CBN_SETFOCUS(IDS_ALARM_TYPE, OnSetfocusalarm)
	ON_CBN_SELCHANGE(IDS_ALARM_TYPE, OnSelchangealarm)

	ON_CBN_SETFOCUS(IDS_IP, OnSetfocusip)
	ON_CBN_SELCHANGE(IDS_IP, OnSelchangeip)

	ON_BN_CLICKED(IDC_SHOWLOG, Onshowlog)
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BOOL CAlarmLogFile::OnInitDialog()
{
	CPropertyPage::OnInitDialog();

    
  
	UpdateData(true);
	init_label(m_lable1);
	init_label(m_lable2);
	init_label(m_lable3);
	init_label(m_lable4);

	CString m_str;
	m_str.Format(LOG_FILE_ALARM_PATH);
	m_alarm_file_p = fopen(m_str,"rb");
	if(!m_alarm_file_p)
	{
		AfxMessageBox(IDS_OPEN_FILE);
		return FALSE;
	}

	return TRUE;
}

void CAlarmLogFile::Onshowlog()
{
    UpdateData(true);
	if(!m_timebool1&&!m_timebool2&&!m_timebool3&&!m_timebool4) 
	{
		info_balloon(IDS_REMIND);
		return;
	}
	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_DVR_NAME);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(2);
	m_dbgrid.SetColAlignment(2, 4);
	m_temstr.Format(IDS_DVR_IP);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(3);
	m_dbgrid.SetColAlignment(3, 4);
	m_temstr.Format(IDS_DVR_PORT);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(4);
	m_dbgrid.SetColAlignment(4, 4);
	m_temstr.Format(IDS_DATE);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(5);
	m_dbgrid.SetColAlignment(5, 4);
	m_temstr.Format(IDS_TIME);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(6);
	m_dbgrid.SetColAlignment(6, 4);
	m_temstr.Format(IDS_AlARM_TYPE_FE);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(7);
	m_dbgrid.SetColAlignment(7, 4);
	m_temstr.Format(IDS_AlARM_CHANNEL);
	m_dbgrid.SetText(m_temstr);

	m_dbgrid.SetCol(8);
	m_dbgrid.SetColAlignment(8, 4);
	m_temstr.Format(IDS_AlARM_DESCRIPTION);
	m_dbgrid.SetText(m_temstr);

	long m_row=0;
	rewind(m_alarm_file_p);
	while(1)
	{
		log_alarmfile m_log_alarm;
		int circle = check_query_alarm(m_log_alarm);
	    if(circle == -1) break;
		else if(!circle) continue;
		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);
        m_dbgrid.SetText(m_log_alarm.dvrname);
	    m_dbgrid.SetCol(2);
        m_dbgrid.SetText(m_log_alarm.ip);
	    m_dbgrid.SetCol(3);
        m_dbgrid.SetText(itoa(m_log_alarm.port,m_dc,10));
	    m_dbgrid.SetCol(4);
	    CString m_timestr;
	    m_timestr.Format("%d-%02d-%02d",m_log_alarm.year,m_log_alarm.month,m_log_alarm.day);
        m_dbgrid.SetText(m_timestr);
        m_dbgrid.SetCol(5);
        m_dbgrid.SetText(m_log_alarm.time);
	    m_dbgrid.SetCol(6);
	    CString m_str1,m_str2;
	 
	   if(m_log_alarm.type == 0)  
	   {
		  m_str1.Format(IDS_Sensor_Alarm);
	   }
	   if(m_log_alarm.type == 1) 
	   {
		  m_str1.Format(IDS_Motion_Alarm);
	   }
	   if(m_log_alarm.type == 2)  
	   {
		  m_str1.Format(IDS_Vlost_Alarm);
	   }
	   if(m_log_alarm.type == 3)  
	   {
		  m_str1.Format(IDS_NET_Alarm);
	   }
	   
       m_dbgrid.SetText(m_str1);
	   m_dbgrid.SetCol(7);
	   m_str2 = checkchannel(m_log_alarm.alarmchannel);
       m_dbgrid.SetText(m_str2);

	   m_dbgrid.SetCol(8);
       m_dbgrid.SetText(m_log_alarm.description);
	}
}
int CAlarmLogFile::check_query_alarm(log_alarmfile &m_log_alarm)
{
	UpdateData(true);
	int m_year,m_month,m_day;
	m_year=m_time1.GetYear();
	m_month=m_time1.GetMonth();
	m_day=m_time1.GetDay();
    int index=m_alarm_listctl.GetCurSel();

	if(fread(&m_log_alarm, sizeof(log_alarmfile), 1, m_alarm_file_p)!=1) 
			 return -1;
	if(m_timebool1) if(strcmp(m_log_alarm.use,m_list)) return 0;

	if(m_timebool2)
	     if(m_log_alarm.day != m_day || m_log_alarm.month != m_month || m_log_alarm.year != m_year) 
			 return 0;

	if(m_timebool3)
	      if(strcmp(m_log_alarm.ip,m_ip_list))  return 0;
		 
	if(m_timebool4)
	{
	   if(m_log_alarm.type != index) return 0;
	}
	return 1;
}

CString CAlarmLogFile::checkchannel(int m_nub)
{
	CString m_str;
	for(int i=0;i<16;i++)
	{
      ULONG m_temaction=m_nub>>i;
      m_temaction=m_temaction&1;
	  if(m_temaction) 
	  {
		  CString m_temstr;
          m_temstr.Format("%d.",i+1);
          m_str=m_str+m_temstr;
	  }
	}
	return m_str;
}

void CAlarmLogFile::OnSelchangeip()
{
    int index=m_ip_listctl.GetCurSel();
	if (index!=CB_ERR)
	{
		m_ip_listctl.GetLBText(index,m_ip_list);
	}

}

void CAlarmLogFile::OnSetfocusip()
{
	UpdateData(true);
   	m_ip_listctl.ResetContent();
	rewind(m_alarm_file_p);
	while(1)
	{
		log_alarmfile m_log_alarm;
        if(fread(&m_log_alarm, sizeof(log_alarmfile), 1, m_alarm_file_p)!=1) 
			 break;

	    if(!strcmp(m_list, m_log_alarm.use))
		{
		   int index = m_ip_listctl.FindString(-1, m_log_alarm.ip);
		   if( index == CB_ERR)
			    m_ip_listctl.AddString(m_log_alarm.ip); 
		}	
	}
}


void CAlarmLogFile::OnSelchangealarm()
{
  

}

void CAlarmLogFile::OnSetfocusalarm()
{
	CString m_str;
	m_alarm_listctl.ResetContent();
	m_str.Format(IDS_Sensor_Alarm);
	m_alarm_listctl.InsertString(0,m_str);
	m_str.Format(IDS_Motion_Alarm);
	m_alarm_listctl.InsertString(1,m_str);
	m_str.Format(IDS_Vlost_Alarm);
	m_alarm_listctl.InsertString(2,m_str);
	m_str.Format(IDS_NET_Alarm);
	m_alarm_listctl.InsertString(3,m_str);
	
}

void CAlarmLogFile::OnSelchangelog()
{
	int index=m_log_list.GetCurSel();
	if (index!=CB_ERR)
	{
		m_log_list.GetLBText(index,m_list);
	}
	UpdateData(false);
}

void CAlarmLogFile::OnSetfocuslog()
{
	CString m_temstr;
	m_log_list.ResetContent();
    m_temstr.Format(IDS_AdDMINISTRATOR);

	if(!strcmp(m_login_client_name,m_temstr))
	{
	   	rewind(m_alarm_file_p);
		while(1)
		{
		   log_alarmfile m_log_alarm;
           if(fread(&m_log_alarm, sizeof(log_alarmfile), 1, m_alarm_file_p)!=1) 
			    break;
		   int index = m_log_list.FindString(-1, m_log_alarm.use);
		   if( index == CB_ERR)
			    m_log_list.AddString(m_log_alarm.use); 
		}
	}
	else
	{
       m_log_list.AddString(m_login_client_name);
	}

}

HBRUSH CAlarmLogFile::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;
}

void CAlarmLogFile::OnProperties()
{
	// TODO: The property sheet attached to your project
	// via this function is not hooked up to any message
	// handler.  In order to actually use the property sheet,
	// you will need to associate this function with a control
	// in your project such as a menu item or tool bar button.

	CMyPropertySheet3 propSheet;

	propSheet.DoModal();

	// This is where you would retrieve information from the property
	// sheet if propSheet.DoModal() returned IDOK.  We aren't doing
	// anything for simplicity.
}

⌨️ 快捷键说明

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