RemoteParamsCfg.cpp 25 KB

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