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

📄 setsurveillance.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
📖 第 1 页 / 共 2 页
字号:
					allipinfo[i][k].m_csMultiIP = allipinfo[j][k].m_csMultiIP;
					allipinfo[i][k].m_csChanName = allipinfo[j][k].m_csChanName;
					allipinfo[i][k].m_csPassword = allipinfo[j][k].m_csPassword;
					allipinfo[i][k].m_csUser = allipinfo[j][k].m_csUser;
					allipinfo[i][k].m_dwAddress = allipinfo[j][k].m_dwAddress;
					allipinfo[i][k].m_dwAlarmlevel = allipinfo[j][k].m_dwAlarmlevel;
					allipinfo[i][k].m_dwIPvalue = allipinfo[j][k].m_dwIPvalue;
					allipinfo[i][k].m_dwMultiIPvalue = allipinfo[j][k].m_dwMultiIPvalue;
					allipinfo[i][k].m_dwProtocol = allipinfo[j][k].m_dwProtocol;
					allipinfo[i][k].m_iChannel = allipinfo[j][k].m_iChannel;
					allipinfo[i][k].m_wJMQtype = allipinfo[j][k].m_wJMQtype;
					allipinfo[i][k].m_wServerport = allipinfo[j][k].m_wServerport;
					allipinfo[i][k].m_lServerID = allipinfo[j][k].m_lServerID;
				}
			}
		}
		serverinfo[i].m_csServerAdminName.Format(_T(""));
		serverinfo[i].m_iServerChannelNumber = -1;
		serverinfo[i].m_wServerPort = 8000;
		serverinfo[i].m_csServerName.Format(_T(""));
		for(k = 0; k < MAXCHANNUM; k++)
		{
			allipinfo[i][k].m_bChoosed = FALSE;
			allipinfo[i][k].m_iChannel = -1;
			allipinfo[i][k].m_iServerNum = -1;			
			allipinfo[i][k].m_iChannelNum = -1;
		}
		F_IniTreeall();
	
		node1 = m_treesel.GetRootItem();
		iSurveillanceNumber = 0;
		while(node1 != NULL)
		{
			iNum = m_treesel.GetItemData(node1);
			j = iNum % 100;
			i = (iNum - j) / 100;
			selipinfo[iSurveillanceNumber].m_bChoosed = allipinfo[i][j].m_bChoosed;
			selipinfo[iSurveillanceNumber].m_csChanName = allipinfo[i][j].m_csChanName;
			selipinfo[iSurveillanceNumber].m_csIP = allipinfo[i][j].m_csIP;
			selipinfo[iSurveillanceNumber].m_csMultiIP = allipinfo[i][j].m_csMultiIP;
			selipinfo[iSurveillanceNumber].m_csPassword = allipinfo[i][j].m_csPassword;
			selipinfo[iSurveillanceNumber].m_csUser = allipinfo[i][j].m_csUser;
			selipinfo[iSurveillanceNumber].m_dwAddress = allipinfo[i][j].m_dwAddress;
			selipinfo[iSurveillanceNumber].m_dwAlarmlevel = allipinfo[i][j].m_dwAlarmlevel;
			selipinfo[iSurveillanceNumber].m_dwIPvalue = allipinfo[i][j].m_dwIPvalue;
			selipinfo[iSurveillanceNumber].m_dwMultiIPvalue = allipinfo[i][j].m_dwMultiIPvalue;
			selipinfo[iSurveillanceNumber].m_dwProtocol = allipinfo[i][j].m_dwProtocol;
			selipinfo[iSurveillanceNumber].m_iChannel = allipinfo[i][j].m_iChannel;
			selipinfo[iSurveillanceNumber].m_iSequence = allipinfo[i][j].m_iSequence;
			selipinfo[iSurveillanceNumber].m_lServerID = allipinfo[i][j].m_lServerID;
			selipinfo[iSurveillanceNumber].m_wJMQtype = allipinfo[i][j].m_wJMQtype;
			selipinfo[iSurveillanceNumber].m_wServerport = allipinfo[i][j].m_wServerport;		
			selipinfo[iSurveillanceNumber].m_iServerNum = i;
			selipinfo[iSurveillanceNumber].m_iChannelNum = j;
			allipinfo[i][j].m_iSequence = iSurveillanceNumber;
			iSurveillanceNumber++;
			if (iSurveillanceNumber >= MAXNUMBER)
			{
				AfxMessageBox("Reached MAXNUMBER!");
				return;
			}
			node1 = m_treesel.GetNextSiblingItem(node1);
		}
	}
}

