📄 remoteparamscfg.cpp
字号:
// RemoteParamsCfg.cpp : implementation file
//
#include "stdafx.h"
#include "newclient.h"
#include "RemoteParamsCfg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern SERVER_INFO serverinfo[MAXIPNUMBER];
extern IP_INFO selipinfo[MAXNUMBER];
extern IP_INFO allipinfo[MAXIPNUMBER][MAXCHANNUM];
/////////////////////////////////////////////////////////////////////////////
// CRemoteParamsCfg dialog
CRemoteParamsCfg::CRemoteParamsCfg(CWnd* pParent /*=NULL*/)
: CDialog(CRemoteParamsCfg::IDD, pParent)
{
//{{AFX_DATA_INIT(CRemoteParamsCfg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void CRemoteParamsCfg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRemoteParamsCfg)
DDX_Control(pDX, IDC_TABREMOTECFG, m_Tab);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRemoteParamsCfg, CDialog)
//{{AFX_MSG_MAP(CRemoteParamsCfg)
ON_BN_CLICKED(IDC_SAVEPARA, OnSavepara)
ON_NOTIFY(TCN_SELCHANGE, IDC_TABREMOTECFG, OnSelchangeTabremotecfg)
ON_BN_CLICKED(IDEXIT, OnExit)
ON_BN_CLICKED(IDC_RESTORE, OnRestore)
ON_BN_CLICKED(ID_CANCEL, OnCancel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CRemoteParamsCfg message handlers
BOOL CRemoteParamsCfg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_Tab.InsertItem(0, "服务器参数配置");
m_Tab.InsertItem(1, "监控通道参数配置");
m_Tab.InsertItem(2, "串口参数配置");
m_Tab.InsertItem(3, "报警参数配置");
m_Tab.InsertItem(4, "用户配置");
m_bConnectServer = TRUE;
m_RemoteServerCfgDlg.m_lServerID = m_lServerID;
m_RemoteServerCfgDlg.m_lStartChannel = m_lStartChannel;
m_RemoteServerCfgDlg.m_iChannelnumber = m_iChannelnumber;
m_RemoteChannelCfgDlg.m_iChannelnumber = m_iChannelnumber;
m_RemoteChannelCfgDlg.m_lServerID = m_lServerID;
m_RemoteChannelCfgDlg.m_lStartChannel = m_lStartChannel;
m_RemoteChannelCfgDlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
m_RemoteSerialCfgDlg.m_iChannelnumber = m_iChannelnumber;
m_RemoteSerialCfgDlg.m_lServerID = m_lServerID;
m_RemoteSerialCfgDlg.m_lStartChannel = m_lStartChannel;
m_RemoteAlarmCfgDlg.m_iChannelnumber = m_iChannelnumber;
m_RemoteAlarmCfgDlg.m_lServerID = m_lServerID;
m_RemoteAlarmCfgDlg.m_lStartChannel = m_lStartChannel;
m_RemoteAlarmCfgDlg.m_dwAlarmInNum = m_dwAlarmInNum;
m_RemoteAlarmCfgDlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
m_RemoteUserCfgDlg.m_iChannelnumber = m_iChannelnumber;
m_RemoteUserCfgDlg.m_lServerID = m_lServerID;
m_RemoteUserCfgDlg.m_lStartChannel = m_lStartChannel;
m_RemoteUserCfgDlg.m_bSuperUser = m_bSuperUser;
m_RemoteUserCfgDlg.m_loginname = m_Username;
m_RemoteServerCfgDlg.Create(IDD_SUBDLG_SERVERCFG, &m_Tab);
m_bConnectServer = m_RemoteServerCfgDlg.m_bConnectServer;
m_RemoteChannelCfgDlg.m_bConnectServer = m_bConnectServer;
m_RemoteSerialCfgDlg.m_bConnectServer = m_bConnectServer;
m_RemoteAlarmCfgDlg.m_bConnectServer = m_bConnectServer;
m_RemoteUserCfgDlg.m_bConnectServer = m_bConnectServer;
m_RemoteChannelCfgDlg.Create(IDD_SUBDLG_CHANCFG, &m_Tab);
m_RemoteSerialCfgDlg.Create(IDD_SUBDLG_SERIALCFG, &m_Tab);
m_RemoteAlarmCfgDlg.Create(IDD_SUBDLG_ALARMCFG, &m_Tab);
m_RemoteUserCfgDlg.Create(IDD_DLG_USERCFG, &m_Tab);
m_RemoteServerCfgDlg.ShowWindow(SW_SHOW);
m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
//ATM机专用
if(m_iServertype == 2)
{
m_Tab.InsertItem(5, "交易信息");
m_RemoteATMInfoDlg.m_lServerID = m_lServerID;
m_RemoteATMInfoDlg.m_bConnectServer = m_bConnectServer;
m_RemoteATMInfoDlg.Create(IDD_SUBDLG_ATMINFO, &m_Tab);
m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CRemoteParamsCfg::OnSavepara()
{
// TODO: Add your control notification handler code here
int i, j;
CString sTemp;
if(m_RemoteServerCfgDlg.bSetServerParams)
{
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_DEVICECFG, 0,&(m_RemoteServerCfgDlg.m_devicecfg), sizeof(NET_DVR_DEVICECFG)))
{
sTemp.Format("设置服务器配置信息失败: NET_DVR_GET_DEVICECFG = %d \n", NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return ;
}
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_NETCFG, 0,&(m_RemoteServerCfgDlg.m_netcfg), sizeof(NET_DVR_NETCFG)))
{
sTemp.Format("设置服务器配置信息失败: NET_DVR_SET_NETCFG = %d \n", NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return ;
}
serverinfo[m_iServer].m_csServerMultiIP = m_RemoteServerCfgDlg.m_netcfg.sMultiCastIP;
serverinfo[m_iServer].m_dwServerMultiIPvalue = inet_addr(m_RemoteServerCfgDlg.m_netcfg.sMultiCastIP);
for(j=0; j<m_iChannelnumber; j++)
{
allipinfo[m_iServer][j].m_csMultiIP = m_RemoteServerCfgDlg.m_netcfg.sMultiCastIP;
allipinfo[m_iServer][j].m_dwMultiIPvalue = inet_addr(allipinfo[m_iServer][j].m_csMultiIP);
if( (allipinfo[m_iServer][j].m_bChoosed) && (allipinfo[m_iServer][j].m_iSequence != -1) )
{
selipinfo[allipinfo[m_iServer][j].m_iSequence].m_csMultiIP = allipinfo[m_iServer][j].m_csMultiIP;
selipinfo[allipinfo[m_iServer][j].m_iSequence].m_dwMultiIPvalue = allipinfo[m_iServer][j].m_dwMultiIPvalue;
}
}
m_RemoteServerCfgDlg.bSetServerParams = FALSE;
}
for(i=0; i<m_iChannelnumber; i++)
{
int m_nChanNum = i + m_lStartChannel;
if(m_RemoteChannelCfgDlg.bSetChannelPara[i])
{
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_PICCFG, m_nChanNum,&(m_RemoteChannelCfgDlg.m_piccfg[i]), sizeof(NET_DVR_PICCFG)))
{
sTemp.Format("%d ERROR: NET_DVR_SET_PICCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return ;
}
if(!NET_DVR_SetDVRConfig(m_lServerID,NET_DVR_SET_COMPRESSCFG, m_nChanNum,&(m_RemoteChannelCfgDlg.m_compressioncfg[i]), sizeof(NET_DVR_COMPRESSIONCFG)))
{
sTemp.Format("%d ERROR: NET_DVR_SET_COMPRESSCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return ;
}
if(!NET_DVR_SetDVRConfig(m_lServerID,NET_DVR_SET_RECORDCFG, m_nChanNum,&(m_RemoteChannelCfgDlg.m_record[i]), sizeof(NET_DVR_RECORD)))
{
CString sTemp;
sTemp.Format("%d ERROR: NET_DVR_SET_RECORDCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return ;
}
m_RemoteChannelCfgDlg.bSetChannelPara[i] = FALSE;
}
}
if(m_RemoteSerialCfgDlg.bSetSerialParams)
{
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_RS232CFG, 0, &(m_RemoteSerialCfgDlg.rs232cfg), sizeof(NET_DVR_RS232CFG)))
{
sTemp.Format("设置232串口参数失败!: NET_DVR_SET_RS232CFG = %d \n", NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return;
}
for(i=0; i<m_iChannelnumber; i++)
{
int m_nChanNum = i + m_lStartChannel;
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_DECODERCFG, m_nChanNum,&(m_RemoteSerialCfgDlg.decodercfg[i]), sizeof(NET_DVR_DECODERCFG)))
{
sTemp.Format("设置通道%d 485串口参数失败!: NET_DVR_SET_DECODERCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return;
}
}
m_RemoteSerialCfgDlg.bSetSerialParams = FALSE;
}
if(m_RemoteAlarmCfgDlg.bSetAlarmParams)
{
for(i=0; i<(int)m_dwAlarmInNum; i++)
{
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_ALARMINCFG, i,&(m_RemoteAlarmCfgDlg.m_alarmincfg[i]), sizeof(NET_DVR_ALARMINCFG)))
{
sTemp.Format("报警输入%d参数设置失败: NET_DVR_SET_ALARMINCFG = %d \n", i, NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return;
}
}
for(i=0; i<(int)m_dwAlarmOutNum; i++)
{
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_ALARMOUTCFG, i,&(m_RemoteAlarmCfgDlg.m_alarmoutcfg[i]), sizeof(NET_DVR_ALARMOUTCFG)))
{
sTemp.Format("报警输出%d参数设置失败: NET_DVR_SET_ALARMOUTCFG = %d \n", i, NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return;
}
}
m_RemoteAlarmCfgDlg.bSetAlarmParams = FALSE;
}
if(m_RemoteUserCfgDlg.bSetUserParams)
{
if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_USERCFG, 0,&(m_RemoteUserCfgDlg.m_user), sizeof(NET_DVR_USER)))
{
sTemp.Format("ERROR: NET_DVR_SET_USERCFG = %d \n", NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return;
}
m_RemoteUserCfgDlg.bSetUserParams = FALSE;
}
if(m_iServertype == 2)
{
if(m_RemoteATMInfoDlg.m_bSetPara)
{
if(!NET_DVR_ClientSetframeformat(m_lServerID, &(m_RemoteATMInfoDlg.m_ATMInfo)))
{
sTemp.Format("ERROR: NET_DVR_ClientSetframeformat = %d \n", NET_DVR_GetLastError());
TRACE(sTemp);
AfxMessageBox("参数保存失败!");
return;
}
m_RemoteATMInfoDlg.m_bSetPara = FALSE;
}
}
AfxMessageBox("参数保存成功!");
}
void CRemoteParamsCfg::OnSelchangeTabremotecfg(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
switch(m_Tab.GetCurSel())
{
case 0:
m_RemoteServerCfgDlg.ShowWindow(SW_SHOW);
m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
//ATM机专用
if(m_iServertype == 2)
{
m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
}
break;
case 1:
m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
m_RemoteChannelCfgDlg.ShowWindow(SW_SHOW);
m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
//ATM机专用
if(m_iServertype == 2)
{
m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
}
break;
case 2:
m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
m_RemoteSerialCfgDlg.ShowWindow(SW_SHOW);
m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
//ATM机专用
if(m_iServertype == 2)
{
m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
}
break;
case 3:
m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
m_RemoteAlarmCfgDlg.ShowWindow(SW_SHOW);
m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
//ATM机专用
if(m_iServertype == 2)
{
m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
}
break;
case 4:
m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
m_RemoteUserCfgDlg.ShowWindow(SW_SHOW);
//ATM机专用
if(m_iServertype == 2)
{
m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
}
break;
case 5:
m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
m_RemoteATMInfoDlg.ShowWindow(SW_SHOW);
break;
default:
break;
}
*pResult = 0;
}
void CRemoteParamsCfg::OnExit()
{
// TODO: Add your control notification handler code here
CDialog::OnCancel();
}
void CRemoteParamsCfg::OnCancel()
{
// TODO: Add your control notification handler code here
}
void CRemoteParamsCfg::OnRestore()
{
// TODO: Add your control notification handler code here
if(NET_DVR_RestoreConfig(m_lServerID))
{
AfxMessageBox("恢复默认值成功!");
}
else
{
AfxMessageBox("恢复默认值失败!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -