RemoteParamsCfg.cpp 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. // RemoteParamsCfg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "StoneU_HC_OCX.h"
  5. #include "RemoteParamsCfg.h"
  6. #include <winsock.h>
  7. #include "mdlProject.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CRemoteParamsCfg dialog
  15. CRemoteParamsCfg *m_pRemoteParam = NULL;
  16. CRemoteParamsCfg::CRemoteParamsCfg(CWnd* pParent /*=NULL*/)
  17. : CDialog(CRemoteParamsCfg::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CRemoteParamsCfg)
  20. // NOTE: the ClassWizard will add member initialization here
  21. //}}AFX_DATA_INIT
  22. m_HaveChosed = -1;
  23. }
  24. void CRemoteParamsCfg::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CRemoteParamsCfg)
  28. DDX_Control(pDX, IDC_DVRCOMBO, m_DVRCombo);
  29. DDX_Control(pDX, IDC_TABREMOTECFG, m_Tab);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CRemoteParamsCfg, CDialog)
  33. //{{AFX_MSG_MAP(CRemoteParamsCfg)
  34. ON_BN_CLICKED(IDC_SAVEPARA, OnSavepara)
  35. ON_NOTIFY(TCN_SELCHANGE, IDC_TABREMOTECFG, OnSelchangeTabremotecfg)
  36. ON_BN_CLICKED(IDEXIT, OnExit)
  37. ON_BN_CLICKED(IDC_RESTORE, OnRestore)
  38. ON_CBN_SELCHANGE(IDC_DVRCOMBO, OnSelchangeDvrcombo)
  39. ON_BN_CLICKED(ID_CANCEL, OnCancel)
  40. //}}AFX_MSG_MAP
  41. END_MESSAGE_MAP()
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CRemoteParamsCfg message handlers
  44. BOOL CRemoteParamsCfg::OnInitDialog()
  45. {
  46. CDialog::OnInitDialog();
  47. m_pRemoteParam = this;
  48. m_DVRCombo.ResetContent();
  49. m_DVRCombo.AddString("请选择DVR...");
  50. CString tmp;
  51. int i;
  52. while(1)
  53. {
  54. i = m_dvrName.Find("!@#$%^");
  55. if (i == -1 || i == 0)
  56. break;
  57. tmp = m_dvrName.Left(i);
  58. m_DVRCombo.AddString(tmp);
  59. m_dvrName = m_dvrName.Right(m_dvrName.GetLength()-i-6);
  60. }
  61. m_dvrName.Empty();
  62. m_DVRCombo.SetCurSel(m_dvrSelect+1);
  63. // TODO: Add extra initialization here
  64. m_RemoteServerCfgDlg.bSetServerParams = FALSE;
  65. m_RemoteSerialCfgDlg.bSetSerialParams = FALSE;
  66. m_RemoteAlarmCfgDlg.bSetAlarmParams = FALSE;
  67. m_RemoteUserCfgDlg.bSetUserParams = FALSE;
  68. m_RemoteATMInfoDlg.m_bSetPara = FALSE;
  69. m_ExceptionCfgDlg.m_bSetPara = FALSE;
  70. for(i=0; i<m_iChannelnumber; i++)
  71. {
  72. m_RemoteChannelCfgDlg.bSetChannelPara[i] = FALSE;
  73. }
  74. if (m_iServertype == DEC_MAT)
  75. {
  76. m_Tab.InsertItem(0, "服务器参数配置");
  77. m_bConnectServer = TRUE;
  78. m_RemoteServerCfgDlg.m_lServerID = m_lServerID;
  79. m_RemoteServerCfgDlg.m_lStartChannel = m_lStartChannel;
  80. m_RemoteServerCfgDlg.m_iChannelnumber = m_iChannelnumber;
  81. m_RemoteServerCfgDlg.m_iServertype = m_iServertype;
  82. m_RemoteServerCfgDlg.m_iServer = m_iServer;
  83. m_RemoteServerCfgDlg.Create(IDD_SUBDLG_SERVERCFG, &m_Tab);
  84. m_bConnectServer = m_RemoteServerCfgDlg.m_bConnectServer;
  85. m_RemoteServerCfgDlg.ShowWindow(SW_SHOW);
  86. m_Tab.InsertItem(1, "串口参数配置");
  87. m_RemoteSerialCfgDlg.m_iChannelnumber = m_iChannelnumber;
  88. m_RemoteSerialCfgDlg.m_lServerID = m_lServerID;
  89. m_RemoteSerialCfgDlg.m_lStartChannel = m_lStartChannel;
  90. m_RemoteSerialCfgDlg.m_iServertype = m_iServertype;
  91. m_RemoteSerialCfgDlg.m_bConnectServer = m_bConnectServer;
  92. m_RemoteSerialCfgDlg.Create(IDD_SUBDLG_SERIALCFG, &m_Tab);
  93. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  94. m_Tab.InsertItem(2, "用户配置");
  95. m_RemoteUserCfgDlg.m_iChannelnumber = m_iChannelnumber;
  96. m_RemoteUserCfgDlg.m_lServerID = m_lServerID;
  97. m_RemoteUserCfgDlg.m_lStartChannel = m_lStartChannel;
  98. m_RemoteUserCfgDlg.m_bSuperUser = m_bSuperUser;
  99. m_RemoteUserCfgDlg.m_loginname = m_Username;
  100. m_RemoteUserCfgDlg.m_iServertype = m_iServertype;
  101. m_RemoteUserCfgDlg.m_bConnectServer = m_bConnectServer;
  102. m_RemoteUserCfgDlg.Create(IDD_DLG_USERCFG, &m_Tab);
  103. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  104. m_Tab.InsertItem(3, "多路解码器配置");
  105. m_MatDecCFG.m_lServerID = m_lServerID;
  106. m_MatDecCFG.m_lStartChan = m_lStartChannel;
  107. m_MatDecCFG.m_iChannelnumber = m_iChannelnumber;
  108. m_MatDecCFG.Create(IDD_DLG_MATDECCFG, &m_Tab);
  109. m_MatDecCFG.ShowWindow(SW_HIDE);
  110. //m_Tab.SetCurSel( 1 );
  111. }
  112. else
  113. {
  114. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  115. {
  116. m_Tab.InsertItem(0, "服务器参数配置");
  117. m_Tab.InsertItem(1, "监控通道参数配置");
  118. m_Tab.InsertItem(2, "串口参数配置");
  119. m_Tab.InsertItem(3, "报警参数配置");
  120. m_Tab.InsertItem(4, "用户配置");
  121. m_Tab.InsertItem(5, "交易信息");
  122. m_Tab.InsertItem(6, "异常信息");
  123. m_Tab.SetCurSel( 1 );
  124. }
  125. else
  126. {
  127. m_Tab.InsertItem(0, "服务器参数配置");
  128. m_Tab.InsertItem(1, "串口参数配置");
  129. m_Tab.InsertItem(2, "报警参数配置");
  130. m_Tab.InsertItem(3, "用户配置");
  131. m_Tab.InsertItem(4, "交易信息");
  132. m_Tab.InsertItem(5, "异常信息");
  133. m_Tab.InsertItem(7, "解码配置 ");
  134. }
  135. m_bConnectServer = TRUE;
  136. m_RemoteServerCfgDlg.m_lServerID = m_lServerID;
  137. m_RemoteServerCfgDlg.m_lStartChannel = m_lStartChannel;
  138. m_RemoteServerCfgDlg.m_iChannelnumber = m_iChannelnumber;
  139. m_RemoteServerCfgDlg.m_iServertype = m_iServertype;
  140. m_RemoteServerCfgDlg.m_iServer = m_iServer;
  141. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  142. {
  143. m_RemoteChannelCfgDlg.m_iChannelnumber = m_iChannelnumber;
  144. m_RemoteChannelCfgDlg.m_lServerID = m_lServerID;
  145. m_RemoteChannelCfgDlg.m_lStartChannel = m_lStartChannel;
  146. m_RemoteChannelCfgDlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
  147. m_RemoteChannelCfgDlg.m_iServertype = m_iServertype;
  148. m_RemoteChannelCfgDlg.m_iServer = m_iServer;
  149. }
  150. m_RemoteSerialCfgDlg.m_iChannelnumber = m_iChannelnumber;
  151. m_RemoteSerialCfgDlg.m_lServerID = m_lServerID;
  152. m_RemoteSerialCfgDlg.m_lStartChannel = m_lStartChannel;
  153. m_RemoteSerialCfgDlg.m_iServertype = m_iServertype;
  154. m_RemoteAlarmCfgDlg.m_iChannelnumber = m_iChannelnumber;
  155. m_RemoteAlarmCfgDlg.m_lServerID = m_lServerID;
  156. m_RemoteAlarmCfgDlg.m_lStartChannel = m_lStartChannel;
  157. m_RemoteAlarmCfgDlg.m_dwAlarmInNum = m_dwAlarmInNum;
  158. m_RemoteAlarmCfgDlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
  159. m_RemoteAlarmCfgDlg.m_iServertype = m_iServertype;
  160. m_RemoteUserCfgDlg.m_iChannelnumber = m_iChannelnumber;
  161. m_RemoteUserCfgDlg.m_lServerID = m_lServerID;
  162. m_RemoteUserCfgDlg.m_lStartChannel = m_lStartChannel;
  163. m_RemoteUserCfgDlg.m_bSuperUser = m_bSuperUser;
  164. m_RemoteUserCfgDlg.m_loginname = m_Username;
  165. m_RemoteUserCfgDlg.m_iServertype = m_iServertype;
  166. m_RemoteServerCfgDlg.Create(IDD_SUBDLG_SERVERCFG, &m_Tab);
  167. m_bConnectServer = m_RemoteServerCfgDlg.m_bConnectServer;
  168. m_RemoteSerialCfgDlg.m_bConnectServer = m_bConnectServer;
  169. m_RemoteAlarmCfgDlg.m_bConnectServer = m_bConnectServer;
  170. m_RemoteUserCfgDlg.m_bConnectServer = m_bConnectServer;
  171. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  172. {
  173. m_RemoteChannelCfgDlg.m_bConnectServer = m_bConnectServer;
  174. m_RemoteChannelCfgDlg.Create(IDD_SUBDLG_CHANCFG, &m_Tab);
  175. m_RemoteChannelCfgDlg.ShowWindow(SW_SHOW);
  176. }
  177. m_RemoteSerialCfgDlg.Create(IDD_SUBDLG_SERIALCFG, &m_Tab);
  178. m_RemoteAlarmCfgDlg.Create(IDD_SUBDLG_ALARMCFG, &m_Tab);
  179. m_RemoteUserCfgDlg.Create(IDD_DLG_USERCFG, &m_Tab);
  180. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  181. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  182. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  183. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  184. m_RemoteATMInfoDlg.m_lServerID = m_lServerID;
  185. m_RemoteATMInfoDlg.m_bConnectServer = m_bConnectServer;
  186. m_RemoteATMInfoDlg.m_iServertype = m_iServertype;
  187. m_RemoteATMInfoDlg.Create(IDD_SUBDLG_ATMINFO, &m_Tab);
  188. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  189. m_ExceptionCfgDlg.m_bConnectServer = m_bConnectServer;
  190. m_ExceptionCfgDlg.m_lServerID = m_lServerID;
  191. m_ExceptionCfgDlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
  192. m_ExceptionCfgDlg.m_iServertype = m_iServertype;
  193. m_ExceptionCfgDlg.Create(IDD_SUBDLG_EXCEPTION, &m_Tab);
  194. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  195. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  196. {
  197. m_DecCfgDlg.m_lServerID = m_lServerID;
  198. m_DecCfgDlg.m_lStartChan = m_lStartChannel;
  199. m_DecCfgDlg.Create(IDD_DLG_DECCFG, &m_Tab);
  200. m_DecCfgDlg.ShowWindow(SW_HIDE);
  201. }
  202. }
  203. return TRUE; // return TRUE unless you set the focus to a control
  204. // EXCEPTION: OCX Property Pages should return FALSE
  205. }
  206. void CRemoteParamsCfg::OnSavepara()
  207. {
  208. if(m_dvrSelect == -1)
  209. return;
  210. // TODO: Add your control notification handler code here
  211. int i, j;
  212. BOOL Done = TRUE;
  213. if(m_RemoteServerCfgDlg.bSetServerParams)
  214. {
  215. if (!NET_DVR_SetScaleCFG(m_lServerID, m_RemoteServerCfgDlg.m_dwUseZoom))
  216. {
  217. m_NotifyMess.Format("设置启用是否缩放失败: NET_DVR_GetLastError = %d \n", NET_DVR_GetLastError());
  218. TRACE(m_NotifyMess);
  219. Done = FALSE;
  220. NotifyToolTip();
  221. }
  222. m_RemoteServerCfgDlg.m_devicecfg.dwSize = sizeof(m_RemoteServerCfgDlg.m_devicecfg);
  223. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_DEVICECFG, 0, &(m_RemoteServerCfgDlg.m_devicecfg), sizeof(NET_DVR_DEVICECFG)))
  224. {
  225. m_NotifyMess.Format("设置服务器配置信息失败: NET_DVR_GET_DEVICECFG = %d \n", NET_DVR_GetLastError());
  226. TRACE(m_NotifyMess);
  227. Done = FALSE;
  228. NotifyToolTip();
  229. }
  230. m_RemoteServerCfgDlg.m_netcfg.dwSize = sizeof(m_RemoteServerCfgDlg.m_netcfg);
  231. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_NETCFG, 0, &(m_RemoteServerCfgDlg.m_netcfg), sizeof(NET_DVR_NETCFG)))
  232. {
  233. m_NotifyMess.Format("设置服务器配置信息失败: NET_DVR_SET_NETCFG = %d \n", NET_DVR_GetLastError());
  234. TRACE(m_NotifyMess);
  235. Done = FALSE;
  236. NotifyToolTip();
  237. }
  238. g_pNewclientDlg->m_Serverinfo[m_iServer].m_csServerMultiIP = m_RemoteServerCfgDlg.m_netcfg.sMultiCastIP;
  239. g_pNewclientDlg->m_Serverinfo[m_iServer].m_dwServerMultiIPvalue = inet_addr(m_RemoteServerCfgDlg.m_netcfg.sMultiCastIP);
  240. for(j=0; j<m_iChannelnumber; j++)
  241. {
  242. g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_csMultiIP = m_RemoteServerCfgDlg.m_netcfg.sMultiCastIP;
  243. g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_dwMultiIPvalue = inet_addr(g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_csMultiIP);
  244. if( (g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_bChoosed) && (g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_iSequence != -1) )
  245. {
  246. g_pNewclientDlg->m_Selipinfo[g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_iSequence].m_csMultiIP = g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_csMultiIP;
  247. g_pNewclientDlg->m_Selipinfo[g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_iSequence].m_dwMultiIPvalue = g_pNewclientDlg->m_Allipinfo[m_iServer][j].m_dwMultiIPvalue;
  248. }
  249. }
  250. m_RemoteServerCfgDlg.bSetServerParams = FALSE;
  251. }
  252. int m_nChanNum = 0;
  253. //设备版本2.1以上才支持事件触发压缩参数
  254. if (g_pNewclientDlg->m_Serverinfo[m_iServer].m_dwDevSoftVersion >= 0x20001 && m_iServertype != DEC_MAT)
  255. {
  256. for(i=0; i<m_iChannelnumber; i++)
  257. {
  258. m_nChanNum = i + m_lStartChannel;
  259. if(m_RemoteChannelCfgDlg.bSetChannelPara[i])
  260. {
  261. m_RemoteChannelCfgDlg.m_compressionNew[i].dwSize = sizeof(m_RemoteChannelCfgDlg.m_compressionNew[i]);
  262. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_EVENTCOMPCFG, m_nChanNum, &(m_RemoteChannelCfgDlg.m_compressionNew[i]), sizeof(NET_DVR_COMPRESSIONCFG)))
  263. {
  264. m_NotifyMess.Format("%d ERROR: NET_DVR_SET_EVENTCOMPCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
  265. TRACE(m_NotifyMess);
  266. Done = FALSE;
  267. NotifyToolTip();
  268. }
  269. }
  270. }
  271. }
  272. if (m_iServertype != DEC_MAT)
  273. {
  274. for(i=0; i<m_iChannelnumber; i++)
  275. {
  276. m_nChanNum = i + m_lStartChannel;
  277. if(m_RemoteChannelCfgDlg.bSetChannelPara[i])
  278. {
  279. m_RemoteChannelCfgDlg.m_piccfg[i].dwSize = sizeof(m_RemoteChannelCfgDlg.m_piccfg[i]);
  280. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_PICCFG_EX, m_nChanNum, &(m_RemoteChannelCfgDlg.m_piccfg[i]), sizeof(NET_DVR_PICCFG_EX)))
  281. {
  282. m_NotifyMess.Format("%d ERROR: NET_DVR_SET_PICCFG_EX = %d \n", m_nChanNum, NET_DVR_GetLastError());
  283. TRACE(m_NotifyMess);
  284. Done = FALSE;
  285. NotifyToolTip();
  286. }
  287. m_RemoteChannelCfgDlg.m_compressioncfg[i].dwSize = sizeof(m_RemoteChannelCfgDlg.m_compressioncfg[i]);
  288. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_COMPRESSCFG_EX, m_nChanNum, &(m_RemoteChannelCfgDlg.m_compressioncfg[i]), sizeof(NET_DVR_COMPRESSIONCFG_EX)))
  289. {
  290. m_NotifyMess.Format("%d ERROR: NET_DVR_SET_COMPRESSCFG_EX = %d \n", m_nChanNum, NET_DVR_GetLastError());
  291. TRACE(m_NotifyMess);
  292. Done = FALSE;
  293. NotifyToolTip();
  294. }
  295. m_RemoteChannelCfgDlg.m_record[i].dwSize = sizeof(m_RemoteChannelCfgDlg.m_record[i]);
  296. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_RECORDCFG, m_nChanNum, &(m_RemoteChannelCfgDlg.m_record[i]), sizeof(NET_DVR_RECORD)))
  297. {
  298. CString m_NotifyMess;
  299. m_NotifyMess.Format("%d ERROR: NET_DVR_SET_RECORDCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
  300. TRACE(m_NotifyMess);
  301. Done = FALSE;
  302. NotifyToolTip();
  303. }
  304. m_RemoteChannelCfgDlg.bSetChannelPara[i] = FALSE;
  305. }
  306. }
  307. }
  308. if(m_RemoteSerialCfgDlg.bSetSerialParams)
  309. {
  310. m_RemoteSerialCfgDlg.rs232cfg.dwSize = sizeof(m_RemoteSerialCfgDlg.rs232cfg);
  311. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_RS232CFG, 0, &(m_RemoteSerialCfgDlg.rs232cfg), sizeof(NET_DVR_RS232CFG)))
  312. {
  313. m_NotifyMess.Format("设置232串口参数失败!: NET_DVR_SET_RS232CFG = %d \n", NET_DVR_GetLastError());
  314. TRACE(m_NotifyMess);
  315. Done = FALSE;
  316. NotifyToolTip();
  317. }
  318. for(i=0; i<m_iChannelnumber; i++)
  319. {
  320. int m_nChanNum = i + m_lStartChannel;
  321. m_RemoteSerialCfgDlg.decodercfg[i].dwSize = sizeof(m_RemoteSerialCfgDlg.decodercfg[i]);
  322. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_DECODERCFG, m_nChanNum,&(m_RemoteSerialCfgDlg.decodercfg[i]), sizeof(NET_DVR_DECODERCFG)))
  323. {
  324. m_NotifyMess.Format("设置通道%d 485串口参数失败!: NET_DVR_SET_DECODERCFG = %d \n", m_nChanNum, NET_DVR_GetLastError());
  325. TRACE(m_NotifyMess);
  326. Done = FALSE;
  327. NotifyToolTip();
  328. }
  329. }
  330. m_RemoteSerialCfgDlg.bSetSerialParams = FALSE;
  331. }
  332. if(m_RemoteAlarmCfgDlg.bSetAlarmParams && m_iServertype != DEC_MAT)
  333. {
  334. for(i=0; i<(int)m_dwAlarmInNum; i++)
  335. {
  336. m_RemoteAlarmCfgDlg.m_alarmincfg[i].dwSize = sizeof(m_RemoteAlarmCfgDlg.m_alarmincfg[i]);
  337. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_ALARMINCFG, i, &(m_RemoteAlarmCfgDlg.m_alarmincfg[i]), sizeof(NET_DVR_ALARMINCFG)))
  338. {
  339. m_NotifyMess.Format("报警输入%d参数设置失败: NET_DVR_SET_ALARMINCFG = %d \n", i, NET_DVR_GetLastError());
  340. TRACE(m_NotifyMess);
  341. Done = FALSE;
  342. NotifyToolTip();
  343. }
  344. }
  345. for(i=0; i<(int)m_dwAlarmOutNum; i++)
  346. {
  347. m_RemoteAlarmCfgDlg.m_alarmoutcfg[i].dwSize = sizeof(m_RemoteAlarmCfgDlg.m_alarmoutcfg[i]);
  348. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_ALARMOUTCFG, i, &(m_RemoteAlarmCfgDlg.m_alarmoutcfg[i]), sizeof(NET_DVR_ALARMOUTCFG)))
  349. {
  350. m_NotifyMess.Format("报警输出%d参数设置失败: NET_DVR_SET_ALARMOUTCFG = %d \n", i, NET_DVR_GetLastError());
  351. TRACE(m_NotifyMess);
  352. Done = FALSE;
  353. NotifyToolTip();
  354. }
  355. }
  356. m_RemoteAlarmCfgDlg.bSetAlarmParams = FALSE;
  357. }
  358. if(m_RemoteUserCfgDlg.bSetUserParams)
  359. {
  360. m_RemoteUserCfgDlg.m_user.dwSize = sizeof(m_RemoteUserCfgDlg.m_user);
  361. if(!NET_DVR_SetDVRConfig(m_lServerID, NET_DVR_SET_USERCFG_EX, 0, &(m_RemoteUserCfgDlg.m_user), sizeof(NET_DVR_USER_EX)))
  362. {
  363. m_NotifyMess.Format("ERROR: NET_DVR_SET_USERCFG = %d \n", NET_DVR_GetLastError());
  364. TRACE(m_NotifyMess);
  365. Done = FALSE;
  366. NotifyToolTip();
  367. }
  368. m_RemoteUserCfgDlg.bSetUserParams = FALSE;
  369. }
  370. if(m_RemoteATMInfoDlg.m_bSetPara && m_iServertype != DEC_MAT)
  371. {
  372. m_RemoteATMInfoDlg.m_ATMInfo.dwSize = sizeof(m_RemoteATMInfoDlg.m_ATMInfo);
  373. if(!NET_DVR_ClientSetframeformat(m_lServerID, &(m_RemoteATMInfoDlg.m_ATMInfo)))
  374. {
  375. m_NotifyMess.Format("ERROR: NET_DVR_ClientSetframeformat = %d \n", NET_DVR_GetLastError());
  376. TRACE(m_NotifyMess);
  377. Done = FALSE;
  378. NotifyToolTip();
  379. }
  380. if (m_RemoteATMInfoDlg.m_ATMInfo.dwInputMode == 1)
  381. {
  382. if (!NET_DVR_SetATMPortCFG(m_lServerID, m_RemoteATMInfoDlg.m_ATMPort))
  383. {
  384. m_NotifyMess.Format("设置ATM端口失败: NET_DVR_GetLastError = %d \n", NET_DVR_GetLastError());
  385. TRACE(m_NotifyMess);
  386. Done = FALSE;
  387. NotifyToolTip();
  388. }
  389. }
  390. m_RemoteATMInfoDlg.m_bSetPara = FALSE;
  391. }
  392. if (m_ExceptionCfgDlg.m_bSetPara && m_iServertype != DEC_MAT)
  393. {
  394. m_ExceptionCfgDlg.m_ExceptionInfo.dwSize = sizeof(m_ExceptionCfgDlg.m_ExceptionInfo);
  395. if (!NET_DVR_SetDVRConfig(m_lServerID,NET_DVR_SET_EXCEPTIONCFG, 0, &(m_ExceptionCfgDlg.m_ExceptionInfo), sizeof(NET_DVR_EXCEPTION)))
  396. {
  397. m_NotifyMess.Format("ERROR: NET_DVR_SET_EXCEPTIONCFG = %d \n", NET_DVR_GetLastError());
  398. TRACE(m_NotifyMess);
  399. Done = FALSE;
  400. NotifyToolTip();
  401. }
  402. m_ExceptionCfgDlg.m_bSetPara = FALSE;
  403. }
  404. if(Done)
  405. {
  406. MessageBox("参数保存成功!", "温馨提示", MB_ICONINFORMATION);
  407. }
  408. }
  409. void CRemoteParamsCfg::OnSelchangeTabremotecfg(NMHDR* pNMHDR, LRESULT* pResult)
  410. {
  411. // TODO: Add your control notification handler code here
  412. if (m_iServertype == DEC_MAT)
  413. {
  414. switch(m_Tab.GetCurSel())
  415. {
  416. case 0:
  417. m_RemoteServerCfgDlg.ShowWindow(SW_SHOW);
  418. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  419. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  420. m_MatDecCFG.ShowWindow(SW_HIDE);
  421. break;
  422. case 1:
  423. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  424. m_RemoteSerialCfgDlg.ShowWindow(SW_SHOW);
  425. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  426. m_MatDecCFG.ShowWindow(SW_HIDE);
  427. break;
  428. case 2:
  429. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  430. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  431. m_RemoteUserCfgDlg.ShowWindow(SW_SHOW);
  432. m_MatDecCFG.ShowWindow(SW_HIDE);
  433. break;
  434. case 3:
  435. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  436. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  437. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  438. m_MatDecCFG.ShowWindow(SW_SHOW);
  439. break;
  440. default:
  441. break;
  442. }
  443. }
  444. else
  445. {
  446. switch(m_Tab.GetCurSel())
  447. {
  448. case 0:
  449. m_RemoteServerCfgDlg.ShowWindow(SW_SHOW);
  450. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  451. {
  452. m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
  453. }
  454. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  455. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  456. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  457. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  458. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  459. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  460. {
  461. m_DecCfgDlg.ShowWindow(SW_HIDE);
  462. }
  463. break;
  464. case 1:
  465. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  466. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  467. {
  468. m_RemoteChannelCfgDlg.ShowWindow(SW_SHOW);
  469. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  470. }
  471. else
  472. {
  473. m_RemoteSerialCfgDlg.ShowWindow(SW_SHOW);
  474. }
  475. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  476. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  477. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  478. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  479. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  480. {
  481. m_DecCfgDlg.ShowWindow(SW_HIDE);
  482. }
  483. break;
  484. case 2:
  485. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  486. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  487. {
  488. m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
  489. m_RemoteSerialCfgDlg.ShowWindow(SW_SHOW);
  490. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  491. }
  492. else
  493. {
  494. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  495. m_RemoteAlarmCfgDlg.ShowWindow(SW_SHOW);
  496. }
  497. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  498. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  499. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  500. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  501. {
  502. m_DecCfgDlg.ShowWindow(SW_HIDE);
  503. }
  504. break;
  505. case 3:
  506. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  507. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  508. {
  509. m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
  510. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  511. m_RemoteAlarmCfgDlg.ShowWindow(SW_SHOW);
  512. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  513. }
  514. else
  515. {
  516. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  517. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  518. m_RemoteUserCfgDlg.ShowWindow(SW_SHOW);
  519. }
  520. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  521. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  522. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  523. {
  524. m_DecCfgDlg.ShowWindow(SW_HIDE);
  525. }
  526. break;
  527. case 4:
  528. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  529. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  530. {
  531. m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
  532. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  533. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  534. m_RemoteUserCfgDlg.ShowWindow(SW_SHOW);
  535. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  536. }
  537. else
  538. {
  539. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  540. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  541. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  542. m_RemoteATMInfoDlg.ShowWindow(SW_SHOW);
  543. }
  544. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  545. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  546. {
  547. m_DecCfgDlg.ShowWindow(SW_HIDE);
  548. }
  549. break;
  550. case 5:
  551. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  552. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  553. {
  554. m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
  555. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  556. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  557. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  558. m_RemoteATMInfoDlg.ShowWindow(SW_SHOW);
  559. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  560. }
  561. else
  562. {
  563. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  564. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  565. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  566. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  567. m_ExceptionCfgDlg.ShowWindow(SW_SHOW);
  568. m_DecCfgDlg.ShowWindow(SW_HIDE);
  569. }
  570. break;
  571. case 6:
  572. m_RemoteServerCfgDlg.ShowWindow(SW_HIDE);
  573. if ((m_iServertype != ENC_DEC) && (m_iServertype != DEC))
  574. {
  575. m_RemoteChannelCfgDlg.ShowWindow(SW_HIDE);
  576. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  577. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  578. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  579. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  580. m_ExceptionCfgDlg.ShowWindow(SW_SHOW);
  581. }
  582. else
  583. {
  584. m_RemoteSerialCfgDlg.ShowWindow(SW_HIDE);
  585. m_RemoteAlarmCfgDlg.ShowWindow(SW_HIDE);
  586. m_RemoteUserCfgDlg.ShowWindow(SW_HIDE);
  587. m_RemoteATMInfoDlg.ShowWindow(SW_HIDE);
  588. m_ExceptionCfgDlg.ShowWindow(SW_HIDE);
  589. m_DecCfgDlg.ShowWindow(SW_SHOW);
  590. }
  591. break;
  592. default:
  593. break;
  594. }
  595. }
  596. *pResult = 0;
  597. }
  598. void CRemoteParamsCfg::OnExit()
  599. {
  600. // TODO: Add your control notification handler code here
  601. CDialog::OnCancel();
  602. }
  603. void CRemoteParamsCfg::OnCancel()
  604. {
  605. // TODO: Add your control notification handler code here
  606. }
  607. void CRemoteParamsCfg::OnRestore()
  608. {
  609. if(m_dvrSelect == -1)
  610. return;
  611. // TODO: Add your control notification handler code here
  612. if(NET_DVR_RestoreConfig(m_lServerID))
  613. {
  614. MessageBox("恢复默认值成功!", "温馨提示", MB_ICONINFORMATION);
  615. }
  616. else
  617. {
  618. MessageBox("恢复默认值失败!", "温馨提示", MB_ICONINFORMATION);
  619. }
  620. }
  621. void CRemoteParamsCfg::OnSelchangeDvrcombo()
  622. {
  623. // TODO: Add your control notification handler code here
  624. int select = m_DVRCombo.GetCurSel();
  625. if(select == m_HaveChosed)
  626. return;
  627. GetDlgItem(IDC_DVRCOMBO)->EnableWindow(FALSE);
  628. m_HaveChosed = select;
  629. switch(select)
  630. {
  631. case 0:
  632. break;
  633. default:
  634. m_bConnectServer = TRUE;
  635. m_bConnectServer = m_RemoteServerCfgDlg.m_bConnectServer;
  636. m_RemoteChannelCfgDlg.m_bConnectServer = m_bConnectServer;
  637. m_RemoteSerialCfgDlg.m_bConnectServer = m_bConnectServer;
  638. m_RemoteAlarmCfgDlg.m_bConnectServer = m_bConnectServer;
  639. m_RemoteUserCfgDlg.m_bConnectServer = m_bConnectServer;
  640. TRACE("m_lServerID = %d\n",g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID);
  641. m_RemoteServerCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  642. m_RemoteServerCfgDlg.m_lStartChannel = g_pNewclientDlg->m_Serverinfo[select-1].m_lStartChannel;
  643. m_RemoteServerCfgDlg.m_iChannelnumber = g_pNewclientDlg->m_Serverinfo[select-1].m_iServerChannelNumber;
  644. m_RemoteServerCfgDlg.CheckPara();
  645. m_RemoteChannelCfgDlg.m_iChannelnumber = g_pNewclientDlg->m_Serverinfo[select-1].m_iServerChannelNumber;
  646. m_RemoteChannelCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  647. m_RemoteChannelCfgDlg.m_lStartChannel = g_pNewclientDlg->m_Serverinfo[select-1].m_lStartChannel;
  648. m_RemoteChannelCfgDlg.m_dwAlarmOutNum = g_pNewclientDlg->m_Serverinfo[select-1].m_dwAlarmOutNum;
  649. m_RemoteChannelCfgDlg.CheckPara();
  650. m_RemoteSerialCfgDlg.m_iChannelnumber = g_pNewclientDlg->m_Serverinfo[select-1].m_iServerChannelNumber;
  651. m_RemoteSerialCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  652. m_RemoteSerialCfgDlg.m_lStartChannel = g_pNewclientDlg->m_Serverinfo[select-1].m_lStartChannel;
  653. m_RemoteSerialCfgDlg.CheckPara();
  654. m_RemoteAlarmCfgDlg.m_iChannelnumber = g_pNewclientDlg->m_Serverinfo[select-1].m_iServerChannelNumber;
  655. m_RemoteAlarmCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  656. m_RemoteAlarmCfgDlg.m_lStartChannel = g_pNewclientDlg->m_Serverinfo[select-1].m_lStartChannel;
  657. m_RemoteAlarmCfgDlg.m_dwAlarmInNum = g_pNewclientDlg->m_Serverinfo[select-1].m_dwAlarmInNum;
  658. m_RemoteAlarmCfgDlg.m_dwAlarmOutNum = g_pNewclientDlg->m_Serverinfo[select-1].m_dwAlarmOutNum;
  659. m_RemoteAlarmCfgDlg.CheckPara();
  660. m_RemoteUserCfgDlg.m_iChannelnumber = g_pNewclientDlg->m_Serverinfo[select-1].m_iServerChannelNumber;
  661. m_RemoteUserCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  662. m_RemoteUserCfgDlg.m_lStartChannel = g_pNewclientDlg->m_Serverinfo[select-1].m_lStartChannel;
  663. m_RemoteUserCfgDlg.m_bSuperUser = m_bSuperUser;
  664. m_RemoteUserCfgDlg.m_loginname = m_Username;
  665. m_RemoteUserCfgDlg.CheckPara();
  666. m_RemoteATMInfoDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  667. m_RemoteATMInfoDlg.m_bConnectServer = m_bConnectServer;
  668. m_RemoteATMInfoDlg.CheckPara();
  669. m_ExceptionCfgDlg.m_bConnectServer = m_bConnectServer;
  670. m_ExceptionCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  671. m_ExceptionCfgDlg.m_dwAlarmOutNum = g_pNewclientDlg->m_Serverinfo[select-1].m_dwAlarmOutNum;
  672. m_ExceptionCfgDlg.CheckPara();
  673. if ((m_iServertype == ENC_DEC) || (m_iServertype == DEC))
  674. {
  675. m_DecCfgDlg.m_lServerID = g_pNewclientDlg->m_Serverinfo[select-1].m_lServerID;
  676. m_DecCfgDlg.m_lStartChan = g_pNewclientDlg->m_Serverinfo[select-1].m_lStartChannel;
  677. }
  678. break;
  679. }
  680. m_pRemoteParam->m_dvrSelect = select-1;
  681. GetDlgItem(IDC_DVRCOMBO)->EnableWindow(TRUE);
  682. }
  683. void CRemoteParamsCfg::NotifyToolTip()
  684. {
  685. if (!IsWindow(report.GetSafeHwnd()))
  686. {
  687. report.Create(IDD_DLG_REMOTECFG_REPORT, this);
  688. report.ShowWindow(SW_SHOW);
  689. }
  690. report.InsertReport(m_NotifyMess.GetBuffer(m_NotifyMess.GetLength()), m_NotifyMess.GetLength());
  691. m_NotifyMess.ReleaseBuffer(m_NotifyMess.GetLength());
  692. }