void CSetSurveillance::OnServercfg() 
{
	// TODO: Add your control notification handler code here
	HTREEITEM hSel, hParent;
	int i;
	CRemoteParamsCfg	RemoteParamsCfgDlg;

	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		RemoteParamsCfgDlg.m_ip = serverinfo[i].m_csServerIP;
		RemoteParamsCfgDlg.m_Username = serverinfo[i].m_csServerAdminName;
		RemoteParamsCfgDlg.m_Password = serverinfo[i].m_csServerAdminPasswd;
		RemoteParamsCfgDlg.m_iServerport = serverinfo[i].m_wServerPort;
		RemoteParamsCfgDlg.m_lServerID = serverinfo[i].m_lServerID;
		RemoteParamsCfgDlg.m_iChannelnumber = serverinfo[i].m_iServerChannelNumber;
		RemoteParamsCfgDlg.m_iServertype = serverinfo[i].m_wServerType;
		RemoteParamsCfgDlg.m_lStartChannel = serverinfo[i].m_lStartChannel;
		RemoteParamsCfgDlg.m_dwAlarmInNum = serverinfo[i].m_dwAlarmInNum;
		RemoteParamsCfgDlg.m_dwAlarmOutNum = serverinfo[i].m_dwAlarmOutNum;
		RemoteParamsCfgDlg.m_dwDiskNum = serverinfo[i].m_dwDiskNum;
		if(strcmp(serverinfo[i].m_csServerAdminName, "admin")==0)
		{
			RemoteParamsCfgDlg.m_bSuperUser = TRUE;
		}
		else
		{
			RemoteParamsCfgDlg.m_bSuperUser = FALSE;
		}
		RemoteParamsCfgDlg.m_iServer = i;
		RemoteParamsCfgDlg.DoModal();
	}

}

void CSetSurveillance::OnDblclkTree2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	HTREEITEM node1;
	CString sTemp;
	int i,j,iNum;
	
	node1=m_treesel.GetSelectedItem();
	if (node1==NULL)
	{
		return;
	}
	iNum=m_treesel.GetItemData(node1);
	CChannelInfo ChannelInfoDlg;
	j=iNum % 100;
	i=(iNum-j)/100;
	ChannelInfoDlg.m_iServerNum=i;
	ChannelInfoDlg.m_iChannelNum=j;
	ChannelInfoDlg.DoModal();
	sTemp.Format("%s(%s)",serverinfo[i].m_csServerName,allipinfo[i][j].m_csChanName);
	m_treesel.SetItemText(node1,sTemp);	
	*pResult = 0;
}

void CSetSurveillance::OnDblclkTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	HTREEITEM node1,node2;
	int i,j;
	CString sTemp;
	
	node1=m_treeall.GetSelectedItem();
	if(node1==NULL)
	{
		return;
	}
	node2=m_treeall.GetParentItem(node1);
	if(node2==NULL)
	{
		i=m_treeall.GetItemData(node1);
		CServerInfo ServerInfoDlg;
		ServerInfoDlg.m_iServerNum=i;
		ServerInfoDlg.DoModal();
	}
	else
	{
		i=m_treeall.GetItemData(node2);
		j=m_treeall.GetItemData(node1);
		CChannelInfo ChannelInfoDlg;
		ChannelInfoDlg.m_iServerNum = i;
		ChannelInfoDlg.m_iChannelNum = j;
		ChannelInfoDlg.DoModal();
		m_treeall.SetItemText(node1,allipinfo[i][j].m_csChanName);
	}
	*pResult = 0;
}

