RemoteParamsCfg.cpp 25 KB

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