IFM0070MF.cpp 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include "ITSSkinF.h"
  4. #include "ITSUtilF.h"
  5. #include "ITSDbF.h"
  6. #include "AppGlobalF.h"
  7. #include "WindowMsgF.h"
  8. #include "ITSLangTransF.h"
  9. #include "ITS_OPLibF.h"
  10. #pragma hdrstop
  11. #include "IFM0070MF.h"
  12. //---------------------------------------------------------------------------
  13. #pragma package(smart_init)
  14. #pragma link "cxButtons"
  15. #pragma link "cxCalendar"
  16. #pragma link "cxClasses"
  17. #pragma link "cxContainer"
  18. #pragma link "cxControls"
  19. #pragma link "cxCustomData"
  20. #pragma link "cxData"
  21. #pragma link "cxDataStorage"
  22. #pragma link "cxDropDownEdit"
  23. #pragma link "cxEdit"
  24. #pragma link "cxFilter"
  25. #pragma link "cxGraphics"
  26. #pragma link "cxGrid"
  27. #pragma link "cxGridCustomTableView"
  28. #pragma link "cxGridCustomView"
  29. #pragma link "cxGridLevel"
  30. #pragma link "cxGridTableView"
  31. #pragma link "cxLabel"
  32. #pragma link "cxLookAndFeelPainters"
  33. #pragma link "cxLookAndFeels"
  34. #pragma link "cxMaskEdit"
  35. #pragma link "cxPC"
  36. #pragma link "cxPCdxBarPopupMenu"
  37. #pragma link "cxSpinEdit"
  38. #pragma link "cxStyles"
  39. #pragma link "cxTextEdit"
  40. #pragma link "cxTimeEdit"
  41. #pragma link "dxSkinBlack"
  42. #pragma link "dxSkinBlue"
  43. #pragma link "dxSkinsCore"
  44. #pragma link "dxSkinscxPCPainter"
  45. #pragma link "dxSkinMcSkin"
  46. #pragma resource "*.dfm"
  47. TIFM0070M *IFM0070M = NULL;
  48. //---------------------------------------------------------------------------
  49. __fastcall TIFM0070M::TIFM0070M(TComponent* Owner)
  50. : TForm(Owner)
  51. {
  52. LangTrans->Translate(this, ITSDb_GetConnection());
  53. ITSSkin_Load(this);
  54. CMM_LoadForm(g_sFormsDir, this);
  55. FTitle = Caption;//"운영자 접속 이력조회";
  56. CbType->ItemIndex = 0;
  57. }
  58. //---------------------------------------------------------------------------
  59. void __fastcall TIFM0070M::FormShow(TObject *Sender)
  60. {
  61. PgList->ActivePageIndex = 0;
  62. // form 초기화
  63. FormInit();
  64. }
  65. //---------------------------------------------------------------------------
  66. void __fastcall TIFM0070M::FormInit()
  67. {
  68. ADOQry->Connection = ITSDb_GetConnection();
  69. m_pGDC = TvList->DataController;
  70. TvList->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<운영자 접속 이력 정보>";
  71. if (BtnSearch->Enabled)
  72. BtnSearch->SetFocus();
  73. }
  74. //---------------------------------------------------------------------------
  75. void __fastcall TIFM0070M::CommClose()
  76. {
  77. try
  78. {
  79. CMM_SaveForm(g_sFormsDir, this);
  80. }
  81. catch(...)
  82. {
  83. }
  84. }
  85. //---------------------------------------------------------------------------
  86. void __fastcall TIFM0070M::TmrRefreshTimer(TObject *Sender)
  87. {
  88. TmrRefresh->Enabled = false;
  89. }
  90. //---------------------------------------------------------------------------
  91. void __fastcall TIFM0070M::BtnExlSaveClick(TObject *Sender)
  92. {
  93. TcxGrid *pGrid = CxList;
  94. TcxGridTableView *pView = TvList;
  95. String sTitle= lblFacility->Caption;
  96. CMM_ExportToExcelFile(sTitle, pGrid, pView, this);
  97. }
  98. //---------------------------------------------------------------------------
  99. void __fastcall TIFM0070M::BtnSearchClick(TObject *Sender)
  100. {
  101. Application->ProcessMessages();
  102. TSqlCursor sqlCrs((TControl*)BtnSearch);
  103. RefreshData();
  104. }
  105. //---------------------------------------------------------------------------
  106. void __fastcall TIFM0070M::RefreshData()
  107. {
  108. CMM_ClearGridTableView(TvList);
  109. try
  110. {
  111. ADOQry->Connection = ITSDb_GetConnection();
  112. m_pGDC = TvList->DataController;
  113. TvList->BeginUpdate();
  114. lblFacility->Caption = CbType->Text.Trim();
  115. int nSelType = CbType->ItemIndex;
  116. if (nSelType == 5)
  117. {
  118. Column12->Visible = false; // IP Address
  119. Column13->Visible = true; // 교차로
  120. Column03->Visible = false; // 시설물명
  121. Column04->Visible = false;
  122. Column01->Visible = false;
  123. Column07->Visible = false;
  124. Column08->Visible = false;
  125. Column09->Visible = false;
  126. Column10->Visible = false;
  127. Column02->Caption = "교차로 ID";
  128. }
  129. else
  130. {
  131. Column12->Visible = true; // IP Address
  132. Column13->Visible = false; // 교차로
  133. Column04->Visible = true;
  134. Column03->Visible = true; // 시설물명
  135. Column01->Visible = true;
  136. Column07->Visible = true;
  137. Column08->Visible = true;
  138. Column09->Visible = true;
  139. Column10->Visible = true;
  140. Column02->Caption = "시설물 ID";
  141. }
  142. if (nSelType == 6)
  143. {
  144. Column01->Visible = false; // 관리번호
  145. Column13->Visible = true; // 교차로명
  146. }
  147. if (nSelType == 7)
  148. {
  149. Column07->Visible = false; // 모델명
  150. Column12->Visible = false;
  151. }
  152. switch(nSelType)
  153. {
  154. case 0: SelCctv(); break; //CCTV
  155. case 1: SelVms(); break; //VMS
  156. case 2: SelVds(); break; //VDS
  157. case 3: SelWCam(); break; //웹카메라
  158. case 4: SelDsrc(); break; //DSRC
  159. case 5: SelCrs(); break; //교차로교통량 교차로
  160. case 6: SelCrsCam(); break; //교차로교통량 카메라
  161. case 7: SelPrkPlce(); break; //주차장
  162. default: return;
  163. }
  164. }
  165. __finally
  166. {
  167. TvList->EndUpdate();
  168. TvList->ApplyBestFit(NULL, false, false);
  169. CxList->SetFocus();
  170. LblRecords->Caption = FormatFloat("##,##0", m_pGDC->RecordCount) + FrmLang->lblEA->Caption;//" 건";
  171. String sEnd = FrmLang->lblQrySel->Caption + " [" + LblRecords->Caption + "]";//"데이터 " + LblRecords->Caption + " 이 조회 되었습니다.";
  172. Application->MessageBox(sEnd.c_str(),
  173. FrmLang->lblQryEnd->Caption.c_str(),//L"데이터 조회 완료",
  174. MB_OK|MB_ICONINFORMATION|MB_APPLMODAL);
  175. }
  176. }
  177. //---------------------------------------------------------------------------
  178. void __fastcall TIFM0070M::SelCctv()
  179. {
  180. String sQry;
  181. TADOQuery *pADO = ADOQry;
  182. sQry = "SELECT X.CCTV_MNGM_NMBR AS FCLT_NMBR, \r\n"
  183. " X.CCTV_CTLR_ID AS FCLT_ID, \r\n"
  184. " X.ISTL_LCTN_NM AS LCTN_NM, \r\n"
  185. " X.ISTL_LCTN_ADDR AS LCTN_ADDR, \r\n"
  186. " X.X_CRDN AS X_CRDN, \r\n"
  187. " X.Y_CRDN AS Y_CRDN, \r\n"
  188. " 'CCTV' AS FCLT_TYPE_NM, \r\n"
  189. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  190. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  191. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  192. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  193. " X.CCTV_CTLR_IP AS IP_ADDR, \r\n"
  194. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  195. " FROM TB_CCTV_CTLR X, \r\n"
  196. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  197. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  198. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  199. " FROM TB_FCLT_INFR A \r\n"
  200. " )Y \r\n"
  201. " WHERE 1 = 1 \r\n"
  202. " AND Y.FCLT_TYPE = 'CCTV' \r\n"
  203. " AND X.DEL_YN = 'N' \r\n"
  204. " AND X.CCTV_CTLR_ID = Y.FCLT_ID(+) \r\n"
  205. " ORDER BY X.CCTV_MNGM_NMBR \r\n";
  206. int nRow = 0;
  207. try
  208. {
  209. ITSDb_SQLText(pADO, sQry);
  210. ITSDb_SQLOpen(pADO);
  211. m_pGDC->RecordCount = pADO->RecordCount;
  212. for( ; !pADO->Eof; pADO->Next(), nRow++)
  213. {
  214. m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  215. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  216. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  217. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  218. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  219. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  220. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  221. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  222. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  223. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  224. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  225. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  226. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  227. }
  228. }
  229. catch(EDatabaseError &E)
  230. {
  231. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  232. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  233. throw Exception(String(E.ClassName()) + E.Message);
  234. }
  235. catch(Exception &e)
  236. {
  237. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  238. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  239. throw Exception(String(e.ClassName()) + e.Message);
  240. }
  241. }
  242. //---------------------------------------------------------------------------
  243. void __fastcall TIFM0070M::SelVms()
  244. {
  245. String sQry;
  246. TADOQuery *pADO = ADOQry;
  247. sQry = "SELECT X.VMS_CTLR_NMBR AS FCLT_NMBR, \r\n"
  248. " X.VMS_CTLR_ID AS FCLT_ID, \r\n"
  249. " X.VMS_NM AS LCTN_NM, \r\n"
  250. " X.ISTL_LCTN_ADDR AS LCTN_ADDR, \r\n"
  251. " X.X_CRDN AS X_CRDN, \r\n"
  252. " X.Y_CRDN AS Y_CRDN, \r\n"
  253. " 'VMS' AS FCLT_TYPE_NM, \r\n"
  254. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  255. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  256. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  257. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  258. " X.VMS_CTLR_IP AS IP_ADDR, \r\n"
  259. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  260. " FROM TB_VMS_CTLR X, \r\n"
  261. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  262. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  263. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  264. " FROM TB_FCLT_INFR A \r\n"
  265. " )Y \r\n"
  266. " WHERE 1 = 1 \r\n"
  267. " AND Y.FCLT_TYPE = 'VMS' \r\n"
  268. " AND X.DEL_YN = 'N' \r\n"
  269. " AND X.VMS_CTLR_ID = Y.FCLT_ID(+) \r\n"
  270. " ORDER BY X.VMS_CTLR_NMBR \r\n";
  271. int nRow = 0;
  272. try
  273. {
  274. ITSDb_SQLText(pADO, sQry);
  275. ITSDb_SQLOpen(pADO);
  276. m_pGDC->RecordCount = pADO->RecordCount;
  277. for( ; !pADO->Eof; pADO->Next(), nRow++)
  278. {
  279. m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  280. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  281. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  282. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  283. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  284. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  285. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  286. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  287. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  288. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  289. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  290. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  291. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  292. }
  293. }
  294. catch(EDatabaseError &E)
  295. {
  296. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  297. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  298. throw Exception(String(E.ClassName()) + E.Message);
  299. }
  300. catch(Exception &e)
  301. {
  302. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  303. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  304. throw Exception(String(e.ClassName()) + e.Message);
  305. }
  306. }
  307. //---------------------------------------------------------------------------
  308. void __fastcall TIFM0070M::SelVds()
  309. {
  310. String sQry;
  311. TADOQuery *pADO = ADOQry;
  312. sQry = "SELECT X.VDS_CTLR_NMBR AS FCLT_NMBR, \r\n"
  313. " X.VDS_CTLR_ID AS FCLT_ID, \r\n"
  314. " X.VDS_NM AS LCTN_NM, \r\n"
  315. " X.ISTL_LCTN_ADDR AS LCTN_ADDR, \r\n"
  316. " X.X_CRDN AS X_CRDN, \r\n"
  317. " X.Y_CRDN AS Y_CRDN, \r\n"
  318. " 'VDS' AS FCLT_TYPE_NM, \r\n"
  319. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  320. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  321. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  322. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  323. " X.VDS_CTLR_IP AS IP_ADDR, \r\n"
  324. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  325. " FROM TB_VDS_CTLR X, \r\n"
  326. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  327. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  328. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  329. " FROM TB_FCLT_INFR A \r\n"
  330. " )Y \r\n"
  331. " WHERE 1 = 1 \r\n"
  332. " AND Y.FCLT_TYPE = 'VDS' \r\n"
  333. " AND X.DEL_YN = 'N' \r\n"
  334. " AND X.VDS_CTLR_ID = Y.FCLT_ID(+) \r\n"
  335. " ORDER BY X.VDS_CTLR_NMBR \r\n";
  336. int nRow = 0;
  337. try
  338. {
  339. ITSDb_SQLText(pADO, sQry);
  340. ITSDb_SQLOpen(pADO);
  341. m_pGDC->RecordCount = pADO->RecordCount;
  342. for( ; !pADO->Eof; pADO->Next(), nRow++)
  343. {
  344. m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  345. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  346. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  347. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  348. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  349. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  350. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  351. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  352. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  353. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  354. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  355. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  356. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  357. }
  358. }
  359. catch(EDatabaseError &E)
  360. {
  361. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  362. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  363. throw Exception(String(E.ClassName()) + E.Message);
  364. }
  365. catch(Exception &e)
  366. {
  367. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  368. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  369. throw Exception(String(e.ClassName()) + e.Message);
  370. }
  371. }
  372. //---------------------------------------------------------------------------
  373. void __fastcall TIFM0070M::SelWCam()
  374. {
  375. String sQry;
  376. TADOQuery *pADO = ADOQry;
  377. sQry = "SELECT X.WCAM_CTLR_NMBR AS FCLT_NMBR, \r\n"
  378. " X.WCAM_CTLR_ID AS FCLT_ID, \r\n"
  379. " X.WCAM_NM AS LCTN_NM, \r\n"
  380. " X.ISTL_LCTN_ADDR AS LCTN_ADDR, \r\n"
  381. " X.X_CRDN AS X_CRDN, \r\n"
  382. " X.Y_CRDN AS Y_CRDN, \r\n"
  383. " X.WCAM_CTLR_IP AS IP_ADDR, \r\n"
  384. " (SELECT CMMN_CD_KOR_NM \r\n"
  385. " FROM TB_CMMN_CD \r\n"
  386. " WHERE CMMN_CLSF_CD = 'WCAM' \r\n"
  387. " AND CMMN_CD = X.WCAM_TYPE_CD) AS FCLT_TYPE_NM, \r\n"
  388. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  389. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  390. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  391. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  392. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  393. " FROM TB_WCAM_CTLR X, \r\n"
  394. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  395. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  396. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  397. " FROM TB_FCLT_INFR A \r\n"
  398. " )Y \r\n"
  399. " WHERE 1 = 1 \r\n"
  400. " AND Y.FCLT_TYPE = X.WCAM_TYPE_CD \r\n"
  401. " AND X.DEL_YN = 'N' \r\n"
  402. " AND X.WCAM_CTLR_ID = Y.FCLT_ID(+) \r\n"
  403. " ORDER BY X.WCAM_CTLR_NMBR \r\n";
  404. int nRow = 0;
  405. try
  406. {
  407. ITSDb_SQLText(pADO, sQry);
  408. ITSDb_SQLOpen(pADO);
  409. m_pGDC->RecordCount = pADO->RecordCount;
  410. for( ; !pADO->Eof; pADO->Next(), nRow++)
  411. {
  412. m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  413. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  414. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  415. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  416. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  417. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  418. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  419. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  420. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  421. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  422. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  423. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  424. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  425. }
  426. }
  427. catch(EDatabaseError &E)
  428. {
  429. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  430. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  431. throw Exception(String(E.ClassName()) + E.Message);
  432. }
  433. catch(Exception &e)
  434. {
  435. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  436. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  437. throw Exception(String(e.ClassName()) + e.Message);
  438. }
  439. }
  440. //---------------------------------------------------------------------------
  441. void __fastcall TIFM0070M::SelDsrc()
  442. {
  443. String sQry;
  444. TADOQuery *pADO = ADOQry;
  445. sQry = "SELECT X.ID AS FCLT_NMBR, \r\n"
  446. " X.RSE_ID AS FCLT_ID, \r\n"
  447. " X.ISTL_LCTN_NM AS LCTN_NM, \r\n"
  448. " Y.ISTL_LCTN_ADDR AS LCTN_ADDR, \r\n"
  449. " X.LCTN_X AS X_CRDN, \r\n"
  450. " X.LCTN_Y AS Y_CRDN, \r\n"
  451. " 'DSRC' AS FCLT_TYPE_NM, \r\n"
  452. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  453. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  454. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  455. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  456. " X.IP AS IP_ADDR, \r\n"
  457. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  458. " FROM TB_RSE_MSTR X, \r\n"
  459. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  460. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  461. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  462. " FROM TB_FCLT_INFR A \r\n"
  463. " )Y \r\n"
  464. " WHERE 1 = 1 \r\n"
  465. " AND Y.FCLT_TYPE = 'DSRC' \r\n"
  466. " AND X.DEL_YN = 'N' \r\n"
  467. " AND X.RSE_ID = Y.FCLT_ID(+) \r\n"
  468. " ORDER BY X.RSE_ID \r\n";
  469. int nRow = 0;
  470. try
  471. {
  472. ITSDb_SQLText(pADO, sQry);
  473. ITSDb_SQLOpen(pADO);
  474. m_pGDC->RecordCount = pADO->RecordCount;
  475. for( ; !pADO->Eof; pADO->Next(), nRow++)
  476. {
  477. m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  478. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  479. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  480. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  481. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  482. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  483. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  484. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  485. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  486. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  487. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  488. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  489. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  490. }
  491. }
  492. catch(EDatabaseError &E)
  493. {
  494. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  495. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  496. throw Exception(String(E.ClassName()) + E.Message);
  497. }
  498. catch(Exception &e)
  499. {
  500. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  501. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  502. throw Exception(String(e.ClassName()) + e.Message);
  503. }
  504. }
  505. //---------------------------------------------------------------------------
  506. void __fastcall TIFM0070M::SelCrs()
  507. {
  508. String sQry;
  509. TADOQuery *pADO = ADOQry;
  510. sQry = "SELECT X.CROSS_ID AS FCLT_NMBR, \r\n"
  511. " X.CROSS_ID AS FCLT_ID, \r\n"
  512. " X.NAME AS LCTN_NM, \r\n"
  513. " X.NAME AS LCTN_ADDR, \r\n"
  514. " X.X AS X_CRDN, \r\n"
  515. " X.Y AS Y_CRDN, \r\n"
  516. " '교통량 교차로' AS FCLT_TYPE_NM \r\n"
  517. " FROM MST_CROSS X \r\n"
  518. " WHERE 1 = 1 \r\n"
  519. " AND X.DEL_YN = 'N' \r\n"
  520. " ORDER BY X.CROSS_ID \r\n";
  521. int nRow = 0;
  522. try
  523. {
  524. ITSDb_SQLText(pADO, sQry);
  525. ITSDb_SQLOpen(pADO);
  526. m_pGDC->RecordCount = pADO->RecordCount;
  527. for( ; !pADO->Eof; pADO->Next(), nRow++)
  528. {
  529. //m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  530. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  531. m_pGDC->Values[nRow][Column13->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  532. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  533. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  534. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  535. }
  536. }
  537. catch(EDatabaseError &E)
  538. {
  539. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  540. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  541. throw Exception(String(E.ClassName()) + E.Message);
  542. }
  543. catch(Exception &e)
  544. {
  545. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  546. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  547. throw Exception(String(e.ClassName()) + e.Message);
  548. }
  549. }
  550. //---------------------------------------------------------------------------
  551. void __fastcall TIFM0070M::SelCrsCam()
  552. {
  553. String sQry;
  554. TADOQuery *pADO = ADOQry;
  555. sQry = "SELECT X.CROSS_ID AS FCLT_NMBR, \r\n"
  556. " X.CAM_ID AS FCLT_ID, \r\n"
  557. " X.CROSS_NM AS CROSS_NM, \r\n"
  558. " X.CAM_NM AS CAM_NM, \r\n"
  559. " X.X_CRDN AS X_CRDN, \r\n"
  560. " X.Y_CRDN AS Y_CRDN, \r\n"
  561. " '교통량 카메라' AS FCLT_TYPE_NM, \r\n"
  562. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  563. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  564. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  565. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  566. " X.IP AS IP_ADDR, \r\n"
  567. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  568. " FROM (SELECT A.CROSS_ID, A.NAME AS CROSS_NM, \r\n"
  569. " B.CAM_ID, B.NAME AS CAM_NM, B.IP, \r\n"
  570. " C.X AS X_CRDN, C.Y AS Y_CRDN \r\n"
  571. " FROM MST_CROSS A, MST_CCAM B, MST_CCAM_ACCESS C \r\n"
  572. " WHERE A.DEL_YN = 'N' \r\n"
  573. " AND B.DEL_YN = 'N' \r\n"
  574. " AND A.CROSS_ID = B.CROSS_ID \r\n"
  575. " AND B.CAM_ID = C.CAM_ID) X, \r\n"
  576. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  577. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  578. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  579. " FROM TB_FCLT_INFR A \r\n"
  580. " )Y \r\n"
  581. " WHERE 1 = 1 \r\n"
  582. " AND Y.FCLT_TYPE = 'CRSCAM' \r\n"
  583. " AND X.CAM_ID = Y.FCLT_ID(+) \r\n"
  584. " ORDER BY X.CROSS_ID, X.CAM_ID \r\n";
  585. int nRow = 0;
  586. try
  587. {
  588. ITSDb_SQLText(pADO, sQry);
  589. ITSDb_SQLOpen(pADO);
  590. m_pGDC->RecordCount = pADO->RecordCount;
  591. for( ; !pADO->Eof; pADO->Next(), nRow++)
  592. {
  593. //m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  594. m_pGDC->Values[nRow][Column13->Index] = pADO->FieldByName("CROSS_NM")->AsString;
  595. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  596. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("CAM_NM")->AsString;
  597. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  598. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  599. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  600. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  601. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  602. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  603. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  604. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  605. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  606. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  607. }
  608. }
  609. catch(EDatabaseError &E)
  610. {
  611. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  612. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  613. throw Exception(String(E.ClassName()) + E.Message);
  614. }
  615. catch(Exception &e)
  616. {
  617. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  618. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  619. throw Exception(String(e.ClassName()) + e.Message);
  620. }
  621. }
  622. //---------------------------------------------------------------------------
  623. void __fastcall TIFM0070M::SelPrkPlce()
  624. {
  625. String sQry;
  626. TADOQuery *pADO = ADOQry;
  627. sQry = "SELECT X.PRK_PLCE_NMBR AS FCLT_NMBR, \r\n"
  628. " X.PRK_PLCE_MANAGE_NO AS FCLT_ID, \r\n"
  629. " X.PRK_PLCE_NM AS LCTN_NM, \r\n"
  630. " X.PRK_PLCE_ADRES AS LCTN_ADDR, \r\n"
  631. " TO_NUMBER(X.PRK_PLCE_ENTRC_LO) AS X_CRDN, \r\n"
  632. " TO_NUMBER(X.PRK_PLCE_ENTRC_LA) AS Y_CRDN, \r\n"
  633. " 'PARK' AS FCLT_TYPE_NM, \r\n"
  634. " Y.ISTL_LCTN_ADDR AS FCLT_ISTL_LCTN_ADDR, \r\n"
  635. " Y.ISTL_CMPY_NM AS FCLT_ISTL_CMPY_NM, \r\n"
  636. " Y.MNFC_CMPY_NM AS FCLT_MNFC_CMPY_NM, \r\n"
  637. " Y.MDL_NM AS FCLT_MDL_NM, \r\n"
  638. " '0.0.0.0' AS IP_ADDR, \r\n"
  639. " Y.ISTL_DT AS FCLT_ISTL_DT \r\n"
  640. " FROM TB_PRK_PLCE X, \r\n"
  641. " (SELECT A.FCLT_ID, A.FCLT_TYPE, A.FCLT_LCTN, A.MDL_NM, A.ISTL_DT, A.ISTL_LCTN_ADDR, \r\n"
  642. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = ISTL_CMPY_ID) AS ISTL_CMPY_NM, \r\n"
  643. " (SELECT CMPY_NM FROM TB_FCLT_CMPY WHERE CMPY_ID = MNFC_CMPY_ID) AS MNFC_CMPY_NM \r\n"
  644. " FROM TB_FCLT_INFR A \r\n"
  645. " ) Y \r\n"
  646. " WHERE 1 = 1 \r\n"
  647. " AND Y.FCLT_TYPE = 'PARK' \r\n"
  648. //" AND X.PIS_TYPE != 'N' \r\n"
  649. " AND X.DEL_YN = 'N' \r\n"
  650. " AND X.PRK_PLCE_MANAGE_NO = Y.FCLT_ID(+) \r\n"
  651. " ORDER BY X.PRK_PLCE_NMBR \r\n";
  652. int nRow = 0;
  653. try
  654. {
  655. ITSDb_SQLText(pADO, sQry);
  656. ITSDb_SQLOpen(pADO);
  657. m_pGDC->RecordCount = pADO->RecordCount;
  658. for( ; !pADO->Eof; pADO->Next(), nRow++)
  659. {
  660. m_pGDC->Values[nRow][Column01->Index] = pADO->FieldByName("FCLT_NMBR")->AsString;
  661. m_pGDC->Values[nRow][Column02->Index] = pADO->FieldByName("FCLT_ID")->AsString;
  662. m_pGDC->Values[nRow][Column03->Index] = pADO->FieldByName("LCTN_NM")->AsString;
  663. m_pGDC->Values[nRow][Column04->Index] = pADO->FieldByName("FCLT_ISTL_LCTN_ADDR")->AsString;
  664. m_pGDC->Values[nRow][Column05->Index] = FormatFloat("###.#######0", pADO->FieldByName("X_CRDN")->AsFloat);
  665. m_pGDC->Values[nRow][Column06->Index] = FormatFloat("###.#######0", pADO->FieldByName("Y_CRDN")->AsFloat);
  666. m_pGDC->Values[nRow][Column07->Index] = pADO->FieldByName("FCLT_MDL_NM")->AsString;
  667. String ISTL_DT = pADO->FieldByName("FCLT_ISTL_DT")->AsString;
  668. m_pGDC->Values[nRow][Column08->Index] = APP_FormatStr(ISTL_DT, STR_DATE);
  669. m_pGDC->Values[nRow][Column09->Index] = pADO->FieldByName("FCLT_MNFC_CMPY_NM")->AsString;
  670. m_pGDC->Values[nRow][Column10->Index] = pADO->FieldByName("FCLT_ISTL_CMPY_NM")->AsString;
  671. m_pGDC->Values[nRow][Column11->Index] = pADO->FieldByName("FCLT_TYPE_NM")->AsString;
  672. m_pGDC->Values[nRow][Column12->Index] = pADO->FieldByName("IP_ADDR")->AsString;
  673. }
  674. }
  675. catch(EDatabaseError &E)
  676. {
  677. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  678. DBERRORMSG(Caption, String(E.ClassName()), E.Message, sQry);
  679. throw Exception(String(E.ClassName()) + E.Message);
  680. }
  681. catch(Exception &e)
  682. {
  683. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  684. DBERRORMSG(Caption, String(e.ClassName()), e.Message, sQry);
  685. throw Exception(String(e.ClassName()) + e.Message);
  686. }
  687. }
  688. //---------------------------------------------------------------------------
  689. void __fastcall TIFM0070M::BtnCloseClick(TObject *Sender)
  690. {
  691. Close();
  692. }
  693. //---------------------------------------------------------------------------
  694. void __fastcall TIFM0070M::FormClose(TObject *Sender, TCloseAction &Action)
  695. {
  696. CommClose();
  697. IFM0070M = NULL;
  698. Action = caFree;
  699. }
  700. //---------------------------------------------------------------------------
  701. void __fastcall TIFM0070M::OnMessage(TMessage &Msg)
  702. {
  703. switch (Msg.Msg)
  704. {
  705. case WM_PARAM_DATABASE:
  706. if (WP_DB_SELECT_OK == Msg.WParam)
  707. {
  708. //ShowMessage("Select Ok");
  709. }
  710. break;
  711. }
  712. }
  713. //---------------------------------------------------------------------------
  714. void __fastcall TIFM0070M::TvListDataControllerFilterChanged(TObject *Sender)
  715. {
  716. CMM_SetFilterLike(TvList);
  717. }
  718. //---------------------------------------------------------------------------