void CSetSurveillance::F_IniTreeall()
{
	HTREEITEM node1,node2;
	int i,j,k,iNum;
	CString sTemp;
	int iChannelIndex[MAXNUMBER];

	for(i = 0; i < MAXNUMBER; i++)
		iChannelIndex[i] = -1;
	m_treeall.DeleteAllItems();
	m_treesel.DeleteAllItems();

	for(i = 0; i < MAXIPNUMBER; i++)
	{
		if(serverinfo[i].m_iServerChannelNumber >= 0)
		{
			sTemp.Format("%s", serverinfo[i].m_csServerName);
			node1=m_treeall.InsertItem(sTemp,0,0,TVI_ROOT);
			m_treeall.SetItemData(node1,i);
			for(j = 0; j < MAXCHANNUM; j++)
			{
				if(allipinfo[i][j].m_iChannel >= 0)
				{
					if(!allipinfo[i][j].m_bChoosed)
					{
						sTemp.Format("%s", allipinfo[i][j].m_csChanName);
						node2=m_treeall.InsertItem(sTemp,1,1,node1);
						m_treeall.SetItemData(node2,j);
					}
					else
					{
						iChannelIndex[allipinfo[i][j].m_iSequence] = i*100 + j;
					}
				}
			}
		}
	}

	for(k = 0; k < MAXNUMBER; k++)
	{
		if(iChannelIndex[k] >= 0)
		{			
			j = iChannelIndex[k] % 100;
			i = (iChannelIndex[k] - j) / 100;
			iNum = i * 100 + j;
			sTemp.Format("%s(%s)",serverinfo[i].m_csServerName, allipinfo[i][j].m_csChanName);
			node2 = m_treesel.InsertItem(sTemp,1,1,TVI_ROOT);
			m_treesel.SetItemData(node2, iNum);
		}
	}
}

void CSetSurveillance::F_Save()
{
	HTREEITEM node1;
	int i, j, iNum;
	
	node1 = m_treesel.GetRootItem();
	iSurveillanceNumber = 0;
	while(node1 != NULL)
	{
		iNum = m_treesel.GetItemData(node1);
		j = iNum % 100;
		i = (iNum - j) / 100;
		selipinfo[iSurveillanceNumber].m_bChoosed = allipinfo[i][j].m_bChoosed;
		selipinfo[iSurveillanceNumber].m_csChanName = allipinfo[i][j].m_csChanName;
		selipinfo[iSurveillanceNumber].m_csIP = allipinfo[i][j].m_csIP;
		selipinfo[iSurveillanceNumber].m_csMultiIP = allipinfo[i][j].m_csMultiIP;
		selipinfo[iSurveillanceNumber].m_csPassword = allipinfo[i][j].m_csPassword;
		selipinfo[iSurveillanceNumber].m_csUser = allipinfo[i][j].m_csUser;
		selipinfo[iSurveillanceNumber].m_dwAddress = allipinfo[i][j].m_dwAddress;
		selipinfo[iSurveillanceNumber].m_dwAlarmlevel = allipinfo[i][j].m_dwAlarmlevel;
		selipinfo[iSurveillanceNumber].m_dwIPvalue = allipinfo[i][j].m_dwIPvalue;
		selipinfo[iSurveillanceNumber].m_dwMultiIPvalue = allipinfo[i][j].m_dwMultiIPvalue;
		selipinfo[iSurveillanceNumber].m_dwProtocol = allipinfo[i][j].m_dwProtocol;
		selipinfo[iSurveillanceNumber].m_iChannel = allipinfo[i][j].m_iChannel;
		selipinfo[iSurveillanceNumber].m_iSequence = allipinfo[i][j].m_iSequence;
		selipinfo[iSurveillanceNumber].m_lServerID = allipinfo[i][j].m_lServerID;
		selipinfo[iSurveillanceNumber].m_wJMQtype = allipinfo[i][j].m_wJMQtype;
		selipinfo[iSurveillanceNumber].m_wServerport = allipinfo[i][j].m_wServerport;		
		selipinfo[iSurveillanceNumber].m_iServerNum = i;
		selipinfo[iSurveillanceNumber].m_iChannelNum = j;
		allipinfo[i][j].m_iSequence = iSurveillanceNumber;
		iSurveillanceNumber++;
		if (iSurveillanceNumber >= MAXNUMBER)
		{
			AfxMessageBox("Reached MAXNUMBER!");
			return;
		}
		node1 = m_treesel.GetNextSiblingItem(node1);
	}
	
	WriteSurveillanceConfig();
}

