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

📄 netctlpalarmdlg.cpp

📁 TM8000硬盘录像机客户端编程文档和Demo源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		nProbeOutput |= 1 ;
	if (m_ProbeInput2)
		nProbeOutput |= (1<<1) ;
	if (m_ProbeInput3)
		nProbeOutput |= (1<<2) ;
	if (m_ProbeInput4)
		nProbeOutput |= (1<<3) ;
/*	if (m_ProbeInput5)
		nProbeOutput |= (1<<4) ;
	if (m_ProbeInput6)
		nProbeOutput |= (1<<5) ;
	if (m_ProbeInput7)
		nProbeOutput |= (1<<6) ;
	if (m_ProbeInput8)
		nProbeOutput |= (1<<7) ;

  */	
	if(m_ProbeRec)
	{
		if(nWeek==7)
		{
			nSelDay=1<<7;
		}
		else
		{
			nSelDay &= 0x7f;  //去除每天标志
			nSelDay |= 1<<nWeek;
		}
	}
	else
	{
		if(nWeek==7)
		{
			nSelDay &= 0x7f;
		}
		else
		{
			nSelDay &= (~(1<<nWeek));
		}
	}

	if(nWeek==7)
		nWeek=0;
	else
		nWeek++;

	if ((pNetRemoteCtlDlg->m_nDVRType <= 0) ||
		(pNetRemoteCtlDlg->m_nDVRType == 3) ||
		(pNetRemoteCtlDlg->m_nDVRType == 7))
	{// 83系列主机最多8个探头
		pNetRemoteCtlDlg->SetNetRemotePAlarmRecSet(nInput, nWeek, m_BgnTime1, m_EndTime1, m_BgnTime2, m_EndTime2, m_ProbeTime, nProbeOutput, nRecPort,(unsigned char)m_ContactRec,nSelDay,nProbePreset,8);
	}
	else
	{// 88系列主机最多16个探头
		pNetRemoteCtlDlg->SetNetRemotePAlarmRecSet(nInput, nWeek, m_BgnTime1, m_EndTime1, m_BgnTime2, m_EndTime2, m_ProbeTime, nProbeOutput, nRecPort,(unsigned char)m_ContactRec,nSelDay,nProbePreset,16);
	}
//-------------------------
	if(Con_pDVRPara!=NULL)
	{
		int j,k;
		int nFirstInput,nLastInput;
		if(nWeek!=0)
		{						
			nFirstInput = nInput==0?0:(nInput-1);
			nLastInput = nInput==0?16:nInput;
			//for(j=0;j<()16;j++)
			for(j=nFirstInput;j<nLastInput;j++)					
			{
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable1[nWeek-1].nBgnHour=m_BgnTime1.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable1[nWeek-1].nBgnMinute=m_BgnTime1.GetMinute();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable1[nWeek-1].nEndHour=m_EndTime1.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable1[nWeek-1].nEndMinute=m_EndTime1.GetMinute();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable2[nWeek-1].nBgnHour=m_BgnTime2.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable2[nWeek-1].nBgnMinute=m_BgnTime2.GetMinute();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable2[nWeek-1].nEndHour=m_EndTime2.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecTable2[nWeek-1].nEndMinute=m_EndTime2.GetMinute();
				for(k=0;k<m_LstRecPort.GetItemCount();k++)
					Con_pDVRPara->contactPara[j].nPreSetPort[k]=nProbePreset[k];
				Con_pDVRPara->contactPara[j].nContactAlarmPort=nRecPort;
				Con_pDVRPara->contactPara[j].nContactAlarmOut=nProbeOutput;
				Con_pDVRPara->contactPara[j].nContactAlarmTime=m_ProbeTime;
				Con_pDVRPara->contactPara[j].nContactAlarmStatus=m_ContactRec;
				Con_pDVRPara->contactPara[j].ContactAlarmRecDefendDayTag=nSelDay;
			}			
		}
		else
		{			
			nFirstInput = nInput==0?0:(nInput-1);
			nLastInput = nInput==0?16:nInput;
			//for(j=0;j<()16;j++)
			for(j=nFirstInput;j<nLastInput;j++)					
			{
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday1.nBgnHour=m_BgnTime1.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday1.nBgnMinute=m_BgnTime1.GetMinute();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday1.nEndHour=m_EndTime1.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday1.nEndMinute=m_EndTime1.GetMinute();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday2.nBgnHour=m_BgnTime2.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday2.nBgnMinute=m_BgnTime2.GetMinute();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday2.nEndHour=m_EndTime2.GetHour();
				Con_pDVRPara->contactPara[j].tContactAlarmRecEveryday2.nEndMinute=m_EndTime2.GetMinute();
				for(k=0;k<m_LstRecPort.GetItemCount();k++)
					Con_pDVRPara->contactPara[j].nPreSetPort[k]=nProbePreset[k];
				Con_pDVRPara->contactPara[j].nContactAlarmPort=nRecPort;
				Con_pDVRPara->contactPara[j].nContactAlarmOut=nProbeOutput;
				Con_pDVRPara->contactPara[j].nContactAlarmTime=m_ProbeTime;
				Con_pDVRPara->contactPara[j].nContactAlarmStatus=m_ContactRec;
				Con_pDVRPara->contactPara[j].ContactAlarmRecDefendDayTag=nSelDay;
			}  			
		}
		
	}//if(Con_pDVRPara!=NULL)
	
}


