//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "CDSTrafficGradeF.h" #include "CDSFacilityF.h" #include "CDSIncidentF.h" #include "CDSTrafficF.h" #include "CDSParkingF.h" #pragma hdrstop #include "ITS00MAPF.h" #include "ITS0000MF.h" #include "FrmCctvImgF.h" #include "FrmVmsMsgF.h" #include "FrmLinkInfoF.h" #include "FrmGisSearchF.h" #include "FrmMainF.h" #include "CommFlashF.h" #include "FrmStreamPlayerF.h" #include "FrmParkMsgF.h" //#include "BDS0000MF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "ShockwaveEx" #pragma link "ShockwaveFlashObjects_TLB" #pragma link "cxCheckBox" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxProgressBar" #pragma link "cxSpinEdit" #pragma link "cxTextEdit" #pragma link "dxGDIPlusClasses" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma resource "*.dfm" //--------------------------------------------------------------------------- TITS00MAP *ITS00MAP = NULL; String g_sTrafficSql[MAX_LAYERS] = { "0************************************************************************\r\n", "1************************************************************************\r\n", "SELECT A.ROAD_ID AS LINKID, NVL(B.SPED, 0) AS SPEED, \r\n" " NVL(B.PRCN_DT, '19000101000000') AS REGDATE, \r\n" " NVL(B.DATA_NUM, 0) AS DATACNT, \r\n" " NVL(B.TRVL_HH, 0) AS TRVTM \r\n" " FROM TB_ROAD A, \r\n" " (SELECT * \r\n" " FROM TB_ROAD_TRAF \r\n" " WHERE PRCN_DT > TO_CHAR(SYSDATE - 5 / 1440, 'YYYYMMDDHH24MISS') \r\n" " ) B \r\n" " WHERE A.ROAD_ID = B.ROAD_ID(+) \r\n", "SELECT A.IFSC_ID AS LINKID, NVL(B.SPED, 0) AS SPEED, \r\n" " NVL(B.PRCN_DT, '19000101000000') AS REGDATE, \r\n" " NVL(B.DATA_NUM, 0) AS DATACNT, \r\n" " NVL(B.TRVL_HH, 0) AS TRVTM \r\n" " FROM TB_IFSC A, \r\n" " (SELECT * \r\n" " FROM TB_IFSC_TRAF \r\n" " WHERE PRCN_DT > TO_CHAR(SYSDATE - 5 / 1440, 'YYYYMMDDHH24MISS') \r\n" " ) B \r\n" " WHERE A.IFSC_ID = B.IFSC_ID(+) \r\n", "4************************************************************************\r\n", "SELECT A.LINK_ID AS LINKID, NVL(B.SPED, 0) AS SPEED, \r\n" " NVL(B.PRCN_DT, '19000101000000') AS REGDATE, \r\n" " NVL(B.DATA_NUM, 0) AS DATACNT, \r\n" " NVL(B.TRVL_HH, 0) AS TRVTM \r\n" " FROM TB_LINK A, \r\n" " (SELECT * \r\n" " FROM TB_LINK_TRAF \r\n" " WHERE PRCN_DT > TO_CHAR(SYSDATE - 5 / 1440, 'YYYYMMDDHH24MISS') \r\n" " ) B \r\n" " WHERE A.LINK_ID = B.LINK_ID(+) \r\n", "6************************************************************************\r\n", }; //--------------------------------------------------------------------------- __fastcall TITS00MAP::TITS00MAP(TComponent* Owner, TForm *ParentForm) : TForm(Owner) { ::CoInitialize(NULL); ITSSkin_Load(this); LoadLocalSkin(); ShockwaveFlash1->Align = alClient; panRemark->Visible = false; m_nMapLevel = 1; //¸¶¿ì½º Á¦¾î Ç÷¡±× ÃʱâÈ­ m_bMouseDown = false; m_bMoveCenter = false; m_bCalcMode = false; m_bCalcCont = false; m_ptDown.x = m_ptDown.y = 0; MapInit = false; MapStart = false; ModeSelect = false; LoadConfig(); //LoadMap(); } //--------------------------------------------------------------------------- /* * ȯ°æ¼³Á¤Á¤º¸ ·Îµù * * arguments * * return * void */ void __fastcall TITS00MAP::LoadConfig() { #if 0 TIniFile *pIniFile = NULL; String sIniFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".ini"); String sCfgFile = ExtractFilePath(Application->ExeName) + "\\cfg\\" + sIniFile; try { try { pIniFile = new TIniFile(sCfgFile); // Ç¥ÃâÀ̹ÌÁö ·Îµù //LoadImageFile(pIniFile->ReadString("IMAGE", "CENTER", ""), ImgOffice); LoadImageFile(pIniFile->ReadString("IMAGE", "RSE_N", ""), ImgRseN); LoadImageFile(pIniFile->ReadString("IMAGE", "RSE_C", ""), ImgRseC); LoadImageFile(pIniFile->ReadString("IMAGE", "CCTV_N", ""), ImgCctvN); LoadImageFile(pIniFile->ReadString("IMAGE", "CCTV_C", ""), ImgCctvC); LoadImageFile(pIniFile->ReadString("IMAGE", "CCTV_M", ""), ImgCctvM); LoadImageFile(pIniFile->ReadString("IMAGE", "VMS_N", ""), ImgVmsN); LoadImageFile(pIniFile->ReadString("IMAGE", "VMS_C", ""), ImgVmsC); LoadImageFile(pIniFile->ReadString("IMAGE", "VMS_M", ""), ImgVmsM); LoadImageFile(pIniFile->ReadString("IMAGE", "INC_01", ""), ImgInc01); LoadImageFile(pIniFile->ReadString("IMAGE", "INC_02", ""), ImgInc02); LoadImageFile(pIniFile->ReadString("IMAGE", "INC_03", ""), ImgInc03); LoadImageFile(pIniFile->ReadString("IMAGE", "INC_04", ""), ImgInc04); } __finally { if (pIniFile) delete pIniFile; pIniFile = NULL; } } catch(...) { } #endif } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::LoadImageFile(String sImgFile, TImage *pImage) { if (sImgFile.Trim() == "") return; try { ImgTemp->Picture->Assign(NULL); ImgTemp->Picture->LoadFromFile(sImgFile); pImage->Picture->Assign(pImage->Picture); ImgTemp->Picture->Assign(NULL); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::LoadMap() { try { ShockwaveFlash1->Stop(); String sFileName = g_AppCfg.flashmap.sMainMap; ShockwaveFlash1->Movie = sFileName; ShockwaveFlash1->Play(); MapInit = true; } catch(...) {} } //--------------------------------------------------------------------------- /* * ¸ÞÀÎÈ­¸é FormDestroy½Ã È£ÃâµÇ´Â Method * FormÀÇ ÀÚ¿øÀÌ ÇØÁ¦ µÇ±â ÀÌÀü¿¡ ¹Ýµå½Ã ÀÌ Method°¡ È£ÃâµÈ´Ù. * ±×·¯¹Ç·Î ÃÖÁ¾ÀûÀ¸·Î ÀÚ¿øÀ» ÇØÁ¦ ÇϰíÀÚ ÇÑ´Ù¸é À̰÷¿¡¼­ ó¸®ÇÏ´Â°Ô È®½ÇÇÔ. * parameter * Sender : Event¸¦ º¸³½ °´Ã¼ * return * None */ void __fastcall TITS00MAP::FormDestroy(TObject *Sender) { try { } catch (...) { } ::CoUninitialize(); } //--------------------------------------------------------------------------- /* * formÀ» º¸¿©ÁÙ¶§ È£ÃâµÇ´Â event ¸Þ¼­µåÀÌ´Ù. * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TITS00MAP::FormShow(TObject *Sender) { Refresh(); FormInit(); Application->ProcessMessages(); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- /* * ´Ý±â¹öư À̳ª x¹öư Ŭ¸¯½Ã °øÅëÀ¸·Î ó¸®ÇÏ´Â ·ÎÁ÷À̵é¾î°£´Ù.. * Form°ú DataModule class¸¦ delete½ÃŲ´Ù. * arguments * * return * void */ void __fastcall TITS00MAP::CommClose() { //ITS00MAP = NULL; //::CoUninitialize(); } //--------------------------------------------------------------------------- /* * FormÀÇ ÃʱâÈ­ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. * arguments * void * return * void */ bool __fastcall TITS00MAP::FormInit() { memset((char*)&m_PrevExt, 0x00, sizeof(m_PrevExt)); memset((char*)&m_ExtQ, 0x00, sizeof(m_ExtQ)); m_ExtQ.bExtent = true; m_ExtQ.userIdx = 0; m_ExtQ.currIdx = 0; return true; } //--------------------------------------------------------------------------- /* * FormÀÇ Skin ÃʱâÈ­ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. * arguments * void * return * void */ void __fastcall TITS00MAP::LoadLocalSkin() { #if 0 GroupBox1->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm); GroupBox2->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm); GrpFacility->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm); GrpPos->Color = FrmMain->Ribbon->ColorScheme->GetPartColor(rfspRibbonForm); #endif //PnlMenu->ParentColor = false; //PnlMenu->Color = 0x00FF9D62; PnlTrf00->ParentColor = false; PnlTrf00->Color = clSilver; PnlTrf01->ParentColor = false; PnlTrf01->Color = clLime; PnlTrf02->ParentColor = false; PnlTrf02->Color = clYellow; PnlTrf03->ParentColor = false; PnlTrf03->Color = clRed; /* * GIS Command button skin */ TImage *pImgZoomIn_n; TImage *pImgZoomIn_c; TImage *pImgCenter_n; TImage *pImgCenter_c; TImage *pImgPrev_c; TImage *pImgPrev_n; TImage *pImgSel_n; TImage *pImgSel_c; TImage *pImgDist_n; TImage *pImgCircle_c; TImage *pImgCircle_n; TImage *pImgDist_c; TImage *pImgStnd_n; TImage *pImgSave_c; TImage *pImgSave_n; TImage *pImgStnd_c; TImage *pImgZoomOut_n; TImage *pImgZoomOut_c; TImage *pImgPan_c; TImage *pImgPan_n; TImage *pImgNext_n; TImage *pImgNext_c; TImage *pImgBoundary_c; TImage *pImgBoundary_n; TImage *pImgSquare_n; TImage *pImgSquare_c; TImage *pImgFull_c; TImage *pImgFull_n; TImage *pImgRefresh_n; TImage *pImgRefresh_c; TImage *pImgPrint_c; TImage *pImgPrint_n; int nSkin = 1; switch (nSkin) { case 10: pImgZoomIn_n = ImgZoomIn_c; pImgZoomIn_c = ImgZoomIn_n; pImgZoomOut_n = ImgZoomOut_c; pImgZoomOut_c = ImgZoomOut_n; pImgCenter_n = ImgCenter_c; pImgCenter_c = ImgCenter_n; pImgPan_c = ImgPan_n; pImgPan_n = ImgPan_c; pImgPrev_c = ImgPrev_n; pImgPrev_n = ImgPrev_c; pImgNext_n = ImgNext_c; pImgNext_c = ImgNext_n; pImgBoundary_c = ImgBoundary_n; pImgBoundary_n = ImgBoundary_c; pImgSel_n = ImgSel_c; pImgSel_c = ImgSel_n; pImgDist_n = ImgDist_c; pImgDist_c = ImgDist_n; pImgSquare_n = ImgSquare_c; pImgSquare_c = ImgSquare_n; pImgCircle_c = ImgCircle_n; pImgCircle_n = ImgCircle_c; pImgFull_c = ImgFull_n; pImgFull_n = ImgFull_c; pImgStnd_n = ImgStnd_c; pImgStnd_c = ImgStnd_n; pImgRefresh_n = ImgRefresh_c; pImgRefresh_c = ImgRefresh_n; pImgPrint_c = ImgPrint_n; pImgPrint_n = ImgPrint_c; pImgSave_c = ImgSave_n; pImgSave_n = ImgSave_c; break; case 1: case 2: case 3: case 0: case 4: case 5: default: pImgZoomIn_n = ImgZoomIn_n; pImgZoomIn_c = ImgZoomIn_c; pImgZoomOut_n = ImgZoomOut_n; pImgZoomOut_c = ImgZoomOut_c; pImgCenter_n = ImgCenter_n; pImgCenter_c = ImgCenter_c; pImgPan_c = ImgPan_c; pImgPan_n = ImgPan_n; pImgPrev_c = ImgPrev_c; pImgPrev_n = ImgPrev_n; pImgNext_n = ImgNext_n; pImgNext_c = ImgNext_c; pImgBoundary_c = ImgBoundary_c; pImgBoundary_n = ImgBoundary_n; pImgSel_n = ImgSel_n; pImgSel_c = ImgSel_c; pImgDist_n = ImgDist_n; pImgDist_c = ImgDist_c; pImgSquare_n = ImgSquare_n; pImgSquare_c = ImgSquare_c; pImgCircle_c = ImgCircle_c; pImgCircle_n = ImgCircle_n; pImgFull_c = ImgFull_c; pImgFull_n = ImgFull_n; pImgStnd_n = ImgStnd_n; pImgStnd_c = ImgStnd_c; pImgRefresh_n = ImgRefresh_n; pImgRefresh_c = ImgRefresh_c; pImgPrint_c = ImgPrint_c; pImgPrint_n = ImgPrint_n; pImgSave_c = ImgSave_c; pImgSave_n = ImgSave_n; break; } try { ImgZoomIn->NormalPicture->Assign(pImgZoomIn_n->Picture); ImgZoomIn->Picture->Assign(pImgZoomIn_n->Picture); ImgZoomIn->TogglePicture->Assign(pImgZoomIn_c->Picture); ImgZoomIn->ClickedPicture->Assign(pImgZoomIn_n->Picture); ImgZoomOut->NormalPicture->Assign(pImgZoomOut_n->Picture); ImgZoomOut->Picture->Assign(pImgZoomOut_n->Picture); ImgZoomOut->TogglePicture->Assign(pImgZoomOut_c->Picture); ImgZoomOut->ClickedPicture->Assign(pImgZoomOut_n->Picture); ImgCenter->NormalPicture->Assign(pImgCenter_n->Picture); ImgCenter->Picture->Assign(pImgCenter_n->Picture); ImgCenter->TogglePicture->Assign(pImgCenter_c->Picture); ImgCenter->ClickedPicture->Assign(pImgCenter_n->Picture); #if 0 ImgPan->NormalPicture->Assign(pImgPan_n->Picture); ImgPan->Picture->Assign(pImgPan_n->Picture); ImgPan->TogglePicture->Assign(pImgPan_c->Picture); ImgPan->ClickedPicture->Assign(pImgPan_n->Picture); #else ImgPan->NormalPicture->Assign(pImgPan_c->Picture); ImgPan->Picture->Assign(pImgPan_c->Picture); ImgPan->TogglePicture->Assign(pImgPan_n->Picture); ImgPan->ClickedPicture->Assign(pImgPan_n->Picture); #endif ImgPrev->NormalPicture->Assign(pImgPrev_n->Picture); ImgPrev->Picture->Assign(pImgPrev_n->Picture); ImgPrev->TogglePicture->Assign(pImgPrev_c->Picture); ImgPrev->ClickedPicture->Assign(pImgPrev_n->Picture); ImgNext->NormalPicture->Assign(pImgNext_n->Picture); ImgNext->Picture->Assign(pImgNext_n->Picture); ImgNext->TogglePicture->Assign(pImgNext_c->Picture); ImgNext->ClickedPicture->Assign(pImgNext_n->Picture); ImgPrev->Cursor = crHandPoint; ImgNext->Cursor = crHandPoint; ImgBoundary->NormalPicture->Assign(pImgBoundary_n->Picture); ImgBoundary->Picture->Assign(pImgBoundary_n->Picture); ImgBoundary->TogglePicture->Assign(pImgBoundary_c->Picture); ImgBoundary->ClickedPicture->Assign(pImgBoundary_n->Picture); ImgSel->NormalPicture->Assign(pImgSel_n->Picture); ImgSel->Picture->Assign(pImgSel_n->Picture); ImgSel->TogglePicture->Assign(pImgSel_c->Picture); ImgSel->ClickedPicture->Assign(ImgSel_c->Picture); ImgDist->NormalPicture->Assign(pImgDist_n->Picture); ImgDist->Picture->Assign(pImgDist_n->Picture); ImgDist->TogglePicture->Assign(pImgDist_c->Picture); ImgDist->ClickedPicture->Assign(pImgDist_n->Picture); ImgSquare->NormalPicture->Assign(pImgSquare_n->Picture); ImgSquare->Picture->Assign(pImgSquare_n->Picture); ImgSquare->TogglePicture->Assign(pImgSquare_c->Picture); ImgSquare->ClickedPicture->Assign(pImgSquare_n->Picture); ImgCircle->NormalPicture->Assign(pImgCircle_n->Picture); ImgCircle->Picture->Assign(pImgCircle_n->Picture); ImgCircle->TogglePicture->Assign(pImgCircle_c->Picture); ImgCircle->ClickedPicture->Assign(pImgCircle_n->Picture); ImgFull->NormalPicture->Assign(pImgFull_n->Picture); ImgFull->Picture->Assign(pImgFull_n->Picture); ImgFull->TogglePicture->Assign(pImgFull_c->Picture); ImgFull->ClickedPicture->Assign(pImgFull_n->Picture); ImgStnd->NormalPicture->Assign(pImgStnd_n->Picture); ImgStnd->Picture->Assign(pImgStnd_n->Picture); ImgStnd->TogglePicture->Assign(pImgStnd_c->Picture); ImgStnd->ClickedPicture->Assign(pImgStnd_n->Picture); ImgRefresh->NormalPicture->Assign(pImgRefresh_n->Picture); ImgRefresh->Picture->Assign(pImgRefresh_n->Picture); ImgRefresh->TogglePicture->Assign(pImgRefresh_c->Picture); ImgRefresh->ClickedPicture->Assign(pImgRefresh_n->Picture); ImgPrint->NormalPicture->Assign(pImgPrint_n->Picture); ImgPrint->Picture->Assign(pImgPrint_n->Picture); ImgPrint->TogglePicture->Assign(pImgPrint_c->Picture); ImgPrint->ClickedPicture->Assign(pImgPrint_n->Picture); ImgSave->NormalPicture->Assign(pImgSave_n->Picture); ImgSave->Picture->Assign(pImgSave_n->Picture); ImgSave->TogglePicture->Assign(pImgSave_c->Picture); ImgSave->ClickedPicture->Assign(pImgSave_n->Picture); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; Application->ProcessMessages(); LoadGisMap(); Application->ProcessMessages(); //UpdateFacilityStatus(); Application->ProcessMessages(); //UpdateIncidentStatus(); Application->ProcessMessages(); //UpdateEventStatus(); } //--------------------------------------------------------------------------- /* * Áöµµµ¥ÀÌÅÍ ·Îµå ¹× ÇÁ·Î±×·¥ ÃʱâÈ­ ÀÛ¾÷ ¼öÇà * arguments * * return * */ void __fastcall TITS00MAP::LoadGisMap() { try { try { // Áöµµ·Îµù »óŹ٠ǥÃâ PnlProgress->Left = (this->Width - PnlProgress->Width) / 2; PnlProgress->Top = (this->Height - PnlProgress->Height) / 2; PnlProgress->Top -= 50; PnlProgress->Visible = true; PbLoadMap->Properties->Text = "Áöµµ Ç¥Ãâ»ö»ó Á¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); PbLoadMap->Position = 50; TUTISLinkGrade UtisLinkColor; GetGisTrafficColor(UtisLinkColor); PbLoadMap->Position = 100; PbLoadMap->Properties->Text = "Áöµµ ·Îµù Áß..."; Application->ProcessMessages(); // start server LoadMap(); pmuControlGisClick((TObject*)pmuMove); // ÀüÀÚÁöµµ ¸¶¿ì½ºÀ̺¥Æ®¸¦ À̵¿À¸·Î ¼³Á¤ } catch (...) { } } __finally { //PnlProgress->Visible = false; } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::GetGisTrafficColor(TUTISLinkGrade &pUtisLinkColor) { //TJobTick job("GetGisTrafficColor"); // °í¼Óµµ·Î pUtisLinkColor.road101.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road101.GDLOW.MinSpeed = 0; pUtisLinkColor.road101.GDLOW.MaxSpeed = 30; pUtisLinkColor.road101.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road101.GDMID.MinSpeed = 31; pUtisLinkColor.road101.GDMID.MaxSpeed = 70; pUtisLinkColor.road101.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road101.GDHIG.MinSpeed = 71; pUtisLinkColor.road101.GDHIG.MaxSpeed = 255; // ÀÚµ¿Â÷Àü¿ëµµ·Î pUtisLinkColor.road102.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road102.GDLOW.MinSpeed = 0; pUtisLinkColor.road102.GDLOW.MaxSpeed = 30; pUtisLinkColor.road102.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road102.GDMID.MinSpeed = 31; pUtisLinkColor.road102.GDMID.MaxSpeed = 50; pUtisLinkColor.road102.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road102.GDHIG.MinSpeed = 51; pUtisLinkColor.road102.GDHIG.MaxSpeed = 255; // ÀϹݱ¹µµ pUtisLinkColor.road103.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road103.GDLOW.MinSpeed = 0; pUtisLinkColor.road103.GDLOW.MaxSpeed = 10; pUtisLinkColor.road103.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road103.GDMID.MinSpeed = 11; pUtisLinkColor.road103.GDMID.MaxSpeed = 20; pUtisLinkColor.road103.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road103.GDHIG.MinSpeed = 21; pUtisLinkColor.road103.GDHIG.MaxSpeed = 255; // Ưº°, ±¤¿ª½Ãµµ pUtisLinkColor.road104.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road104.GDLOW.MinSpeed = 0; pUtisLinkColor.road104.GDLOW.MaxSpeed = 10; pUtisLinkColor.road104.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road104.GDMID.MinSpeed = 11; pUtisLinkColor.road104.GDMID.MaxSpeed = 20; pUtisLinkColor.road104.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road104.GDHIG.MinSpeed = 21; pUtisLinkColor.road104.GDHIG.MaxSpeed = 255; // ±¹°¡Áö¿øÁö¹æµµ pUtisLinkColor.road105.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road105.GDLOW.MinSpeed = 0; pUtisLinkColor.road105.GDLOW.MaxSpeed = 10; pUtisLinkColor.road105.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road105.GDMID.MinSpeed = 11; pUtisLinkColor.road105.GDMID.MaxSpeed = 20; pUtisLinkColor.road105.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road105.GDHIG.MinSpeed = 21; pUtisLinkColor.road105.GDHIG.MaxSpeed = 255; // Áö¹æµµ pUtisLinkColor.road106.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road106.GDLOW.MinSpeed = 0; pUtisLinkColor.road106.GDLOW.MaxSpeed = 10; pUtisLinkColor.road106.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road106.GDMID.MinSpeed = 11; pUtisLinkColor.road106.GDMID.MaxSpeed = 20; pUtisLinkColor.road106.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road106.GDHIG.MinSpeed = 21; pUtisLinkColor.road106.GDHIG.MaxSpeed = 255; // ½Ã±ºµµ pUtisLinkColor.road107.GDLOW.SpdCOLOR = clRed; pUtisLinkColor.road107.GDLOW.MinSpeed = 0; pUtisLinkColor.road107.GDLOW.MaxSpeed = 10; pUtisLinkColor.road107.GDMID.SpdCOLOR = clYellow; pUtisLinkColor.road107.GDMID.MinSpeed = 11; pUtisLinkColor.road107.GDMID.MaxSpeed = 20; pUtisLinkColor.road107.GDHIG.SpdCOLOR = clLime; pUtisLinkColor.road107.GDHIG.MinSpeed = 21; pUtisLinkColor.road107.GDHIG.MaxSpeed = 255; TDBLinkColor *pLinkColor = NULL; TLinkTrfGrd *pTrgGrd = NULL; FOR_STL(TItsTrafficGrade *, pGrade, ItsTrafficGradeManager->FLists) { FOR_STL(TItsTrafficSubGrade *, pSubGrade, pGrade->FSubLists) { if (pGrade->SECT_GRAD_CD == "SRT1") //101.°í¼Ó±¹µµ pLinkColor = &pUtisLinkColor.road101; else if (pGrade->SECT_GRAD_CD == "SRT2") //102.µµ½Ã°í¼Ó±¹µµ pLinkColor = &pUtisLinkColor.road102; else if (pGrade->SECT_GRAD_CD == "SRT3") //103.ÀϹݱ¹µµ pLinkColor = &pUtisLinkColor.road103; else if (pGrade->SECT_GRAD_CD == "SRT4") //104.Ưº°¡¤±¤¿ª½Ãµµ pLinkColor = &pUtisLinkColor.road104; else if (pGrade->SECT_GRAD_CD == "SRT5") //105.±¹°¡Áö¿øÁö¹æµµ pLinkColor = &pUtisLinkColor.road105; else if (pGrade->SECT_GRAD_CD == "SRT6") //106.Áö¹æµµ pLinkColor = &pUtisLinkColor.road106; else if (pGrade->SECT_GRAD_CD == "SRT7") //107.½Ã¡¤±ºµµ pLinkColor = &pUtisLinkColor.road107; else continue; TColor trfColor; if (pSubGrade->CMTR_GRAD_CD == "LTC1") { pTrgGrd = &pLinkColor->GDHIG; trfColor = clLime; } else if (pSubGrade->CMTR_GRAD_CD == "LTC2") { pTrgGrd = &pLinkColor->GDMID; trfColor = clYellow; } else if (pSubGrade->CMTR_GRAD_CD == "LTC3") { pTrgGrd = &pLinkColor->GDLOW; trfColor = clRed; } else continue; pTrgGrd->SpdCOLOR = trfColor; if (pSubGrade->CMTR_GRAD_CD == "LTC3") pTrgGrd->MinSpeed = 0; else pTrgGrd->MinSpeed = StrToInt(pSubGrade->LWST_TRVL_SPED); pTrgGrd->MaxSpeed = StrToInt(pSubGrade->HGHS_TRVL_SPED); } } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::SetGisTrafficColor() { #if 0 //TODO //¼ÒÅëµî±Þº° »ö»óÀ» Ç÷¡½Ã·Î ´øÁö´Â °ÍÀ» ¿©±â¿¡ Ãß°¡ÇÑ´Ù. TUTISLinkGrade UtisLinkColor; GetGisTrafficColor(UtisLinkColor); // ¼ÒÅëÁ¤º¸¸¦ Ç¥ÃâÇÒ ½º·¹µå »ý¼º for (int ii = 0; ii < MAX_LAYERS; ii++) { if (m_pLinkSpeedUpdate[ii] == NULL) continue; m_pLinkSpeedUpdate[ii]->SetUTISLinkColor(UtisLinkColor); } #endif } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::GisMenuCheckClear() { pmuZoomIn->Checked = false; pmuZoomOut->Checked = false; pmuMove->Checked = false; pmuIconSel->Checked = false; pmuCalLen->Checked = false; pmuCalArea->Checked = false; pmuRadius->Checked = false; pmuMoveCenter->Checked = false; pmuGisDefault->Checked = false; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::pmuGisCalcClick(TObject *Sender) { //TODO TMenuItem *pMenu = (TMenuItem *)Sender; //TODO SetMapOperation((TXiMapOperation)pMenu->Tag); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::pmuControlGisClick(TObject *Sender) { TMenuItem *pMenu = (TMenuItem*)Sender; SetMapOperation((TXiMapOperation)pMenu->Tag); } //--------------------------------------------------------------------------- /* * ÁöµµÁ¦¾î ¼³Á¤ * arguments * * return * */ void __fastcall TITS00MAP::SetMapOperation(TXiMapOperation nMapOper) { //enum TXiMapOperation { Nothing, OnZoomIn, OnZoomOut, OnPanSt, OnDistance, OnSelect, OnGeoQuery, OnEditting, OnCircle, OnShortPath, OnArea, OnInsert, OnFindEvent, OnNearFind, OnUserDefine }; if (!MapStart) return; GisMenuCheckClear(); m_bMoveCenter = false; m_bCalcMode = false; m_bCalcCont = false; if (OnSelect == nMapOper) { GrpPos->Visible = true; } else { GrpPos->Visible = false; } switch(nMapOper) { case OnPanSt: //pan TCommFlash::CallFunc(ShockwaveFlash1, "SelectMode", "0"); ShockwaveFlash1->Cursor = crDefault;//Drag; ModeSelect = false; try { ImgPan->NormalPicture->Assign(ImgPan_c->Picture); ImgPan->Picture->Assign(ImgPan_c->Picture); ImgPan->TogglePicture->Assign(ImgPan_n->Picture); ImgPan->ClickedPicture->Assign(ImgPan_n->Picture); ImgSel->NormalPicture->Assign(ImgSel_n->Picture); ImgSel->Picture->Assign(ImgSel_n->Picture); ImgSel->TogglePicture->Assign(ImgSel_c->Picture); ImgSel->ClickedPicture->Assign(ImgSel_c->Picture); } catch(Exception &e) {} break; case OnZoomIn: //zoomin TCommFlash::CallFunc(ShockwaveFlash1, "ZoomIn", ""); break; case OnZoomOut: //zoomout TCommFlash::CallFunc(ShockwaveFlash1, "ZoomOut", ""); break; case OnSelect: //select TCommFlash::CallFunc(ShockwaveFlash1, "SelectMode", "1"); ShockwaveFlash1->Cursor = crHelp; ModeSelect = true; try { ImgPan->NormalPicture->Assign(ImgPan_n->Picture); ImgPan->Picture->Assign(ImgPan_n->Picture); ImgPan->TogglePicture->Assign(ImgPan_c->Picture); ImgPan->ClickedPicture->Assign(ImgPan_n->Picture); ImgSel->NormalPicture->Assign(ImgSel_c->Picture); ImgSel->Picture->Assign(ImgSel_c->Picture); ImgSel->TogglePicture->Assign(ImgSel_n->Picture); ImgSel->ClickedPicture->Assign(ImgSel_n->Picture); } catch(Exception &e) {} break; } } //--------------------------------------------------------------------------- /* * ÀüÀÚÁöµµÀÇ ¿µ¿ªÀ» ¼³Á¤ÇÑ´Ù. * arguments * double : left ¿µ¿ª * double : top ¿µ¿ª * double : right ¿µ¿ª * double : bottom ¿µ¿ª * return * void */ void __fastcall TITS00MAP::SetExtent(TDDRect &curRc) { //TODO if (xclntMap->Active) //TODO { //TODO xclntMap->ExtentDraw(curRc); //TODO } } //--------------------------------------------------------------------------- /* * Áöµµ ¿µ¿ª À̵¿ ÇÔ¼ö. ÇöÀç ¿µ¿ªÀ» ¿µ¿ªÀ̵¿ Å¥¿¡ Ãß°¡ÇÑ´Ù. * ´ÙÀ½ ¹öưÀ» ºñȰ¼º ½ÃŲ´Ù. * arguments * return * void */ bool __fastcall TITS00MAP::AddExtentQ(TDDRect &curRc) { TDDRect *pExt = &m_ExtQ.extent[m_ExtQ.userIdx]; memcpy((char*)pExt, (char*)&curRc, sizeof(curRc)); if (m_PrevExt.MinX == pExt->MinX && m_PrevExt.MinY == pExt->MinY && m_PrevExt.MaxX == pExt->MaxX && m_PrevExt.MaxY == pExt->MaxY) { return false; } memcpy((char*)&m_PrevExt, pExt, sizeof(m_PrevExt)); if (m_ExtQ.userIdx >= D_EXT_QUEUE_SIZE) { m_ExtQ.userIdx = D_EXT_QUEUE_SIZE; memcpy((char *)&m_ExtQ.extent[0], (char *)&m_ExtQ.extent[1], sizeof(TDDRect)*D_EXT_QUEUE_SIZE); } else { m_ExtQ.userIdx++; } m_ExtQ.currIdx = m_ExtQ.userIdx-1; return true; } //--------------------------------------------------------------------------- /* * Áöµµ ¿µ¿ª À̵¿ ÇÔ¼ö. ÀÌÀü ¿µ¿ªÀ¸·Î À̵¿ * À̵¿ ¹üÀ§¿¡ µû¶ó ÀÌÀü/´ÙÀ½ ¹öưÀ» Ȱ¼º/ºñȰ¼º ½ÃŲ´Ù. * arguments * return * void */ bool __fastcall TITS00MAP::PrevExtentQ() { m_ExtQ.bExtent = false; if (m_ExtQ.currIdx <= 0) { m_ExtQ.currIdx = 0; return false; } m_ExtQ.currIdx--; TDDRect *pExt = &m_ExtQ.extent[m_ExtQ.currIdx]; SetExtent(*pExt); return true; } //--------------------------------------------------------------------------- /* * Áöµµ ¿µ¿ª À̵¿ ÇÔ¼ö. ´ÙÀ½ ¿µ¿ªÀ¸·Î À̵¿ * À̵¿ ¹üÀ§¿¡ µû¶ó ÀÌÀü/´ÙÀ½ ¹öưÀ» Ȱ¼º/ºñȰ¼º ½ÃŲ´Ù. * arguments * return * void */ bool __fastcall TITS00MAP::NextExtentQ() { m_ExtQ.bExtent = false; if (m_ExtQ.currIdx >= m_ExtQ.userIdx-1) { m_ExtQ.currIdx = m_ExtQ.userIdx-1; return false; } m_ExtQ.currIdx++; TDDRect *pExt = &m_ExtQ.extent[m_ExtQ.currIdx]; SetExtent(*pExt); return true; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ImgPrevClick(TObject *Sender) { PrevExtentQ(); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ImgNextClick(TObject *Sender) { NextExtentQ(); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ImgFullClick(TObject *Sender) { //TODO if (xclntMap->Active) //TODO { //TODO xclntMap->ExtentDraw(xclntMap->GetFullExtent()); //TODO } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ImgStndClick(TObject *Sender) { if (MapStart) { TCommFlash::CallFunc(ShockwaveFlash1, "StdExtent", ""); } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ImgRefreshClick(TObject *Sender) { if (MapStart) { FrmMain->FPollStatus01.Reset(); // ½Ã¼³¹°»óÅÂÁ¤º¸ FrmMain->FPollStatus02.Reset(); // ÇÁ·Î¼¼½º»óÅÂÁ¤º¸ FrmMain->FPollStatus03.Reset(); // µ¹¹ßÁ¤º¸ ItsTrafficManager->Init(); FrmMain->FPollTraffic00.Reset(); // ¸µÅ©¼ÒÅëÁ¤º¸(Àüü) FrmMain->FPollTraffic01.Reset(); // ¸µÅ©¼ÒÅëÁ¤º¸ FrmMain->FPollTraffic02.Reset(); // ¼­ºñ½º¸µÅ©¼ÒÅëÁ¤º¸ FrmMain->FPollTraffic03.Reset(); // µµ·Î¼ÒÅëÁ¤º¸ FrmMain->FPollTraffic04.Reset(); // ¹Ýº¹Á¤Ã¼±¸°£ FrmMain->FPollTraffic05.Reset(); // UTIS¿î¿µÁ¤º¸ FrmMain->FPollEvent01.Reset(); // ºí·¢¹Ú½ºÀ̺¥Æ® FrmMain->FPollVilgFrcs.Reset(); // ±â»óÁ¤º¸ ImgRefresh->Enabled = false; TmrRefresh->Enabled = true; } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::TmrRefreshTimer(TObject *Sender) { TmrRefresh->Enabled = false; ImgRefresh->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ChkTrafficLayerClick(TObject *Sender) { if (!MapStart) return; String sTraffic = ChkTrafficLayer->Checked ? "1" : "0"; String sTooltip = ChkToolTip->Checked ? "1" : "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowTraffic", sTraffic + "|" + sTooltip); ShockwaveFlash1->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::TmrSelectTimer(TObject *Sender) { TmrSelect->Enabled = false; ImgSelect->Visible = false; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::SelectObjectByPos(double dPosX, double dPosY, bool bArrow/*=false*/) { m_ptSelect.X = dPosX; m_ptSelect.Y = dPosY; if (!MapStart) return; TCommFlash::CallFunc(ShockwaveFlash1, "SelectPoint", String(dPosX) + "," + String(dPosY) + "|3"); ShockwaveFlash1->SetFocus(); } //--------------------------------------------------------------------------- bool __fastcall TITS00MAP::SelectLinkById(int ALinkLevel, String sId, bool bHide/*=false*/) { try { if (!MapStart) return false; if (m_nMapLevel != ALinkLevel) { int nZoomLevel = 1; if (ALinkLevel == 2) { nZoomLevel = 2; } else if (ALinkLevel == 3) { nZoomLevel = 5; } TCommFlash::CallFunc(ShockwaveFlash1, "SetZoom", String(nZoomLevel)); Application->ProcessMessages(); //Sleep(1000); Application->ProcessMessages(); } #if 0 var zoom = _mainMap.map.getZoom(); switch(zoom) { case 1: levl = 1; break; //LINK case 2: levl = 2; break; //IFSC case 3: levl = 3; break; //IFSC case 4: levl = 4; break; //IFSC case 5: levl = 5; break; //ROAD default: levl = 6; break; //ROAD } #endif TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", sId); } catch(...) { } return true; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::TmrLinkSelectTimer(TObject *Sender) { TmrLinkSelect->Enabled = false; //TODO xclntMap->ClearUserDrawPolyGon(); //TODO xclntMap->ClearPathInfo(); //TODO xclntMap->ReDraw(); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::MnuSetStdAreaClick(TObject *Sender) { #if 0 //TODO if (!MapStart) return; Application->ProcessMessages(); if (Application->MessageBox(L"ÇöÀç ¿µ¿ªÀ» Ç¥ÁØ¿µ¿ªÀ¸·Î ÁöÁ¤ÇϽðڽÀ´Ï±î?", L"È®ÀÎ", MB_YESNO|MB_ICONQUESTION) != IDYES) { return; } TIniFile *pIniFile = NULL; String sIniFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".ini"); String sCfgFile = ExtractFilePath(Application->ExeName) + "\\cfg\\" + sIniFile; try { try { pIniFile = new TIniFile(sCfgFile); TDDRect rc = xclntMap->GetViewExtent(); pIniFile->WriteString("MAP", "LEFTTOPX", String(rc.MaxX)); pIniFile->WriteString("MAP", "LEFTTOPY", String(rc.MaxY)); pIniFile->WriteString("MAP", "RIGHTBOTTOMX", String(rc.MinX)); pIniFile->WriteString("MAP", "RIGHTBOTTOMY", String(rc.MinY)); g_GisInfo.dLeftTopX = rc.MaxX; g_GisInfo.dLeftTopY = rc.MaxY; g_GisInfo.dRightBottomX = rc.MinX; g_GisInfo.dRightBottomY = rc.MinY; } __finally { if (pIniFile) delete pIniFile; pIniFile = NULL; } } catch(...) { } #endif } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::MnuMoveStdAreaClick(TObject *Sender) { ImgStndClick((TObject*)ImgStnd); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::RefreshMapTraffic() { try { TmrRefresh->Enabled = false; ImgRefresh->Enabled = true; } catch(...) {} if (!MapStart) return; #if 0 LblTraffic->Visible = true; LblTraffic->Refresh(); TmrLblTraffic->Enabled = true; #endif String sObjList = ""; try { try { ItsTrafficManager->FLists.Lock(); FOR_STL(TItsTraffic*, pTraffic, ItsTrafficManager->FLists) { if (pTraffic->TRF_GRADE == "0") continue; sObjList += String(pTraffic->LEVL) + "," + pTraffic->LINKID + "," + pTraffic->TRF_GRADE + "," + String(pTraffic->SPEED) + "," + String(pTraffic->TRVTM) + "|"; } } catch(Exception &exception) { throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { ItsTrafficManager->FLists.UnLock(); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "UpdateTraffic", sObjList); } } TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", ""); try { if (FrmLinkInfo) { FrmLinkInfo->RefreshLinkInfo(); } } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ChkDrawGisClick(TObject *Sender) { ShowHideFacility(); ShockwaveFlash1->SetFocus(); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowLinkDetailInfo(String sLinkId, int nLinkLevel) { try { if (FrmLinkInfo == NULL) { FrmLinkInfo = new TFrmLinkInfo(Application); } FrmLinkInfo->Show(); FrmLinkInfo->ShowLinkInfo(sLinkId, nLinkLevel); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ChkGisSearchClick(TObject *Sender) { try { if (ChkGisSearch->Checked) { if (FrmGisSearch == NULL) { FrmGisSearch = new TFrmGisSearch(this); //FrmGisSearch->Parent = this; } FrmGisSearch->Show(); } else { if (FrmGisSearch) { if (FrmGisSearch->m_bClose == false) { FrmGisSearch->Close(); } } } } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); //ITS00MAP = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::panRemarkMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { TcxGroupBox *pGroup = (TcxGroupBox*)Sender; ReleaseCapture(); pGroup->Perform(WM_SYSCOMMAND, 0xf012, 0); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ChkViewExamplePropertiesChange(TObject *Sender) { panRemark->Visible = ChkViewExample->Checked; } //--------------------------------------------------------------------------- /* * ½Ã¼³¹°ÀÇ »óÅ¿¡ µû¶ó À̹ÌÁö¸¦ ÀüÀÚÁöµµ¿¡ Ç¥ÃâÇÑ´Ù.(XiClient->CCTVIconList) * arguments * * return * void */ void __fastcall TITS00MAP::UpdateFacilityStatus() { String sFacility; String sShowIcon; String sShowInfo; String sObjList; String sStatus; TItsFacility *pFacility; sStatus = "0"; #ifdef USE_CCTV sObjList = ""; try { ItsFacilityManager->FCctvLists.Lock(); FOR_STL(TItsCctv *, pObj, ItsFacilityManager->FCctvLists) { if (pObj->DEL_YN == "Y") continue; //if (pObj->LOCAL_YN != "Y") continue; //Áö¿ªCCTVÁ¤º¸¸¸ À§Ä¡¿¡ Ç¥Ãâ pFacility = ItsFacilityManager->FLists.Find(pObj->CCTV_CTLR_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM); sObjList += (pObj->CCTV_CTLR_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->CCTV_CTLR_ID + ",0,|"); } } __finally { ItsFacilityManager->FCctvLists.UnLock(); sFacility = FAC_CCTV; sShowIcon = ChkDrawCtv->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_VMS sObjList = ""; try { ItsFacilityManager->FVmsLists.Lock(); FOR_STL(TItsVms *, pObj, ItsFacilityManager->FVmsLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->VMS_CTLR_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sSubType = pObj->VMS_USAG_TYPE_CD == "VUTN" ? "T" : "P"; String sLoc = TCommFlash::ReplaceName(pObj->VMS_NM); sObjList += (pObj->VMS_CTLR_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->VMS_CTLR_ID + "," + sSubType + "|"); } } __finally { ItsFacilityManager->FVmsLists.UnLock(); sFacility = FAC_VMS; sShowIcon = ChkDrawVms->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_RSE sObjList = ""; try { ItsFacilityManager->FRseLists.Lock(); FOR_STL(TItsRse *, pObj, ItsFacilityManager->FRseLists) { //if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->RSEID); if (!pFacility) continue; sStatus = pFacility->FComm; if (sStatus == "2") sStatus = "1"; String sLoc = TCommFlash::ReplaceName(pObj->LOCATION); sObjList += (pObj->RSEID + "," + sStatus + "," + sLoc + "," + pObj->COORDX + "," + pObj->COORDY + "," + pObj->RSEID + ",0,|"); } } __finally { ItsFacilityManager->FRseLists.UnLock(); sFacility = FAC_RSE; sShowIcon = ChkDrawRse->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_WCAM sObjList = ""; try { ItsFacilityManager->FWebCamLists.Lock(); FOR_STL(TItsWebCam *, pObj, ItsFacilityManager->FWebCamLists) { //if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->WEB_CMRA_ID); if (!pFacility) continue; sStatus = pFacility->FComm; if (sStatus == "2") sStatus = "1"; String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM); sObjList += (pObj->WEB_CMRA_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->WEB_CMRA_ID + ",0,|"); } } __finally { ItsFacilityManager->FWebCamLists.UnLock(); sFacility = FAC_WCAM; sShowIcon = ChkWebCam->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_VDS sObjList = ""; try { ItsFacilityManager->FVdsLists.Lock(); FOR_STL(TItsVds *, pObj, ItsFacilityManager->FVdsLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->VDS_CTLR_ID);//CTLR_MNGM_NMBR); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->LCTN); sObjList += (pObj->VDS_CTLR_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->VDS_CTLR_ID + ",0,|"); } } __finally { ItsFacilityManager->FVdsLists.UnLock(); sFacility = FAC_VDS; sShowIcon = ChkDrawVds->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_AVI sObjList = ""; try { ItsFacilityManager->FAviLists.Lock(); FOR_STL(TItsAvi *, pObj, ItsFacilityManager->FAviLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->AVI_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->AVI_LCTN_NM); sObjList += (pObj->AVI_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->AVI_ID + ",0,|"); } } __finally { ItsFacilityManager->FAviLists.UnLock(); sFacility = FAC_AVI; sShowIcon = ChkDrawAvi->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_DSRC sObjList = ""; try { ItsFacilityManager->FDsrcLists.Lock(); FOR_STL(TItsDsrc *, pObj, ItsFacilityManager->FDsrcLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->RSE_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM); sObjList += (pObj->RSE_ID + "," + sStatus + "," + sLoc + "," + pObj->LCTN_X + "," + pObj->LCTN_Y + "," + pObj->RSE_ID + ",0,|"); } } __finally { ItsFacilityManager->FDsrcLists.UnLock(); sFacility = FAC_DSRC; sShowIcon = ChkDrawDsrc->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_PVMS sObjList = ""; try { ItsFacilityManager->FPisLists.Lock(); FOR_STL(TItsPis *, pObj, ItsFacilityManager->FPisLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); sObjList += (pObj->PIS_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->PIS_ID + ",0,|"); } } __finally { ItsFacilityManager->FPisLists.UnLock(); sFacility = FAC_PVMS; sShowIcon = ChkDrawPis->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_PVDS sObjList = ""; try { ItsFacilityManager->FPcsLists.Lock(); FOR_STL(TItsPcs *, pObj, ItsFacilityManager->FPcsLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); sObjList += (pObj->PCS_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->PCS_ID + ",0,|"); } } __finally { ItsFacilityManager->FPcsLists.UnLock(); sFacility = FAC_PVDS; sShowIcon = ChkDrawPcs->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_PARK sObjList = ""; try { ItsFacilityManager->FParkLists.Lock(); FOR_STL(TItsParking *, pObj, ItsFacilityManager->FParkLists) { if (pObj->DEL_YN == "Y") continue; sStatus = "0"; pFacility = ItsFacilityManager->FLists.Find(pObj->CTLR_MNGM_NMBR); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->CTLR_MNGM_NM); sObjList += (pObj->CTLR_MNGM_NMBR + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + String(pObj->WHOL_NPLS) + ",0,|"); } } __finally { ItsFacilityManager->FParkLists.UnLock(); sFacility = FAC_PARK; sShowIcon = ChkDrawPark->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_BIT sObjList = ""; try { ItsFacilityManager->FBitLists.Lock(); FOR_STL(TItsBit *, pObj, ItsFacilityManager->FBitLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); sObjList += (pObj->FCLT_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->BIT_ID + ",0,|"); } } __finally { ItsFacilityManager->FBitLists.UnLock(); sFacility = FAC_BIT; sShowIcon = ChkDrawBit->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_SIG sObjList = ""; try { ItsFacilityManager->FSigLists.Lock(); FOR_STL(TItsSig *, pObj, ItsFacilityManager->FSigLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); sObjList += (pObj->FCLT_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->SIG_ID + ",0,|"); } } __finally { ItsFacilityManager->FSigLists.UnLock(); sFacility = FAC_SIG; sShowIcon = ChkDrawSig->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif #ifdef USE_SIGDET sObjList = ""; try { ItsFacilityManager->FSigDetLists.Lock(); FOR_STL(TItsSigDet *, pObj, ItsFacilityManager->FSigDetLists) { if (pObj->DEL_YN == "Y") continue; pFacility = ItsFacilityManager->FLists.Find(pObj->FCLT_ID); if (!pFacility) continue; sStatus = pFacility->FComm; String sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); sObjList += (pObj->FCLT_ID + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + pObj->SDET_ID + ",0,|"); } } __finally { ItsFacilityManager->FSigDetLists.UnLock(); sFacility = FAC_SIGDET; sShowIcon = ChkDrawSigDet->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } #endif //#ifdef USE_WTHR sObjList = ""; try { ItsVilgFrcsManager->FLists.Lock(); FOR_STL(TItsVilgFrcs *, pObj, ItsVilgFrcsManager->FLists) { if (pObj->WTCD_KOR_CD == "DB01") sStatus = "1"; else if (pObj->WTCD_KOR_CD == "DB02") sStatus = "2"; else if (pObj->WTCD_KOR_CD == "DB03") sStatus = "3"; else if (pObj->WTCD_KOR_CD == "DB04") sStatus = "4"; else if (pObj->WTCD_KOR_CD == "DB05") sStatus = "5"; else if (pObj->WTCD_KOR_CD == "DB06") sStatus = "6"; else if (pObj->WTCD_KOR_CD == "DB07") sStatus = "7"; else sStatus = "9"; String sLoc = TCommFlash::ReplaceName(pObj->VILG_FRCS_ZONE_NM); String sInfo = pObj->VILG_FRCS_ZONE_CD + "$" + sLoc + "$" + ITSUtil_FormatStr(pObj->ANNC_DT, STR_DATETIME) + "$" + pObj->WTCD_KOR_NM + "$" + pObj->PRST_TMPR; sObjList += (pObj->VILG_FRCS_ZONE_CD + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|"); } } __finally { ItsVilgFrcsManager->FLists.UnLock(); sFacility = FAC_WTHR; sShowIcon = ChkDrawWthr->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } //´ë±âȯ°æ sObjList = ""; try { ItsVilgFrcsManager->FAtmpLists.Lock(); FOR_STL(TItsAtmpPltn *, pObj, ItsVilgFrcsManager->FAtmpLists) { sStatus = pObj->pnst.INTG_ATMP_GRAD; String sLoc = TCommFlash::ReplaceName(pObj->STTN_NM); String sInfo = pObj->STTN_NM + "$" + sLoc + "$" + ITSUtil_FormatStr(pObj->pnst.MSRM_DT, STR_DATETIME) + "$" + pObj->pnst.INTG_ATMP_GRAD_NM + "$" + pObj->pnst.INTG_ATMP_GRAD_NM; sObjList += (pObj->STTN_NM + "," + sStatus + "," + sLoc + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|"); } } __finally { ItsVilgFrcsManager->FAtmpLists.UnLock(); sFacility = FAC_ATMP; sShowIcon = ChkDrawWthr->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } //#endif //½Ã¼³¹° Àç¼³Á¤ ÈÄ ½Ã¼³¹° Á¤º¸¸¸ ´Ù½Ã ±×¸®µµ·Ï ÇÑ´Ù. //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", ""); } //--------------------------------------------------------------------------- /* * µ¹¹ß »óÅ¿¡ µû¶ó À̹ÌÁö¸¦ ÀüÀÚÁöµµ¿¡ Ç¥ÃâÇÑ´Ù.(XiClient->ADDAccEvent) * arguments * * return * void */ void __fastcall TITS00MAP::UpdateIncidentStatus() { static String sStatusMsg[6] = { "", "»ç°í", "°ø»ç", "Çà»ç", "±â»ó", "±âŸ", }; if (!MapStart) return; String sFacility; String sShowIcon; String sShowInfo; String sObjList; int nStatus = 0; sObjList = ""; try { ItsIncidentManager->FLists.Lock(); FOR_STL(TItsIncident *, pObj, ItsIncidentManager->FLists) { if (pObj->DISP_INCD == "N") continue; if (pObj->INCD_PRGR_STEP_CD == "ISS2") { nStatus = pObj->INCD_TYPE_CLSF_CD.ToIntDef(1); if (nStatus > 4 || nStatus < 1) nStatus = 1; //µ¹¹ßÀ¯ÇüÀÌ »ç°í,±â»óÀÎ °æ¿ì´Â µ¹¹ßÁ¾·á½Ã°¢À» Ç¥ÃâÇÏÁö ¾Êµµ·Ï ÇÔ. µ¹¹ßÀ¯ÇüÀÌ °ø»ç,Çà»çÀÎ °æ¿ì¸¸ µ¹¹ßÁ¾·á½Ã°¢ Ç¥ÃâÇÔ //String sTitle = "¢º¢ºµ¹¹ß Á¤º¸¢¸¢¸|µ¹¹ß ID : " + pObj->INCD_OCRR_ID + "|Á¦¸ñ : " + pObj->INCD_TITL + "|À¯Çü : " + sStatusMsg[nStatus]; //sTitle += "|µ¹¹ßµî·Ï½Ã°¢: " + ITSUtil_StrToTime(pObj->RGST_DT) + "|µ¹¹ß½ÃÀ۽ð¢: " + ITSUtil_StrToTime(pObj->FINCD_STRT_DT); String sTitle = TCommFlash::ReplaceName(pObj->INCD_TITL); String sInfo = pObj->INCD_OCRR_ID + "$" + sTitle + "$" + sStatusMsg[nStatus]; sInfo += "$" + ITSUtil_StrToTime(pObj->RGST_DT) + "$" + ITSUtil_StrToTime(pObj->FINCD_STRT_DT); if (nStatus == 1 || nStatus == 2) { sInfo += "$" + ITSUtil_StrToTime(pObj->INCD_END_PRAR_DT); //µ¹¹ßÁ¾·á½Ã°¢ } else sInfo+= "$-"; sObjList += (pObj->INCD_OCRR_ID + "," + String(nStatus) + "," + sTitle + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|"); } } } __finally { ItsIncidentManager->FLists.UnLock(); sFacility = FAC_INCD; sShowIcon = ChkDrawIncident->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", ""); } //--------------------------------------------------------------------------- /* * ³²¾çÁÖ ºí·¢¹Ú½º À̺¥Æ® »óÅ ǥÃâ * arguments * * return * void */ void __fastcall TITS00MAP::UpdateEventStatus() { if (!MapStart) return; String sFacility; String sShowIcon; String sShowInfo; String sObjList; int nStatus = 0; sObjList = ""; try { ItsEventManager->FLists.Lock(); FOR_STL(TItsEvent *, pObj, ItsEventManager->FLists) { //String sTitle = "¢º¢ºµ¹¹ß Á¤º¸¢¸¢¸|µ¹¹ß ID : " + pObj->INCD_OCRR_ID + "|Á¦¸ñ : " + pObj->INCD_TITL + "|À¯Çü : " + sStatusMsg[nStatus]; //sTitle += "|µ¹¹ßµî·Ï½Ã°¢: " + ITSUtil_StrToTime(pObj->RGST_DT) + "|µ¹¹ß½ÃÀ۽ð¢: " + ITSUtil_StrToTime(pObj->FINCD_STRT_DT); String sTitle = TCommFlash::ReplaceName(pObj->TRMN_ID); String sInfo = pObj->ID + "$" + sTitle + "$" + pObj->EVT_TYPE + "$" + ITSUtil_StrToDateTime(pObj->OCRR_DT).FormatString(STR_DATETIME); sObjList += (pObj->ID + "," + String(nStatus) + "," + sTitle + "," + pObj->X_CRDN + "," + pObj->Y_CRDN + "," + sInfo + "|"); } } __finally { ItsEventManager->FLists.UnLock(); sFacility = FAC_EVENT; sShowIcon = ChkDrawEvent->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "RemoveFacility", sFacility); if (sObjList != "") { sObjList = sObjList.SubString(1, sObjList.Length()-1); TCommFlash::CallFunc(ShockwaveFlash1, "AddFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo + "|" + sObjList); } } //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", ""); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::pmuFacilityPopup(TObject *Sender) { String sLoc = " "; TPopupMenu *pMenu = (TPopupMenu*)Sender; if (pMenu->Tag == 0) { TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM); //MnuCctvId->Caption = "[CCTV] " + FSelId + " " + sLoc; MnuCctvId->Caption = "[CCTV] " + sLoc; mnuCctvCam->Enabled = false; if (pObj) { if (pObj->STRM_SESN_NM.Trim() != "") { mnuCctvCam->Enabled = true; } } } else if (pMenu->Tag == 1) { TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->VMS_NM); //MnuVmsId->Caption = "[VMS] " + FSelId + " " + sLoc; MnuVmsId->Caption = "[VMS] " + sLoc; mnuVmsCam->Enabled = false; if (pObj) { if (pObj->STRM_SESN_NM.Trim() != "") { mnuVmsCam->Enabled = true; } } } else if (pMenu->Tag == 2) { TItsRse *pObj = ItsFacilityManager->FRseLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->LOCATION); //MnuRseId->Caption = "[RSE] " + FSelId + " " + sLoc; MnuRseId->Caption = "[RSE] " + sLoc; } else if (pMenu->Tag == 3) { TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM); //MnuWebCamId->Caption = "[À¥Ä«¸Þ¶ó] " + FSelId + " " + sLoc; MnuWebCamId->Caption = "[À¥Ä«¸Þ¶ó] " + sLoc; } else if (pMenu->Tag == 4) { TItsVds *pObj = ItsFacilityManager->FVdsLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->LCTN); //MnuVdsId->Caption = "[VDS] " + FSelId + " " + sLoc; MnuVdsId->Caption = "[VDS] " + sLoc; } else if (pMenu->Tag == 5) { TItsAvi *pObj = ItsFacilityManager->FAviLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->AVI_LCTN_NM); //MnuAviId->Caption = "[AVI] " + FSelId + " " + sLoc; MnuAviId->Caption = "[AVI] " + sLoc; } else if (pMenu->Tag == 6) { TItsDsrc *pObj = ItsFacilityManager->FDsrcLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->ISTL_LCTN_NM); //MnuDsrcId->Caption = "[DSRC] " + FSelId + " " + sLoc; MnuDsrcId->Caption = "[DSRC] " + sLoc; } else if (pMenu->Tag == 7) { TItsBit *pObj = ItsFacilityManager->FBitLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); //MnuBitId->Caption = "[BIT] " + FSelId + " " + sLoc; MnuBitId->Caption = "[BIT] " + sLoc; } else if (pMenu->Tag == 8) { TItsSig *pObj = ItsFacilityManager->FSigLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); //MnuSigId->Caption = "[SIG] " + FSelId + " " + sLoc; MnuSigId->Caption = "[SIG] " + sLoc; } else if (pMenu->Tag == 9) { TItsSigDet *pObj = ItsFacilityManager->FSigDetLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); //MnuSigDetId->Caption = "[LVD] " + FSelId + " " + sLoc; MnuSigDetId->Caption = "[LVD] " + sLoc; } else if (pMenu->Tag == 10) { TItsPis *pObj = ItsFacilityManager->FPisLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); MnuPisId->Caption = "[PIS] " + sLoc; } else if (pMenu->Tag == 11) { TItsPcs *pObj = ItsFacilityManager->FPcsLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->FCLT_LCTN); MnuPcsId->Caption = "[PCS] " + sLoc; } else if (pMenu->Tag == 12) { TItsParking *pObj = ItsFacilityManager->FParkLists.Find(FSelId); if (pObj) sLoc = TCommFlash::ReplaceName(pObj->CTLR_MNGM_NM); //MnuParkId->Caption = "[PARK] " + FSelId + " " + sLoc; MnuParkId->Caption = "[PARK] " + sLoc; } else if (pMenu->Tag == 13) { TItsEvent *pObj = ItsEventManager->FLists.Find(FSelId); if (pObj) { sLoc = TCommFlash::ReplaceName(pObj->TRMN_ID); if (sLoc.Trim() == "") { sLoc = pObj->OPNC_NMBR; } } MenuEventId->Caption = " " + sLoc; } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuFacilityPingClick(TObject *Sender) { TMenuItem *pMenu = (TMenuItem*)Sender; String sIp; Application->ProcessMessages(); if (pMenu->Tag == 31)// && 39 >= pMenu->Tag) { TItsPis *pObj = ItsFacilityManager->FPisLists.Find(FSelId); if (pObj) { #if 0 switch(pMenu->Tag) { case 31: sIp = pObj->CCTV_CAPT_IP.Trim(); break; default: sIp = pObj->CCTV_CTLR_IP.Trim(); break; } #endif } } else if (pMenu->Tag == 41)// && 49 >= pMenu->Tag) { TItsPcs *pObj = ItsFacilityManager->FPcsLists.Find(FSelId); if (pObj) { #if 0 switch(pMenu->Tag) { case 31: sIp = pObj->CCTV_CAPT_IP.Trim(); break; default: sIp = pObj->CCTV_CTLR_IP.Trim(); break; } #endif } } else if (pMenu->Tag >= 11 && 15 >= pMenu->Tag) { TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(FSelId); if (pObj) { switch(pMenu->Tag) { case 12: sIp = pObj->CCTV_CAPT_IP.Trim(); break; case 13: sIp = pObj->CCTV_ENCD_IP.Trim(); break; case 14: sIp = pObj->STRM_SVR_IP.Trim(); break; case 15: sIp = pObj->CCTV_FIBR_IP.Trim(); break; case 11: default: sIp = pObj->CCTV_CTLR_IP.Trim(); break; } } } else if (pMenu->Tag >= 21 && 22 >= pMenu->Tag) { TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId); if (pObj) { switch(pMenu->Tag) { case 22: sIp = pObj->WEB_CMRA_IP.Trim(); break; case 21: default: sIp = pObj->VMS_CTLR_IP.Trim(); break; } } } else if (pMenu->Tag == 2) { TItsRse *pObj = ItsFacilityManager->FRseLists.Find(FSelId); if (pObj) sIp = pObj->RSEIP.Trim(); } else if (pMenu->Tag == 4) { TItsVds *pObj = ItsFacilityManager->FVdsLists.Find(FSelId); if (pObj) sIp = pObj->TRMN_IP.Trim(); } else if (pMenu->Tag == 5) { TItsAvi *pObj = ItsFacilityManager->FAviLists.Find(FSelId); if (pObj) sIp = pObj->AVI_CTLR_IP.Trim(); } else if (pMenu->Tag == 6) { TItsDsrc *pObj = ItsFacilityManager->FDsrcLists.Find(FSelId); if (pObj) sIp = pObj->IP.Trim(); } else if (pMenu->Tag == 88) { TItsParking *pObj = ItsFacilityManager->FParkLists.Find(FSelId); if (pObj) sIp = pObj->TRMN_IP.Trim(); } else if (pMenu->Tag == 99) { TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(FSelId); if (pObj) sIp = pObj->CMRA_IP.Trim(); } if (sIp.IsEmpty()) { Application->MessageBox(L"IP Address Á¤º¸°¡ ¾ø½À´Ï´Ù.\r\nIP Address Á¤º¸¸¦ È®ÀÎÇϼ¼¿ä.", L"³×Å©¿öÅ© ¿¬°áÈ®ÀÎ", MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } if (sIp != "") { ITSUtil_NetworkPing(sIp); } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuStopImageClick(TObject *Sender) { Application->ProcessMessages(); TPoint pt; GetCursorPos(&pt); pt = ITS0000M->ScreenToClient(pt); ShowCctvStopImage(FSelId, pt); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuCctvCamClick(TObject *Sender) { Application->ProcessMessages(); TPoint pt; GetCursorPos(&pt); pt = ITS0000M->ScreenToClient(pt); ShowCctvCamera(FSelId, pt); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuVmsMsgClick(TObject *Sender) { Application->ProcessMessages(); TPoint pt; GetCursorPos(&pt); pt = ITS0000M->ScreenToClient(pt); ShowVmsMessage(FSelId, pt); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuVmsCamClick(TObject *Sender) { Application->ProcessMessages(); TPoint pt; GetCursorPos(&pt); pt = ITS0000M->ScreenToClient(pt); ShowVmsCamera(FSelId, pt); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowCctvStopImage(String AId, TPoint pt) { TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(AId); if (!pObj) return; try { if (pObj->FData1) { TFrmCctvImg *pForm = (TFrmCctvImg *)pObj->FData1; pForm->SetFocus(); pForm->LoadStopImage(); } else { TFrmCctvImg *pForm = new TFrmCctvImg(ITS0000M); pForm->Parent = ITS0000M; if ((pt.x + pForm->Width + 5) > this->Width) { pt.x = this->Width - pForm->Width - 5; } if ((pt.y + pForm->Height + 5) > this->Height) { pt.y = this->Height - pForm->Height - 5; } pForm->Left = Left + pt.x; pForm->Top = Top + pt.y; pForm->FObj = pObj; pObj->FData1 = (void*)pForm; pForm->Show(); } } catch(...) {} } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowCctvCamera(String AId, TPoint pt) { TItsCctv *pObj = ItsFacilityManager->FCctvLists.Find(AId); if (!pObj) return; try { if (pObj->FData2) { TFrmStreamPlayer *pForm = (TFrmStreamPlayer *)pObj->FData2; pForm->SetFocus(); //pForm->RefreshCctv(); } else { TFrmStreamPlayer *pForm = new TFrmStreamPlayer(ITS0000M); pForm->FObj.IsCctv = true; pForm->FObj.ID = pObj->CCTV_CTLR_ID; pForm->FObj.NAME = pObj->ISTL_LCTN_NM; pForm->FObj.RTSP_ADDR = pObj->STRM_SESN_NM; pForm->FObj.Data = &pObj->FData2; pForm->FObj.Installed = true; pForm->Parent = ITS0000M; if ((pt.x + pForm->Width + 5) > this->Width) { pt.x = this->Width - pForm->Width - 5; } if ((pt.y + pForm->Height + 5) > this->Height) { pt.y = this->Height - pForm->Height - 5; } pForm->Left = Left + pt.x; pForm->Top = Top + pt.y; pObj->FData2 = (void*)pForm; pForm->Show(); } } catch(...) {} } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowVmsCamera(String AId, TPoint pt) { TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId); if (!pObj) return; try { if (pObj->FData2) { TFrmStreamPlayer *pForm = (TFrmStreamPlayer *)pObj->FData2; pForm->SetFocus(); //pForm->RefreshVms(); } else { TFrmStreamPlayer *pForm = new TFrmStreamPlayer(ITS0000M); pForm->FObj.IsCctv = false; pForm->FObj.ID = String(pObj->VMS_CTLR_NMBR); pForm->FObj.NAME = pObj->VMS_NM; pForm->FObj.RTSP_ADDR = pObj->STRM_SESN_NM; pForm->FObj.Data = &pObj->FData2; pForm->FObj.Installed = true; pForm->Parent = ITS0000M; if ((pt.x + pForm->Width + 5) > this->Width) { pt.x = this->Width - pForm->Width - 5; } if ((pt.y + pForm->Height + 5) > this->Height) { pt.y = this->Height - pForm->Height - 5; } pForm->Left = Left + pt.x; pForm->Top = Top + pt.y; pObj->FData2 = (void*)pForm; pForm->Show(); } } catch(...) {} } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowWebCamera(String AId, TPoint pt) { TItsWebCam *pObj = ItsFacilityManager->FWebCamLists.Find(FSelId); if (!pObj) return; try { if (pObj->FData2) { TFrmStreamPlayer *pForm = (TFrmStreamPlayer *)pObj->FData2; pForm->SetFocus(); } else { TFrmStreamPlayer *pForm = new TFrmStreamPlayer(ITS0000M); pForm->FObj.IsCctv = false; pForm->FObj.ID = pObj->WEB_CMRA_ID; pForm->FObj.NAME = pObj->ISTL_LCTN_NM; pForm->FObj.RTSP_ADDR = pObj->STRM_SESN_NM; pForm->FObj.Data = &pObj->FData2; pForm->FObj.Installed = true; pForm->Parent = ITS0000M; if ((pt.x + pForm->Width + 5) > this->Width) { pt.x = this->Width - pForm->Width - 5; } if ((pt.y + pForm->Height + 5) > this->Height) { pt.y = this->Height - pForm->Height - 5; } pForm->Left = Left + pt.x; pForm->Top = Top + pt.y; pObj->FData2 = (void*)pForm; pForm->Show(); } } catch(...) {} } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowVmsMessage(String AId, TPoint pt) { TItsVms *pObj = ItsFacilityManager->FVmsLists.Find(FSelId); if (!pObj) return; try { if (pObj->FData1) { TFrmVmsMsg *pForm = (TFrmVmsMsg *)pObj->FData1; pForm->SetFocus(); } else { TFrmVmsMsg *pForm = new TFrmVmsMsg(ITS0000M, pObj); pForm->Parent = ITS0000M; int nHG = pForm->ClientHeight - pForm->PnlVmsMsgDisp->Height; int nWG = pForm->ClientWidth - pForm->PnlVmsMsgDisp->Width; #if 0 pForm->ClientHeight = nHG + pObj->Height; pForm->ClientWidth = nWG + pObj->Width; #endif if ((pt.x + pForm->Width + 5) > this->Width) { pt.x = this->Width - pForm->Width - 5; } if ((pt.y + pForm->Height + 5) > this->Height) { pt.y = this->Height - pForm->Height - 5; } pForm->Left = Left + pt.x; pForm->Top = Top + pt.y; pObj->FData1 = (void*)pForm; pForm->Show(); } } catch(...) {} } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::RefreshGisLink() { SelectLinkById(g_SelLink.Level, g_SelLink.Id, true); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::MnuWebCamClick(TObject *Sender) { Application->ProcessMessages(); TPoint pt; GetCursorPos(&pt); pt = ITS0000M->ScreenToClient(pt); ShowWebCamera(FSelId, pt); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::TmrLblTrafficTimer(TObject *Sender) { TmrLblTraffic->Enabled = false; LblTraffic->Visible = false; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::FormResize(TObject *Sender) { ShockwaveFlash1->Align = alClient; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowHideFacility() { if (!MapStart) return; String sFacility; String sShowIcon; String sShowInfo; if (ChkDrawCtv->Visible) { sFacility = FAC_CCTV; sShowIcon = ChkDrawCtv->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawVms->Visible) { sFacility = FAC_VMS; sShowIcon = ChkDrawVms->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawRse->Visible) { sFacility = FAC_RSE; sShowIcon = ChkDrawRse->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkWebCam->Visible) { sFacility = FAC_WCAM; sShowIcon = ChkWebCam->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawVds->Visible) { sFacility = FAC_VDS; sShowIcon = ChkDrawVds->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawAvi->Visible) { sFacility = FAC_AVI; sShowIcon = ChkDrawAvi->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawDsrc->Visible) { sFacility = FAC_DSRC; sShowIcon = ChkDrawDsrc->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawPark->Visible) { sFacility = FAC_PARK; sShowIcon = ChkDrawPark->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawIncident->Visible) { sFacility = FAC_INCD; sShowIcon = ChkDrawIncident->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawBit->Visible) { sFacility = FAC_BIT; sShowIcon = ChkDrawBit->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawSig->Visible) { sFacility = FAC_SIG; sShowIcon = ChkDrawSig->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawSigDet->Visible) { sFacility = FAC_SIGDET; sShowIcon = ChkDrawSigDet->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawPis->Visible) { sFacility = FAC_PVMS; sShowIcon = ChkDrawPis->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawPcs->Visible) { sFacility = FAC_PVDS; sShowIcon = ChkDrawPcs->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } //³²¾çÁÖ-ºí·¢¹Ú½ºÀ̺¥Æ®´Â Ç×»ó Ç¥ÃâÇϵµ·Ï ÇÑ´Ù //if (ChkDrawEvent->Visible) { sFacility = FAC_EVENT; sShowIcon = ChkDrawEvent->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } if (ChkDrawWthr->Visible) { sFacility = FAC_WTHR; sShowIcon = ChkDrawWthr->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); sFacility = FAC_ATMP; sShowIcon = ChkDrawWthr->Checked ? "1" : "0"; sShowInfo = "0"; TCommFlash::CallFunc(ShockwaveFlash1, "ShowFacility", sFacility + "|" + sShowIcon + "|" + sShowInfo); } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShockwaveFlash1FlashCall(TObject *ASender, const WideString request) { try { String sTemp; String sFunc; String sArgs; //KKK|LinkMap 1 sTemp = request; int nFuncStrIdx = sTemp.Pos("\""); int nFuncEndIdx = sTemp.Pos("\" returntype"); int nArgsStrIdx = sTemp.Pos("string>"); int nArgsEndIdx = sTemp.Pos("Visible) { Memo1->Lines->Add("[" + sFunc + "] [" + sArgs + "]"); } if (sFunc == "OnMapStart") { MapStart = true; LblZoomLevel->Caption = sArgs; TCommFlash::CallFunc(ShockwaveFlash1, "MultiSelect", "0"); String sFacility = ""; sFacility += FAC_CCTV + "|"; sFacility += FAC_VMS + "|"; sFacility += FAC_RSE + "|"; sFacility += FAC_WCAM + "|"; sFacility += FAC_VDS + "|"; sFacility += FAC_AVI + "|"; sFacility += FAC_DSRC + "|"; sFacility += FAC_PARK + "|"; sFacility += FAC_INCD + "|"; sFacility += FAC_PVMS + "|"; sFacility += FAC_PVDS + "|"; sFacility += FAC_BIT + "|"; sFacility += FAC_SIG + "|"; sFacility += FAC_SIGDET + "|"; sFacility += FAC_EVENT + "|"; sFacility += FAC_WTHR + "|"; sFacility += FAC_ATMP + "|"; TCommFlash::CallFunc(ShockwaveFlash1, "AddFacilityKind", sFacility); ChkTrafficLayerClick(NULL); //¼ÒÅëÁ¤º¸/ÈùƮǥÃâ¿©ºÎ #if 0 PbLoadMap->Position = 10; PbLoadMap->Properties->Text = "ÇàÁ¤±¸¿ªÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadRegionVertex", "1"); #else PbLoadMap->Position = 20; PbLoadMap->Properties->Text = "³ëµåÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadNode", "1"); #endif } else if (sFunc == "OnRegionVertexLoad") { PbLoadMap->Position = 20; PbLoadMap->Properties->Text = "³ëµåÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadNode", "1"); } else if (sFunc == "OnZoomChanged") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sZoom = pStringList->Strings[0]; delete pStringList; LblZoomLevel->Caption = sZoom; switch(sZoom.ToIntDef(0)) { case 0: m_nMapLevel = 1; break; //LINK case 1: m_nMapLevel = 1; break; //LINK case 2: m_nMapLevel = 2; break; //IFSC case 3: m_nMapLevel = 2; break; //IFSC case 4: m_nMapLevel = 2; break; //IFSC case 5: m_nMapLevel = 3; break; //ROAD default: m_nMapLevel = 3; break; //ROAD } LblLinkLevel->Caption = String(m_nMapLevel); } else if (sFunc == "OnMousePos") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sMapX = pStringList->Strings[0]; //lat String sMapY = pStringList->Strings[1]; //lng delete pStringList; try { SePosX->Value = sMapX.ToDouble(); SePosY->Value = sMapY.ToDouble(); } catch(...) {} } else if (sFunc == "OnNodeLoad") { PbLoadMap->Position = 30; PbLoadMap->Properties->Text = "¸µÅ©Á¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadLink", "1"); } else if (sFunc == "OnLinkLoad") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sResult = pStringList->Strings[0]; String sLevel = pStringList->Strings[1]; delete pStringList; if (sLevel == "1") { PbLoadMap->Position = 40; PbLoadMap->Properties->Text = "Á¤º¸Á¦°ø±¸°£Á¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadLink", "2"); } else if (sLevel == "2") { PbLoadMap->Position = 50; PbLoadMap->Properties->Text = "µµ·ÎÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadLink", "3"); } else if (sLevel == "3") { PbLoadMap->Position = 60; PbLoadMap->Properties->Text = "¸µÅ©¹öÅØ½ºÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadLinkVertex", "1"); } } else if (sFunc == "OnLinkVertexLoad") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sResult = pStringList->Strings[0]; String sLevel = pStringList->Strings[1]; delete pStringList; if (sLevel == "1") { PbLoadMap->Position = 70; PbLoadMap->Properties->Text = "Á¤º¸Á¦°ø±¸°£¹öÅØ½ºÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadLinkVertex", "2"); } else if (sLevel == "2") { PbLoadMap->Position = 80; PbLoadMap->Properties->Text = "µµ·Î¹öÅØ½ºÁ¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); TCommFlash::CallFunc(ShockwaveFlash1, "LoadLinkVertex", "3"); } else if (sLevel == "3") { PbLoadMap->Position = 90; PbLoadMap->Properties->Text = "½Ã¼³¹°Á¤º¸ ·Îµù Áß..."; Application->ProcessMessages(); UpdateFacilityStatus(); //½Ã¼³¹° Ãß°¡ UpdateIncidentStatus(); //µ¹¹ßÃß°¡ UpdateEventStatus(); RefreshMapTraffic(); //¼ÒÅëÁ¤º¸ ¾÷µ¥ÀÌÆ® //TCommFlash::CallFunc(ShockwaveFlash1, "RefreshMap", "1"); PnlProgress->Visible = false; } } else if (sFunc == "OnFindLink") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sResult = pStringList->Strings[0]; //Find resule String sLinkId = pStringList->Strings[1]; //Link Id delete pStringList; } else if (sFunc == "OnSelLink") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sLevl = pStringList->Strings[0]; //¸µÅ©·¹º§ String sId = pStringList->Strings[1]; //¸µÅ©¾ÆÀ̵ð String sZoom = pStringList->Strings[2]; //ÁÜ·¹º§ String sPosX = pStringList->Strings[3]; //x String sPosY = pStringList->Strings[4]; //y String sMapX = pStringList->Strings[5]; //lat String sMapY = pStringList->Strings[6]; //lng delete pStringList; try { SePosX->Value = sMapX.ToDouble(); SePosY->Value = sMapY.ToDouble(); ShowLinkDetailInfo(sId, sLevl.ToIntDef(1)); } catch(...) {} } else if (sFunc == "OnMousePouup") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sType = pStringList->Strings[0]; //À¯Çü String sId = pStringList->Strings[1]; //¾ÆÀ̵ð String sPosX = pStringList->Strings[2]; //x String sPosY = pStringList->Strings[3]; //y String sInfo = pStringList->Strings[4]; //Á¤º¸ delete pStringList; //if (ModeSelect) { OnMapPopupMenu(sType, sId, sPosX, sPosY, sInfo); } } else if (sFunc == "OnFacilityMenu") { TStringList *pStringList = new TStringList; pStringList->CommaText = sArgs; String sType = pStringList->Strings[0]; //½Ã¼³¹°À¯Çü String sId = pStringList->Strings[1]; //½Ã¼³¹°¾ÆÀ̵ð String sPosX = pStringList->Strings[2]; //x String sPosY = pStringList->Strings[3]; //y delete pStringList; //Memo1->Lines->Add(sType + " : " + sId + " " + sPosX + " : " + sPosY); FSelId = sId; POINT p; GetCursorPos(&p); if (sType == FAC_CCTV) pmuCctv->Popup(p.x, p.y); else if (sType == FAC_VMS) pmuVms->Popup(p.x, p.y); else if (sType == FAC_RSE) pmuRse->Popup(p.x, p.y); else if (sType == FAC_WCAM) pmuWebCam->Popup(p.x, p.y); else if (sType == FAC_VDS) pmuVds->Popup(p.x, p.y); else if (sType == FAC_AVI) pmuAvi->Popup(p.x, p.y); else if (sType == FAC_DSRC) pmuDsrc->Popup(p.x, p.y); else if (sType == FAC_BIT) pmuBit->Popup(p.x, p.y); else if (sType == FAC_SIG) pmuSig->Popup(p.x, p.y); else if (sType == FAC_SIGDET) pmuSigDet->Popup(p.x, p.y); else if (sType == FAC_PARK) pmuPark->Popup(p.x, p.y); else if (sType == FAC_PVMS) pmuPis->Popup(p.x, p.y); else if (sType == FAC_PVDS) pmuPis->Popup(p.x, p.y); } } catch(Exception &exception) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::OnMapPopupMenu(String AType, String AId, String APosX, String APosY, String AInfo) { FSelId = AId; POINT p; GetCursorPos(&p); String sType = AType; if (sType == FAC_CCTV) pmuCctv->Popup(p.x, p.y); else if (sType == FAC_VMS) pmuVms->Popup(p.x, p.y); else if (sType == FAC_RSE) pmuRse->Popup(p.x, p.y); else if (sType == FAC_WCAM) pmuWebCam->Popup(p.x, p.y); else if (sType == FAC_VDS) pmuVds->Popup(p.x, p.y); else if (sType == FAC_AVI) pmuAvi->Popup(p.x, p.y); else if (sType == FAC_DSRC) pmuDsrc->Popup(p.x, p.y); else if (sType == FAC_BIT) pmuBit->Popup(p.x, p.y); else if (sType == FAC_SIG) pmuSig->Popup(p.x, p.y); else if (sType == FAC_SIGDET) pmuSigDet->Popup(p.x, p.y); else if (sType == FAC_PARK) pmuPark->Popup(p.x, p.y); else if (sType == FAC_PVMS) pmuPis->Popup(p.x, p.y); else if (sType == FAC_PVDS) pmuPis->Popup(p.x, p.y); else if (sType == FAC_EVENT) pmuEvent->Popup(p.x, p.y); else if (sType == FAC_WTHR) ;//pmuEvent->Popup(p.x, p.y); else if (AType == "MAP") pmuGis->Popup(p.x, p.y); else if (AType == "LINK") { //AInfo == LinkId //pmuGis->Popup(p.x, p.y); } #if 0 else if (AType == "PIS") { pmuPis->Popup(p.x, p.y); } else if (AType == "PCS") { pmuPis->Popup(p.x, p.y); } #endif } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::SelGisItem(int AType, String AId) { try { if (!MapStart) return; switch(AType) { case 0: TCommFlash::CallFunc(ShockwaveFlash1, "MoveNode", AId); break; case 1: TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", AId); break; case 2: TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", AId); break; case 3: TCommFlash::CallFunc(ShockwaveFlash1, "FindLink", AId); break; default: return; } } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::PnlToolBarDblClick(TObject *Sender) { Memo1->Visible = !Memo1->Visible; } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowLayerEditForm() { } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuParkMsgClick(TObject *Sender) { Application->ProcessMessages(); TPoint pt; GetCursorPos(&pt); pt = ITS0000M->ScreenToClient(pt); ShowParkMessage(FSelId, pt); } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::ShowParkMessage(String AId, TPoint pt) { TItsParking *pObj = ItsFacilityManager->FParkLists.Find(FSelId); if (!pObj) return; try { if (pObj->FData1) { TFrmParkMsg *pForm = (TFrmParkMsg *)pObj->FData1; pForm->SetFocus(); } else { TFrmParkMsg *pForm = new TFrmParkMsg(ITS0000M, pObj); pForm->Parent = ITS0000M; if ((pt.x + pForm->Width + 5) > this->Width) { pt.x = this->Width - pForm->Width - 5; } if ((pt.y + pForm->Height + 5) > this->Height) { pt.y = this->Height - pForm->Height - 5; } pForm->Left = Left + pt.x; pForm->Top = Top + pt.y; pObj->FData1 = (void*)pForm; pForm->Show(); } } catch(...) {} } //--------------------------------------------------------------------------- void __fastcall TITS00MAP::mnuViewEventCamClick(TObject *Sender) { Application->ProcessMessages(); TItsEvent *pObj = ItsEventManager->FLists.Find(FSelId); if (pObj == NULL) { Application->MessageBox(L"ºí·¢¹Ú½º À̺¥Æ®¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù.\r\nºí·¢¹Ú½º À̺¥Æ® Á¤º¸¸¦ ´Ù½Ã ¼±ÅÃÇϽʽÿä.", L"ºí·¢¹Ú½º À̺¥Æ® ¿µ»óº¸±â", MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } #if 1 String EventID = FSelId; String BDS_MNGM_NMBR = pObj->BDS_MNGM_NMBR; // N VARCHAR2(20) N ºí·¢¹Ú½º °ü¸® ¹øÈ£ String OPNC_NMBR = pObj->OPNC_NMBR; // N VARCHAR2(128) Y °³Åë ¹øÈ£ String MDM_NMBR = pObj->MDM_NMBR; // N VARCHAR2(10) Y ¸ðµ© ¹øÈ£ String USIM_NMBR = pObj->USIM_NMBR; // N VARCHAR2(10) Y À¯½É ¹øÈ£ String VHCL_NMBR = pObj->VHCL_NMBR; // N VARCHAR2(15) Y Â÷·® ¹øÈ£ String OWNR_NM = pObj->OWNR_NM; // N VARCHAR2(30) Y ¼ÒÀ¯ÀÚ ¸í String OCRR_DT = pObj->OCRR_DT; // N VARCHAR2(14) N ¹ß»ý ÀϽà String EVT_TYPE = pObj->EVT_TYPE; String TRMN_ID = pObj->TRMN_ID; // N VARCHAR2(128) Y ´Ü¸»±â ID String X_CRDN = pObj->X_CRDN; // N NUMBER(11,8) Y x ÁÂÇ¥ String Y_CRDN = pObj->Y_CRDN; // N NUMBER(10,8) Y Y ÁÂÇ¥ String IMGN_PATH = pObj->IMGN_PATH; // N VARCHAR2(200) Y ¿µ»ó °æ·Î OWNR_NM = StringReplace(OWNR_NM, "|", " ", TReplaceFlags() << rfReplaceAll); String AClassName = "TFrmFtpCamViewer"; HWND hExeForm = FindWindow(AClassName.c_str(), NULL); if (hExeForm) { SetWindowPos(hExeForm, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE); } else { String sExeName = g_sAppDir + "FtpCamViewer.exe"; String sExeParam = EventID + "|" + BDS_MNGM_NMBR + "|" + OPNC_NMBR + "|" + MDM_NMBR + "|" + USIM_NMBR + "|" + VHCL_NMBR + "|" + OWNR_NM + "|" + OCRR_DT + "|" + EVT_TYPE + "|" + TRMN_ID + "|" + X_CRDN + "|" + Y_CRDN + "|" + IMGN_PATH ; //ShellExecute(FrmMain->Handle, NULL, sExeName.c_str(), sExeParam.c_str(), NULL, SW_SHOWNORMAL); ShellExecute(NULL, NULL, sExeName.c_str(), sExeParam.c_str(), NULL, SW_SHOWNORMAL); } #else try { BDS0000M = new TBDS0000M(this); BDS0000M->EventID = FSelId; BDS0000M->BDS_MNGM_NMBR = pObj->BDS_MNGM_NMBR; // N VARCHAR2(20) N ºí·¢¹Ú½º °ü¸® ¹øÈ£ BDS0000M->OPNC_NMBR = pObj->OPNC_NMBR; // N VARCHAR2(128) Y °³Åë ¹øÈ£ BDS0000M->MDM_NMBR = pObj->MDM_NMBR; // N VARCHAR2(10) Y ¸ðµ© ¹øÈ£ BDS0000M->USIM_NMBR = pObj->USIM_NMBR; // N VARCHAR2(10) Y À¯½É ¹øÈ£ BDS0000M->VHCL_NMBR = pObj->VHCL_NMBR; // N VARCHAR2(15) Y Â÷·® ¹øÈ£ BDS0000M->OWNR_NM = pObj->OWNR_NM; // N VARCHAR2(30) Y ¼ÒÀ¯ÀÚ ¸í BDS0000M->OCRR_DT = pObj->OCRR_DT; // N VARCHAR2(14) N ¹ß»ý ÀϽà BDS0000M->EVT_TYPE = pObj->EVT_TYPE; BDS0000M->TRMN_ID = pObj->TRMN_ID; // N VARCHAR2(128) Y ´Ü¸»±â ID BDS0000M->X_CRDN = pObj->X_CRDN; // N NUMBER(11,8) Y x ÁÂÇ¥ BDS0000M->Y_CRDN = pObj->Y_CRDN; // N NUMBER(10,8) Y Y ÁÂÇ¥ BDS0000M->IMGN_PATH = pObj->IMGN_PATH; // N VARCHAR2(200) Y ¿µ»ó °æ·Î BDS0000M->ShowModal(); } __finally { if (BDS0000M) delete BDS0000M; BDS0000M = NULL; } #endif } //---------------------------------------------------------------------------