void CSetSurveillance::OnServerstate() 
{
	// TODO: Add your control notification handler code here
	CWorkState dlg;
	HTREEITEM hSel, hParent;
	int i;
	
	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		dlg.m_csServerName = serverinfo[i].m_csServerName;
		dlg.m_lServerID = serverinfo[i].m_lServerID;
		dlg.m_dwDiskNum = serverinfo[i].m_dwDiskNum;
		dlg.m_iChannelnumber = serverinfo[i].m_iServerChannelNumber;
		dlg.DoModal();
	}
}

void CSetSurveillance::OnSetremoteok() 
{
	// TODO: Add your control notification handler code here
	F_Save();
	m_bSaveflag = TRUE;  
}

void CSetSurveillance::OnCancel() 
{
	// TODO: Add extra cleanup here
	
//	CDialog::OnCancel();
}

void CSetSurveillance::OnKeyclick() 
{
	// TODO: Add your control notification handler code here
	HTREEITEM hSel, hParent;
	int i;
	CRemoteKey Dlg;

	UpdateData(TRUE);
	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		Dlg.m_lServerID = serverinfo[i].m_lServerID;
		Dlg.DoModal();
	}
}

void CSetSurveillance::OnRemotelog() 
{
	// TODO: Add your control notification handler code here
	CRemoteLog Dlg;

	Dlg.DoModal();
}

void CSetSurveillance::OnDeleteitemTree1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void CSetSurveillance::OnDeleteitemTree2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
}

void CSetSurveillance::OnRemoteupgrade() 
{
	// TODO: Add your control notification handler code here
	CRemoteUpgrade	UpgradeDlg;
	HTREEITEM hSel, hParent;
	int i;
	
	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		AfxMessageBox("please select DVR!");
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		UpgradeDlg.m_lServerID = serverinfo[i].m_lServerID;
		UpgradeDlg.DoModal();
	}
}

void CSetSurveillance::OnReboot() 
{
	// TODO: Add your control notification handler code here
	HTREEITEM hSel, hParent;
	int i;
	
	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		AfxMessageBox("please select DVR!");
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		if(NET_DVR_RebootDVR(serverinfo[i].m_lServerID))
		{
			AfxMessageBox("The DVRDVS is rebooting!");
		}
		else
		{
			AfxMessageBox("Reboot DVRDVS failed!");	
		}
	}
}

void CSetSurveillance::OnChecktime() 
{
	// TODO: Add your control notification handler code here
	HTREEITEM hSel, hParent;
	int i;
	
	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		AfxMessageBox("please select DVR!");
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		//verify time zone and check time
		_tzset();
		CTime time1 = CTime::GetCurrentTime();
		NET_DVR_TIME CurTime;
		CurTime.dwYear = time1.GetYear();
		CurTime.dwMonth = time1.GetMonth();
		CurTime.dwDay = time1.GetDay();
		CurTime.dwHour = time1.GetHour();
		CurTime.dwMinute = time1.GetMinute();
		CurTime.dwSecond = time1.GetSecond();
		if(NET_DVR_SetDVRConfig(serverinfo[i].m_lServerID, NET_DVR_SET_TIMECFG,0,&CurTime, sizeof(NET_DVR_TIME)))
		{
			AfxMessageBox("Check DVR system time succeed!");						
		}
		else
		{
			AfxMessageBox("Check DVR system time failed!");						
		}
	}
}

void CSetSurveillance::OnFormatdisk() 
{
	// TODO: Add your control notification handler code here
	CFormatDisk	FormatDiskDlg;
	HTREEITEM hSel, hParent;
	int i;
	
	hSel=m_treeall.GetSelectedItem();
	if(hSel==NULL)
	{
		AfxMessageBox("please select DVR!");
		return;
	}
	hParent = m_treeall.GetParentItem(hSel);
	if(hParent == NULL)
	{
		i = m_treeall.GetItemData(hSel);
		FormatDiskDlg.m_lServerID = serverinfo[i].m_lServerID;
		FormatDiskDlg.m_dwDiskNum = serverinfo[i].m_dwDiskNum;
		FormatDiskDlg.DoModal();
	}
}

void CSetSurveillance::OnOK() 
{
	// TODO: Add extra cleanup here
	
	//	CDialog::OnOK();
}

⌨️ 快捷键说明

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