void CNetCtlPAlarmDlg::OnDeltaposRprobealarmTimeSpin(NMHDR* pNMHDR, LRESULT* pResult) 
{
	if(Con_pDVRPara==NULL)
		return;
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
	
	UpdateData(TRUE) ;
	if (pNMUpDown->iDelta > 0)
	{
		if (m_ProbeTime > 1)
			m_ProbeTime-- ;
	}
	else
	{
		if (m_ProbeTime < 255)
			m_ProbeTime++ ;				
	}
	UpdateData(FALSE) ;
	
	*pResult = 0;
}

void CNetCtlPAlarmDlg::OnSelchangeWeekTab(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	if (pNetRemoteCtlDlg->m_nDVRType <= 0) 
	{
		BYTE weekno;
		BYTE hour,minute;
		UpdateData(TRUE) ;
		weekno = m_weekTab.GetCurSel() ;
		if(weekno<0)
			weekno=0;
		if(weekno==7)
		{
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnMinute;
			CTime time(2002,10,16,hour,minute,0,0);
			m_BgnTime1=time;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndMinute;
			CTime time1(2002,10,16,hour,minute,0,0);
			m_EndTime1=time1;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnMinute;
			CTime time2(2002,10,16,hour,minute,0,0);
			m_BgnTime2=time2;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndMinute;
			CTime time3(2002,10,16,hour,minute,0,0);
			m_EndTime2=time3;
		}
		else
		{
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nBgnMinute;
			CTime time(2002,10,16,hour,minute,0,0);
			m_BgnTime1=time;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nEndHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nEndMinute;
			CTime time1(2002,10,16,hour,minute,0,0);
			m_EndTime1=time1;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nBgnMinute;
			CTime time2(2002,10,16,hour,minute,0,0);
			m_BgnTime2=time2;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nEndHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable2[weekno].nEndMinute;
			CTime time3(2002,10,16,hour,minute,0,0);
			m_EndTime2=time3;
		}
		if(nSelDay&(1<<weekno))
			m_ProbeRec=TRUE;
		else
			m_ProbeRec=FALSE;
		UpdateData(FALSE) ;
	}
	else
	{
		BYTE weekno;
		BYTE hour,minute;
		UpdateData(TRUE) ;
		weekno = m_weekTab.GetCurSel() ;
		if(weekno<0)
			weekno=0;

		pNetRemoteCtlDlg->GetDvrParam(m_ProbeInput+1,weekno+1,PARA_TYPE_ALARM_PROBE,&m_ProbeAlarmParam,sizeof(Contact_Alarm_Parameter));
		
		//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnHour;
		//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnMinute;
		hour = m_ProbeAlarmParam.DefendStartHour1;
		minute = m_ProbeAlarmParam.DefendStartMinute1;
		CTime time(2002,10,16,hour,minute,0,0);
		m_BgnTime1=time;
		
		//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndHour;
		//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndMinute;
		hour = m_ProbeAlarmParam.DefendEndHour1;
		minute = m_ProbeAlarmParam.DefendEndMinute1;
		CTime time1(2002,10,16,hour,minute,0,0);
		m_EndTime1=time1;
		
		//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnHour;
		//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnMinute;
		hour = m_ProbeAlarmParam.DefendStartHour2;
		minute = m_ProbeAlarmParam.DefendStartMinute2;
		CTime time2(2002,10,16,hour,minute,0,0);
		m_BgnTime2=time2;
		
		//hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndHour;
		//minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndMinute;
		hour = m_ProbeAlarmParam.DefendEndHour2;
		minute = m_ProbeAlarmParam.DefendEndMinute2;
		CTime time3(2002,10,16,hour,minute,0,0);
		m_EndTime2=time3;

		if(nSelDay&(1<<weekno))
			m_ProbeRec=TRUE;
		else
			m_ProbeRec=FALSE;
		UpdateData(FALSE) ;
	}

	*pResult = 0;
}

