FrmTestMainF.cpp 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. //---------------------------------------------------------------------------
  5. #define MIN(a,b) (((a)<(b))?(a):(b))
  6. #define MAX(a,b) (((a)>(b))?(a):(b))
  7. //---------------------------------------------------------------------------
  8. #include "FrmTestMainF.h"
  9. //---------------------------------------------------------------------------
  10. #pragma package(smart_init)
  11. #pragma link "cxButtons"
  12. #pragma link "cxContainer"
  13. #pragma link "cxControls"
  14. #pragma link "cxDropDownEdit"
  15. #pragma link "cxEdit"
  16. #pragma link "cxGraphics"
  17. #pragma link "cxLookAndFeelPainters"
  18. #pragma link "cxLookAndFeels"
  19. #pragma link "cxMaskEdit"
  20. #pragma link "cxSpinEdit"
  21. #pragma link "cxTextEdit"
  22. #pragma link "dxSkinBlack"
  23. #pragma link "dxSkinMcSkin"
  24. #pragma link "dxSkinsCore"
  25. #pragma resource "*.dfm"
  26. TVmsTestMain *VmsTestMain;
  27. //---------------------------------------------------------------------------
  28. __fastcall TVmsTestMain::TVmsTestMain(TComponent* Owner)
  29. : TForm(Owner)
  30. {
  31. }
  32. //---------------------------------------------------------------------------
  33. void __fastcall TVmsTestMain::Button12Click(TObject *Sender)
  34. {
  35. AnsiString sReqTime = Now().FormatString("yyyymmddhhnnss");
  36. VMS_REQ_ERR_NODL req;
  37. memset((char*)&req, 0x00, sizeof(req));
  38. String AOperId = "superadmin";
  39. String AVmsId = "VMS-010";
  40. strcpy(req.Control.OperId, AnsiString(AOperId).c_str()); /* 운영자 ID */
  41. strcpy(req.Control.VmsId, AnsiString(AVmsId).c_str()); /* VMS ID */
  42. //memcpy(req.Control.OperId, AnsiString(AOperId).c_str(), OPER_ID_SZ); /* 운영자 ID */
  43. //memcpy(req.Control.VmsId, AnsiString(AVmsId).c_str(), VMS_ID_SZ); /* VMS ID */
  44. memcpy(req.Control.ReqTime, sReqTime.c_str(), DATETIME_SZ); /* 명령수행시각 */
  45. req.Control.Command = 'M';
  46. req.ErrRate = 0;
  47. }
  48. //---------------------------------------------------------------------------
  49. void __fastcall TVmsTestMain::ExecuteVmsProgram(String AClassName, String AExeName)
  50. {
  51. bool isDbConn = true;
  52. String sAppPath = "";
  53. String sMagicId = "ICAIR";
  54. String sOperId = isDbConn ? "superadmin" : "direct";
  55. HWND hExeForm = FindWindow(AClassName.c_str(), NULL);
  56. if (hExeForm) {
  57. SetWindowPos(hExeForm, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE);
  58. ShowWindow(hExeForm, SW_RESTORE);
  59. }
  60. else {
  61. String sExeName = "";
  62. String sExeParam= "";
  63. if (sAppPath == "")
  64. {
  65. sExeName = AExeName;
  66. }
  67. else
  68. {
  69. sExeName = sAppPath + "\\" + AExeName;
  70. }
  71. sExeParam = sMagicId + " " + sOperId;
  72. ShellExecute(Handle, NULL, sExeName.c_str(), sExeParam.c_str(), NULL, SW_SHOWNORMAL);
  73. }
  74. }
  75. //---------------------------------------------------------------------------
  76. void __fastcall TVmsTestMain::BtrnReFormClearClick(TObject *Sender)
  77. {
  78. String VMS_FORM_ID = "P-0001";
  79. String OBJ_VMS_FORM_ID = VMS_FORM_ID.SubString(1, 6);
  80. String VMS_FORM_OBJ_ID = "";
  81. int newObjSeq = 1;
  82. VMS_FORM_OBJ_ID.printf(L"%s-%03d", OBJ_VMS_FORM_ID, newObjSeq++);
  83. }
  84. //---------------------------------------------------------------------------
  85. void __fastcall TVmsTestMain::Button2Click(TObject *Sender)
  86. {
  87. // VMS 메시지 관리
  88. ExecuteVmsProgram("TFrmVmsMsgFormMngr", "VmsMsgFormMngr.exe");
  89. }
  90. //---------------------------------------------------------------------------
  91. void __fastcall TVmsTestMain::BtnRunSymbMngrClick(TObject *Sender)
  92. {
  93. // VMS 이미지 관리
  94. ExecuteVmsProgram("TFrmVmsMsgSymbMngr", "VmsMsgSymbMngr.exe");
  95. }
  96. //---------------------------------------------------------------------------
  97. void __fastcall TVmsTestMain::Button1Click(TObject *Sender)
  98. {
  99. // VMS 스케쥴관리
  100. ExecuteVmsProgram("TFrmVmsMsgScheMngr", "VmsMsgScheMngr.exe");
  101. }
  102. //---------------------------------------------------------------------------
  103. void __fastcall TVmsTestMain::Button13Click(TObject *Sender)
  104. {
  105. // LCS 스케쥴관리
  106. ExecuteVmsProgram("TFrmVmsLcsScheMngr", "VmsLcsScheMngr.exe");
  107. }
  108. //---------------------------------------------------------------------------
  109. void __fastcall TVmsTestMain::Button3Click(TObject *Sender)
  110. {
  111. // VMS 대응 메시지 관리
  112. ExecuteVmsProgram("TFrmVmsMsgRespMngr", "VmsMsgRespMngr.exe");
  113. }
  114. //---------------------------------------------------------------------------
  115. void __fastcall TVmsTestMain::Button4Click(TObject *Sender)
  116. {
  117. // VMS 기본 메시지 관리
  118. ExecuteVmsProgram("TFrmVmsMsgDfltMngr", "VmsMsgDfltMngr.exe");
  119. }
  120. //---------------------------------------------------------------------------
  121. void __fastcall TVmsTestMain::Button8Click(TObject *Sender)
  122. {
  123. // VMS 홍보 메시지 관리
  124. ExecuteVmsProgram("TFrmVmsMsgPubrMngr", "VmsMsgPubrMngr.exe");
  125. }
  126. //---------------------------------------------------------------------------
  127. void __fastcall TVmsTestMain::Button10Click(TObject *Sender)
  128. {
  129. // VMS 긴급 메시지 관리
  130. ExecuteVmsProgram("TFrmVmsMsgEmgrMngr", "VmsMsgEmgrMngr.exe");
  131. }
  132. //---------------------------------------------------------------------------
  133. void __fastcall TVmsTestMain::Button5Click(TObject *Sender)
  134. {
  135. // VMS 메시지 수동표출
  136. ExecuteVmsProgram("TFrmVmsMsgUserDisp", "VmsMsgUserDisp.exe");
  137. }
  138. //---------------------------------------------------------------------------
  139. void __fastcall TVmsTestMain::Button6Click(TObject *Sender)
  140. {
  141. // VMS 원격제어
  142. ExecuteVmsProgram("TFrmVmsRemoteCtrl", "VmsRemoteCtrl.exe");
  143. }
  144. //---------------------------------------------------------------------------
  145. void __fastcall TVmsTestMain::Button7Click(TObject *Sender)
  146. {
  147. // VMS 메시지 수동표출(DB 오류)
  148. ExecuteVmsProgram("TFrmVmsMsgSendDisp", "VmsMsgSendDisp.exe");
  149. }
  150. //---------------------------------------------------------------------------
  151. void __fastcall TVmsTestMain::Button11Click(TObject *Sender)
  152. {
  153. // VMS 동영상 관리
  154. ExecuteVmsProgram("TFrmVmsMsgVideoMngr", "VmsMsgVideoMngr.exe");
  155. }
  156. //---------------------------------------------------------------------------
  157. void __fastcall TVmsTestMain::Button14Click(TObject *Sender)
  158. {
  159. // VMS 모듈 상태 모니터링
  160. ExecuteVmsProgram("TFrmVmsModuleStts", "VmsModuleStts.exe");
  161. }
  162. //---------------------------------------------------------------------------
  163. void __fastcall TVmsTestMain::Button9Click(TObject *Sender)
  164. {
  165. // VMS 표출 메시지 모니터링
  166. ExecuteVmsProgram("TFrmVmsMsgDsplPrst", "VmsMsgDsplPrst.exe");
  167. }
  168. //---------------------------------------------------------------------------
  169. void __fastcall TVmsTestMain::Button15Click(TObject *Sender)
  170. {
  171. // VMS 표출 시나리오 모니터링
  172. ExecuteVmsProgram("TFrmVmsMsgDsplSche", "VmsMsgDsplSche.exe");
  173. }
  174. //---------------------------------------------------------------------------
  175. void __fastcall TVmsTestMain::Button16Click(TObject *Sender)
  176. {
  177. // VMS 영상 모니터링
  178. ExecuteVmsProgram("TFrmVmsCmraViewer", "VmsCmraViewer.exe");
  179. }
  180. //---------------------------------------------------------------------------
  181. void __fastcall TVmsTestMain::Button17Click(TObject *Sender)
  182. {
  183. // 실행프로그램 종료
  184. // VMS 메시지 관리
  185. TermVmsProgram("TFrmVmsMsgFormMngr", "VMS 메시지 관리");
  186. // VMS 이미지 관리
  187. TermVmsProgram("TFrmVmsMsgSymbMngr", "VMS 이미지 관리");
  188. // VMS 스케쥴관리
  189. TermVmsProgram("TFrmVmsMsgScheMngr", "VMS 스케줄 관리");
  190. // LCS 스케쥴관리
  191. TermVmsProgram("TFrmVmsLcsScheMngr", "LCS 스케줄 관리");
  192. // VMS 대응 메시지 관리
  193. TermVmsProgram("TFrmVmsMsgRespMngr", "VMS 대응 메시지 관리");
  194. // VMS 기본 메시지 관리
  195. TermVmsProgram("TFrmVmsMsgDfltMngr", "VMS 기본 메시지 관리");
  196. // VMS 홍보 메시지 관리
  197. TermVmsProgram("TFrmVmsMsgPubrMngr", "VMS 홍보 메시지 관리");
  198. // VMS 긴급 메시지 관리
  199. TermVmsProgram("TFrmVmsMsgEmgrMngr", "VMS 긴급 메시지 관리");
  200. // VMS 메시지 수동표출
  201. TermVmsProgram("TFrmVmsMsgUserDisp", "VMS 메시지 수동표출");
  202. // VMS 원격제어
  203. TermVmsProgram("TFrmVmsRemoteCtrl", "VMS 원격제어");
  204. // VMS 메시지 수동표출(DB 오류)
  205. TermVmsProgram("TFrmVmsMsgSendDisp", "VMS 메시지 수동표출 - (DB 장애)");
  206. // VMS 동영상 관리
  207. TermVmsProgram("TFrmVmsMsgVideoMngr", "VMS 동영상 관리");
  208. // VMS 모듈 상태 모니터링
  209. TermVmsProgram("TFrmVmsModuleStts", "VMS 모듈 상태 모니터링");
  210. // VMS 표출 메시지 모니터링
  211. TermVmsProgram("TFrmVmsMsgDsplPrst", "VMS 표출 메시지 모니터링");
  212. // VMS 표출 시나리오 모니터링
  213. TermVmsProgram("TFrmVmsMsgDsplSche", "VMS 표출 시나리오 모니터링");
  214. // VMS 영상 모니터링
  215. TermVmsProgram("TFrmVmsCmraViewer", "VMS 영상 모니터링");
  216. }
  217. //---------------------------------------------------------------------------
  218. void __fastcall TVmsTestMain::TermVmsProgram(String AClassName, String AExeName)
  219. {
  220. HWND hExeForm = FindWindow(AClassName.c_str(), NULL);
  221. if (hExeForm) {
  222. ::PostMessage(hExeForm, WM_CLOSE, 0, 0);
  223. }
  224. }
  225. //---------------------------------------------------------------------------