void CNetCtlPAlarmDlg::OnSelchangeRprobealarmInput() 
{
	// TODO: Add your control notification handler code here
	char * l_None;
	
	l_None=_T("无");
	
	int		i;
	CString str;
	UpdateData(TRUE);
	if (pNetRemoteCtlDlg->m_nDVRType <= 0) 
	{		
		unsigned short Trigger;
		Trigger=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmPort;
		for(i=0;i<m_LstRecPort.GetItemCount();i++)
		{
			if(Trigger&(1<<i))
				ListView_SetCheckState(m_LstRecPort.m_hWnd,i,TRUE)
			else
				ListView_SetCheckState(m_LstRecPort.m_hWnd,i,FALSE)
		}
		Trigger=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmOut;
		if(Trigger&1)
			m_ProbeInput1=TRUE;
		else
			m_ProbeInput1=FALSE;
		if(Trigger&2)
			m_ProbeInput2=TRUE;
		else
			m_ProbeInput2=FALSE;
		if(Trigger&4)
			m_ProbeInput3=TRUE;
		else
			m_ProbeInput3=FALSE;
		if(Trigger&8)
			m_ProbeInput4=TRUE;
		else
			m_ProbeInput4=FALSE;
//		if(Trigger&16)
//			m_ProbeInput5=TRUE;
//		else
//			m_ProbeInput5=FALSE;
//		if(Trigger&32)
//			m_ProbeInput6=TRUE;
//		else
//			m_ProbeInput6=FALSE;
//		if(Trigger&64)
//			m_ProbeInput7=TRUE;
//		else
//			m_ProbeInput7=FALSE;
//		if(Trigger&128)
//			m_ProbeInput8=TRUE;
//		else
//			m_ProbeInput8=FALSE;
		
		m_ContactRec=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmStatus;
		
		m_ProbeTime=Con_pDVRPara->contactPara[m_ProbeInput].nContactAlarmTime;
		//预置
		for(i=0;i<m_LstRecPort.GetItemCount();i++)
		{
			if(Con_pDVRPara->contactPara[m_ProbeInput].nPreSetPort[i]==0xFF)
				m_LstRecPort.SetItemText(i,1,l_None);
			else
			{
				str.Format("%d",Con_pDVRPara->contactPara[m_ProbeInput].nPreSetPort[i]);
				m_LstRecPort.SetItemText(i,1,str);
			}
		}		

		BYTE weekno;
		BYTE hour,minute;
		weekno = m_weekTab.GetCurSel() ;
		if(weekno<0)
			weekno=0;
		nSelDay=Con_pDVRPara->contactPara[m_ProbeInput].ContactAlarmRecDefendDayTag;
		if(nSelDay&(1<<7))
			nSelDay=1<<7;
		if(weekno==7)
		{
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nBgnMinute;
			CTime time(2002,10,16,hour,minute,0,0);
			m_BgnTime1=time;
			
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday1.nEndMinute;
			CTime time1(2002,10,16,hour,minute,0,0);
			m_EndTime1=time1;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nBgnMinute;
			CTime time2(2002,10,16,hour,minute,0,0);
			m_BgnTime2=time2;
			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecEveryday2.nEndMinute;
			CTime time3(2002,10,16,hour,minute,0,0);
			m_EndTime2=time3;
		}
		else
		{			
			hour=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nBgnHour;
			minute=Con_pDVRPara->contactPara[m_ProbeInput].tContactAlarmRecTable1[weekno].nBgnMinute;
			CTime time(2002,10,16,hour,minute,0,0);
			m_BgnTime1=time;
			
			

⌨️ 快捷键说明

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