//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #include "CDSIfsc_VMSF.h" #include "CDSNodeF.h" #include "ITSLangTransF.h" #include "ITSMapF.h" #include "WindowMsgF.h" #pragma hdrstop #include "VMSMA00MF.h" #include "VMSMA10MF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCheckBox" #pragma link "cxClasses" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxDropDownEdit" #pragma link "cxEdit" #pragma link "cxFilter" #pragma link "cxGraphics" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxSplitter" #pragma link "cxStyles" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinCaramel" #pragma link "dxSkinCoffee" #pragma link "dxSkinDarkRoom" #pragma link "dxSkinDarkSide" #pragma link "dxSkinFoggy" #pragma link "dxSkinGlassOceans" #pragma link "dxSkiniMaginary" #pragma link "dxSkinLilian" #pragma link "dxSkinLiquidSky" #pragma link "dxSkinLondonLiquidSky" #pragma link "dxSkinMcSkin" #pragma link "dxSkinMoneyTwins" #pragma link "dxSkinOffice2007Black" #pragma link "dxSkinOffice2007Blue" #pragma link "dxSkinOffice2007Green" #pragma link "dxSkinOffice2007Pink" #pragma link "dxSkinOffice2007Silver" #pragma link "dxSkinOffice2010Black" #pragma link "dxSkinOffice2010Blue" #pragma link "dxSkinOffice2010Silver" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma link "dxSkinSeven" #pragma link "dxSkinSharp" #pragma link "dxSkinSilver" #pragma link "dxSkinStardust" #pragma link "FRAME_VmsEvspListF" #pragma link "FRAME_OpenMapF" #pragma link "cxClasses" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxFilter" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxStyles" #pragma link "dxSkinscxPCPainter" #pragma link "cxCalc" #pragma resource "*.dfm" TVMSMA00M *VMSMA00M = NULL; //--------------------------------------------------------------------------- void TVMSMA00M_MapCallback(TObject *ASender, const String AFunc, const String AArgs, const bool AFirst) { try { if (!VMSMA00M) return; VMSMA00M->OpenMapCallback(ASender, AFunc, AArgs, AFirst); } catch(Exception &exception) { } } //--------------------------------------------------------------------------- __fastcall TVMSMA00M::TVMSMA00M(TComponent* Owner) : TForm(Owner) { LangTrans->Translate(this, ITSDb_GetConnection()); ITSSkin_Load(this); CMM_LoadForm(g_sFormsDir, this); UpdateSkin(); FUpdate= false; FTitle = Caption;//"VMS Á¤º¸Á¦°ø±¸°£ °ü¸®"; if (!ItsNodeManager) { ItsNodeManager = new TItsNodeManager(); ItsNodeManager->LoadFromDb(); } if (!LinkManager) { LinkManager = new TLinkManager(); LinkManager->LoadFromDb(); if (g_AppCfg.isLoadFromFile) { LinkManager->LoadVrtxFromFile(); } else { LinkManager->LoadVrtxFromDb(); } } VmsEvspManager->LoadFromDb(); m_pGDC = FRAMEVmsEvspList1->TvList->DataController; FRAMEVmsEvspList1->PnlTop->Visible = false; FRAMEVmsEvspList1->PnlBottom->Visible = false; FRAMEVmsEvspList1->ColumnSel->Visible = false; FLayerIdx = LyrTp_Vms; FRAMEOpenMap1->LayerIdx = FLayerIdx; FRAMEOpenMap1->ChkShowNmbr->Visible = false; FRAMEOpenMap1->BtnMapSelect->Visible = false; FRAMEOpenMap1->MapCallbackFunc = TVMSMA00M_MapCallback; EditMode = false; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::UpdateSkin() { Label17->Transparent = false; Label18->Transparent = false; Label19->Transparent = false; Label01->Transparent = false; Label02->Transparent = false; Label03->Transparent = false; Label17->ParentColor = false; Label17->Color = clSilver; Label18->ParentColor = false; Label18->Color = clSilver; Label19->ParentColor = false; Label19->Color = clSilver; Label01->ParentColor = false; Label01->Color = clRed; Label02->ParentColor = false; Label02->Color = clYellow; Label03->ParentColor = false; Label03->Color = clLime; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::CommClose() { try { CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::FillDetrList(int ADetrId) { #if 0 CbDetr->Properties->Items->Clear(); CbDetr->Properties->Items->Add(lblNone->Caption);//"¾øÀ½"); FOR_STL(TVmsEvsp *, pObj, VmsEvspManager->FLists) { if (pObj->DEL_YN == "Y") continue; if (ADetrId == pObj->VMS_EVSP_ID) continue; CbDetr->Properties->Items->Add(" [" + String(pObj->VMS_EVSP_ID) + "] " + pObj->VMS_EVSP_NM); } #endif CbDetr->ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::FormShow(TObject *Sender) { Refresh(); UpdateSkin(); FRAMEOpenMap1->OpenMap(); FormInit(); ChangeEditMode(1); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::FormInit() { //Á¦°ø±¸°£¸ñ·ÏÀÌ ÃʱâÈ­µÇ±âÀü¿¡ ÀÌÀüÁ¤º¸¸¦ Áöµµ¿¡¼­ Áö¿öÁØ´Ù. if (FRAMEOpenMap1->MapStart) { int nRow; TcxDataController *pGDC = TvLink->DataController; try { int nSeq = 1; for (int ii = 0; ii < pGDC->RecordCount; ii++) { String sLinkId = pGDC->Values[ii][ColLink2->Index]; sJs.printf(L"updateEditLink('%s', 0)", sLinkId.c_str()); FRAMEOpenMap1->ExecScript(sJs); } } catch(...) { } } EdIfscId->Text = ""; EdIfscNm->Text = ""; EdStrNm->Text = ""; EdEndNm->Text = ""; EdRoadNm->Text = ""; EdSpotNm->Text = ""; CbDetr->ItemIndex = 0; CMM_ClearGridTableView(TvLink); EdLinkId->Text = ""; EdMin1->Text = "20"; EdMax1->Text = "180"; EdMin2->Text = "10"; EdMax2->Text = "19"; EdMin3->Text = "0"; EdMax3->Text = "9"; EdCngsSpd->Text = "10"; ChkAxisYn->Checked = false; FNewDb = false; } //--------------------------------------------------------------------------- bool __fastcall TVMSMA00M::CheckSpeedValue() { #if 0 if (EdMin1->Text == "" || EdMax1->Text == "" || EdMin2->Text == "" || EdMax2->Text == "" || EdMin3->Text == "" || EdMax3->Text == "" ) { Application->MessageBox(lblSpdErr->Caption.c_str(),//L"¼ÓµµÁ¤º¸°¡ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.\r\n¼ÓµµÁ¤º¸¸¦ È®ÀÎÇϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return false; } #endif return true; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; UpdateList(); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::UpdateList() { FRAMEVmsEvspList1->UpdateList(); //FillDetrList(0); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); VMSMA00M = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::FormCloseQuery(TObject *Sender, bool &CanClose) { if (FUpdate) { POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0); } FRAMEVmsEvspList1->OnCloseQuery(CanClose); FRAMEOpenMap1->OnCloseQuery(CanClose); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::DisplayInfo(TVmsEvsp* AObj) { FormInit(); if (!AObj) return; EdIfscId->Text = String(AObj->VMS_EVSP_ID); EdIfscNm->Text = AObj->VMS_EVSP_NM; EdStrNm->Text = AObj->DSPL_STRT_NODE_NM; EdEndNm->Text = AObj->DSPL_END_NODE_NM; EdRoadNm->Text = AObj->ROAD_NM; EdSpotNm->Text = AObj->SPOT_NM; #if 0 if (AObj->DETR_ID == 0) CbDetr->ItemIndex = 0; else APP_SetCode(CbDetr, String(AObj->DETR_ID)); EdMin1->Text = String(AObj->MIN[0]); EdMax1->Text = String(AObj->MAX[0]); EdMin2->Text = String(AObj->MIN[1]); EdMax2->Text = String(AObj->MAX[1]); EdMin3->Text = String(AObj->MIN[2]); EdMax3->Text = String(AObj->MAX[2]); EdCngsSpd->Text = String(AObj->CNGS_SPD); #endif ChkAxisYn->Checked = AObj->AXIS_YN == "Y" ? true : false; ChangeEditMode(3); DisplayLink(AObj); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::DisplayLink(TVmsEvsp* AObj) { if (!AObj) return; CMM_ClearGridTableView(TvLink); String sLinkIds = ""; try { int nRow; TcxDataController *pGDC = TvLink->DataController; TvLink->BeginUpdate(); FOR_STL(TVmsEvspLink *, pObj, AObj->FLists) { nRow = pGDC->AppendRecord(); pGDC->Values[nRow][ColLink2->Index] = pObj->LINK_ID; pGDC->Values[nRow][ColLink3->Index] = pObj->LINK_NM; String STRT_NM = ""; String END_NM = ""; TLink *pTmp = LinkManager->FLists.Find(pObj->LINK_ID); if (pTmp) { TItsNode *pFromNode = ItsNodeManager->FLists.Find(pTmp->F_NODE_ID); if (pFromNode) STRT_NM = pFromNode->NODE_NAME; TItsNode *pToNode = ItsNodeManager->FLists.Find(pTmp->T_NODE_ID); if (pToNode) END_NM = pToNode->NODE_NAME; } pGDC->Values[nRow][ColLink4->Index] = STRT_NM; pGDC->Values[nRow][ColLink5->Index] = END_NM; if (sLinkIds == "") sLinkIds = pObj->LINK_ID; else sLinkIds = sLinkIds + ","+pObj->LINK_ID; } } __finally { TvLink->EndUpdate(); } RefreshLink(); if (sLinkIds != "") { sJs.printf(L"extentLayerObject(%d, '%s')", LyrTp_Traffic, sLinkIds.c_str()); FRAMEOpenMap1->ExecScript(sJs); } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnEditClick(TObject *Sender) { if (BtnEdit->Caption == FrmLang->lblEdit->Caption)//"ÆíÁý") { ChangeEditMode(0); FNewDb = false; } else { String sId = EdIfscId->Text; ChangeEditMode(1); CMM_SetGridRow(FRAMEVmsEvspList1->CxList, FRAMEVmsEvspList1->TvList, sId, FRAMEVmsEvspList1->Column01->Index); int nRow = FRAMEVmsEvspList1->TvList->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; int nMemPtr = FRAMEVmsEvspList1->TvList->DataController->Values[nRow][FRAMEVmsEvspList1->Column99->Index]; TVmsEvsp* pObj = (TVmsEvsp*)nMemPtr; DisplayInfo(pObj); } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::ChangeEditMode(int AEdit) { bool bGisEdit = true; bool bEnabled = false; switch(AEdit) { case 0: //ÆíÁý¹öưŬ¸¯ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = FrmLang->lblCancel->Caption;//"Ãë¼Ò"; BtnEdit->Hint = FrmLang->lblCancel->Hint;//µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; EditMode = true; } break; case 1: //ÆíÁý[Ãë¼Ò]¹öưŬ¸¯ { FormInit(); //È­¸éÀ» ¸ðµÎ Áö¿î´Ù. BtnEdit->Enabled = false; BtnInsert->Enabled = true; BtnDelete->Enabled = false; BtnSave->Enabled = false; BtnEdit->Caption = FrmLang->lblEdit->Caption;//"ÆíÁý"; BtnEdit->Hint = FrmLang->lblEdit->Hint;//µ¥ÀÌÅÍ ÆíÁý"; bEnabled = true; bGisEdit = false; EditMode = false; } break; case 2: //Ãß°¡ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = FrmLang->lblCancel->Caption;//"Ãë¼Ò"; BtnEdit->Hint = FrmLang->lblCancel->Hint;//µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; EditMode = true; } break; case 3: //¼öÁ¤¸ðµå { BtnEdit->Enabled = true; BtnInsert->Enabled = true; BtnDelete->Enabled = true; BtnSave->Enabled = false; BtnEdit->Caption = FrmLang->lblEdit->Caption;//"ÆíÁý"; BtnEdit->Hint = FrmLang->lblEdit->Hint;//µ¥ÀÌÅÍ ÆíÁý"; bEnabled = true; EditMode = false; } break; } if (AEdit == 0 || AEdit == 2) { FRAMEVmsEvspList1->CxList->Enabled = false; } else { FRAMEVmsEvspList1->CxList->Enabled = true; } GrpInfo->Enabled = EditMode; //GrpLink->Enabled = EditMode; PnlLink->Enabled = EditMode; //BtnLinkAdd->Enabled = !bEnabled; BtnLinkDel->Enabled = !bEnabled; #if 0 FRAMEGisMap1->ImgSel->Enabled = false; if (FRAMEGisMap1->MapStart) { //TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "ClearSelLink", "0"); RefreshLink(); FRAMEGisMap1->ImgSel->Enabled = bGisEdit; if (bGisEdit == false) { TCommFlash::CallFunc(FRAMEGisMap1->ShockwaveFlash1, "SelectMode", "0"); //PAN } } #endif } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnInsertClick(TObject *Sender) { FormInit(); //½Å±Ô¾ÆÀ̵𸦠¾ò¾î¿Í¼­ È­¸éÀ» ÃʱâÈ­ÇÑ´Ù. int nIfscId; if (!VmsEvspManager->GetNextVmsEvspId(nIfscId)) { Application->MessageBox(lblText1->Caption.c_str(),//L"»õ·Î¿î VMS Á¤º¸Á¦°ø±¸°£Á¤º¸¸¦ »ý¼ºÇÏÁö ¸øÇÏ¿´½À´Ï´Ù.\r\nÇÁ·Î±×·¥ Á¾·áÈÄ¿¡ ´Ù½Ã ½ÃµµÇØ º¸¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } EdIfscId->Text = String(nIfscId); ChangeEditMode(2); FNewDb = true; } //--------------------------------------------------------------------------- bool __fastcall TVMSMA00M::CheckDeleteIfsc(String AIfscId) { String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); pADO->SQL->Clear(); sQry = "SELECT COUNT(1) AS CNT FROM TB_VMS_RLTN_EVSP WHERE VMS_EVSP_ID = :p01"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AIfscId); ITSDb_SQLOpen(pADO); if (pADO->FieldByName("CNT")->AsInteger > 0) { Application->MessageBox(lblText2->Caption.c_str(),//L"»èÁ¦ÇÒ Á¦°ø±¸°£ÀÌ VMS Á¦¾î±â¿¡ ¸ÊÇεǾî ÀÖ½À´Ï´Ù.\r\n¸ÕÀú ÇØ´ç Á¦¾î±â¿¡¼­ »èÁ¦ÇØÁֽñ⠹ٶø´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return false; } } catch(EDatabaseError &E) { DBERRORMSG("VMS Section delete", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("VMS Section delete", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnDeleteClick(TObject *Sender) { int nIdx = m_pGDC->FocusedRecordIndex; if (nIdx < 0) return; String sIfscId = EdIfscId->Text; TVmsEvsp *pObj = VmsEvspManager->FLists.Find(sIfscId.ToIntDef(0)); if (!pObj) { Application->MessageBox(lblText4->Caption.c_str(),//L"»èÁ¦ÇÒ Á¦°ø±¸°£Á¤º¸¸¦ ¸ñ·Ï¿¡¼­ ¼±ÅÃÇϼ¼¿ä.\r\n¸ñ·Ï¿¡¼­ ´õºíŬ¸¯ÇÏ¿© ¼±ÅÃÇÕ´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } if (sIfscId.IsEmpty()) { Application->MessageBox(lblText4->Caption.c_str(),//L"»èÁ¦ÇÒ Á¦°ø±¸°£Á¤º¸¸¦ ¸ñ·Ï¿¡¼­ ¼±ÅÃÇϼ¼¿ä.\r\n¸ñ·Ï¿¡¼­ ´õºíŬ¸¯ÇÏ¿© ¼±ÅÃÇÕ´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } if (!CheckDeleteIfsc(sIfscId)) { return; } String sMsg; sMsg = lblText5->Caption + ": " + sIfscId;//"Á¤º¸Á¦°ø±¸°£ ID: " + sIfscId; sMsg+= "\r\n" + lblText6->Caption;//"¼±ÅÃÇϽŠÁ¤º¸Á¦°ø±¸°£ Á¤º¸¸¦ »èÁ¦ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; if (VmsEvspManager->DeleteVmsEvsp(pObj)) { pObj->DEL_YN = "Y"; pObj->USE_YN = "N"; VmsEvspManager->FLists.Remove(sIfscId.ToIntDef(-1)); UpdateList(); Application->MessageBox(lblText7->Caption.c_str(),//L"Á¤º¸Á¦°ø±¸°£ Á¤º¸ »èÁ¦\r\nÁ¤º¸Á¦°ø±¸°£ Á¤º¸¸¦ »èÁ¦ ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } FUpdate = true; FormInit(); ChangeEditMode(1); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnSaveClick(TObject *Sender) { TVmsEvsp *pObj; if (EdIfscId->Text.IsEmpty() || EdIfscNm->Text.Trim().IsEmpty() //|| EdStrNm->Text.Trim().IsEmpty() //|| EdEndNm->Text.Trim().IsEmpty() ) { Application->MessageBox(FrmLang->lblNecessary->Caption.c_str(),//L"¡ÚÇ׸ñÀº Çʼö ÀÔ·Â Ç׸ñÀÔ´Ï´Ù.\r\n¸ðµÎ ÀÔ·ÂÈÄ ÁøÇàÇØ ÁÖ¼¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } if (!CheckSpeedValue()) return; if (EdCngsSpd->Text == "") EdCngsSpd->Text = "10"; String sIfscId = EdIfscId->Text; int nIfscId = sIfscId.ToInt(); String sDetrId = ""; int nDetrId = 0; #if 0 if (CbDetr->ItemIndex == 0) nDetrId = 0; else { String sDetrId = APP_GetCode(CbDetr); nDetrId = sDetrId.ToIntDef(0); } if (nDetrId == nIfscId) { Application->MessageBox(lblText8->Caption.c_str(),//L"¿ìȸµµ·Î ÀԷ¿À·ù\r\n¿ìȸµµ·Î´Â ÀÚ±âÀÚ½ÅÀ» µî·ÏÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } #endif if (FNewDb) { pObj = new TVmsEvsp(); } else { pObj = VmsEvspManager->FLists.Find(nIfscId); } if (!pObj) { return; } if (pObj) { pObj->VMS_EVSP_ID = nIfscId; pObj->VMS_EVSP_NM = EdIfscNm->Text.Trim(); pObj->DSPL_STRT_NODE_NM = EdStrNm->Text.Trim(); pObj->DSPL_END_NODE_NM = EdEndNm->Text.Trim(); pObj->ROAD_NM = EdRoadNm->Text.Trim(); pObj->SPOT_NM = EdSpotNm->Text.Trim(); pObj->DETR_ID = nDetrId; pObj->AXIS_YN = ChkAxisYn->Checked ? "Y" : "N"; if (FNewDb) pObj->USE_YN = "Y"; else pObj->USE_YN = "Y"; #if 0 pObj->MIN[0] = EdMin1->Text.ToInt(); pObj->MAX[0] = EdMax1->Text.ToInt(); pObj->MIN[1] = EdMin2->Text.ToInt(); pObj->MAX[1] = EdMax2->Text.ToInt(); pObj->MIN[2] = EdMin3->Text.ToInt(); pObj->MAX[2] = EdMax3->Text.ToInt(); pObj->CNGS_SPD = EdCngsSpd->Text.ToInt(); #endif pObj->DEL_YN = "N"; pObj->Completed = true; pObj->MEM_DEL = "N"; pObj->FLists.RemoveAll(); try { TvLink->BeginUpdate(); for (int ii = 0; ii < TvLink->DataController->RecordCount; ii++) { String sLinkId = VarToStr(TvLink->DataController->Values[ii][ColLink2->Index]); String sLinkNm = VarToStr(TvLink->DataController->Values[ii][ColLink3->Index]); String sStrNm = VarToStr(TvLink->DataController->Values[ii][ColLink4->Index]); String sEndNm = VarToStr(TvLink->DataController->Values[ii][ColLink5->Index]); TVmsEvspLink *pObjLnk = new TVmsEvspLink(); pObjLnk->VMS_EVSP_ID = pObj->VMS_EVSP_ID; pObjLnk->LINK_ID = sLinkId; pObjLnk->ORD = ii+1; pObjLnk->LINK_NM = sLinkNm; pObj->FLists.Push(pObjLnk->ORD, pObjLnk); } } __finally { TvLink->EndUpdate(); } bool bResult; if (FNewDb) bResult = VmsEvspManager->InsertVmsEvsp(pObj); else bResult = VmsEvspManager->UpdateVmsEvsp(pObj); if (bResult) { Application->MessageBox(lblText9->Caption.c_str(),//L"Á¤º¸Á¦°ø±¸°£Á¤º¸ÀúÀå\r\nÁ¤º¸Á¦°ø±¸°£Á¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); if (FNewDb) { VmsEvspManager->FLists.Push(pObj->VMS_EVSP_ID, pObj); } FUpdate = true; UpdateList(); CMM_SetGridRow(FRAMEVmsEvspList1->CxList, FRAMEVmsEvspList1->TvList, sIfscId, FRAMEVmsEvspList1->Column01->Index); int nRow = FRAMEVmsEvspList1->TvList->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; int nMemPtr = FRAMEVmsEvspList1->TvList->DataController->Values[nRow][FRAMEVmsEvspList1->Column99->Index]; TVmsEvsp* pObj = (TVmsEvsp*)nMemPtr; DisplayInfo(pObj); } } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::RefreshLink() { if (!FRAMEOpenMap1->MapStart) return; try { int nRow; TcxDataController *pGDC = TvLink->DataController; TvLink->BeginUpdate(); try { int nSeq = 1; for (int ii = 0; ii < pGDC->RecordCount; ii++) { pGDC->Values[ii][ColSeq->Index] = nSeq; String sLinkId = pGDC->Values[ii][ColLink2->Index]; sJs.printf(L"updateEditLink('%s', %d)", sLinkId.c_str(), nSeq); FRAMEOpenMap1->ExecScript(sJs); if (nSeq++ > ITSMAP_MAX_DISPCOLOR) nSeq = 1; } } catch(...) { } } __finally { TvLink->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::UpdateIcon() { if (!FRAMEOpenMap1->MapStart) return; String arrObj = ""; String sTemp; try { VmsCtlrManager->FLists.Lock(); try { FOR_STL(TVmsCtlr*, pObj, VmsCtlrManager->FLists) { if (pObj->DEL_YN == "Y") continue; if (arrObj != "") arrObj += "|"; sTemp.printf(L"%s,%s,%s,%.6f,%.6f,0,0,0,0", pObj->VMS_CTLR_NMBR.c_str(), pObj->VMS_CTLR_ID.c_str(), pObj->VMS_NM.c_str(), pObj->X_CRDN, pObj->Y_CRDN); arrObj += sTemp; } } __finally { VmsCtlrManager->FLists.UnLock(); if (arrObj != "") { sJs.printf(L"addFacility(%d, '%s')", FLayerIdx, arrObj.c_str()); FRAMEOpenMap1->ExecScript(sJs); sJs.printf(L"showLayerText(%d, %d)", FLayerIdx, (ChkViewIcon->Checked) ? 1: 0); FRAMEOpenMap1->ExecScript(sJs); } } } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::UpdateEditLink() { if (!FRAMEOpenMap1->MapStart) return; TItsNode* pNode; String STRT_NM; String END_NM; try { LinkManager->FLists.Lock(); try { FOR_STL(TLink*, pObj, LinkManager->FLists) { if (pObj->DEL_YN == "Y") continue; if (pObj->IsVertex == false) continue; pNode = ItsNodeManager->FLists.Find(pObj->F_NODE_ID); if (pNode) STRT_NM = pNode->NODE_NAME; else STRT_NM = " "; pNode = ItsNodeManager->FLists.Find(pObj->T_NODE_ID); if (pNode) END_NM = pNode->NODE_NAME; else END_NM = " "; sJs.printf(L"addEditLink('%s', '%s', '%s', '%s', '%s', '%s')", pObj->LINK_ID.c_str(), pObj->ROAD_NAME.c_str(), STRT_NM.c_str(), END_NM.c_str(), pObj->X_CRDN_ARR.c_str(), pObj->Y_CRDN_ARR.c_str()); FRAMEOpenMap1->ExecScript(sJs); } } __finally { LinkManager->FLists.UnLock(); } FRAMEOpenMap1->ExecScript("makeEditLinkLayer()"); } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::TvLinkCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (!FRAMEOpenMap1->MapStart) return; if (!ACellViewInfo) return; int nRow = TvLink->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; String sLinkId = TvLink->DataController->Values[nRow][ColLink2->Index]; sJs.printf(L"extentLayerObject(%d, '%s')", LyrTp_Traffic, sLinkId.c_str()); FRAMEOpenMap1->ExecScript(sJs); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::FRAMEVmsEvspList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (!ACellViewInfo) return; int nRow = FRAMEVmsEvspList1->TvList->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; int nMemPtr = FRAMEVmsEvspList1->TvList->DataController->Values[nRow][FRAMEVmsEvspList1->Column99->Index]; TVmsEvsp* pObj = (TVmsEvsp*)nMemPtr; DisplayInfo(pObj); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::EdMin3KeyPress(TObject *Sender, wchar_t &Key) { if (Key > '9' || Key < '0') { if (Key != VK_BACK && Key != VK_TAB && Key != '-') Key = 0; } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnSaveAllClick(TObject *Sender) { #if 0 String sMsg; sMsg = ""; sMsg+= "\r\n" + lblText10->Caption;//"Á¦°ø±¸°£ ¼ÓµµÁ¤º¸¸¦ Àüü Á¦°ø±¸°£¿¡ µ¿ÀÏÇÏ°Ô Àû¿ë ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; if (!CheckSpeedValue()) return; int MIN1 = EdMin1->Text.ToInt(); int MAX1 = EdMax1->Text.ToInt(); int MIN2 = EdMin2->Text.ToInt(); int MAX2 = EdMax2->Text.ToInt(); int MIN3 = EdMin3->Text.ToInt(); int MAX3 = EdMax3->Text.ToInt(); TVmsEvsp* pObj = NULL; try { pObj = new TVmsEvsp(); pObj->MIN[0] = EdMin1->Text.ToInt(); pObj->MAX[0] = EdMax1->Text.ToInt(); pObj->MIN[1] = EdMin2->Text.ToInt(); pObj->MAX[1] = EdMax2->Text.ToInt(); pObj->MIN[2] = EdMin3->Text.ToInt(); pObj->MAX[2] = EdMax3->Text.ToInt(); if (VmsEvspManager->UpdateIfscSpeedInfo(pObj)) { FUpdate = true; FOR_STL(TVmsEvsp*, pTmpObj, VmsEvspManager->FLists) { if (pTmpObj->DEL_YN == "Y") continue; //for(int ii = 0; ii < 3; ii++) //{ // pTmpObj->MIN[ii] = pObj->MIN[ii]; // pTmpObj->MAX[ii] = pObj->MAX[ii]; //} } Application->MessageBox(lblText11->Caption.c_str(),//L"Á¦°ø±¸°£ ¼ÓµµÁ¤º¸ÀúÀå\r\nÁ¦°ø±¸°£ ¼Óµµ Á¤º¸¸¦ Àüü Á¦°ø±¸°£¿¡ Àû¿ë ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } } __finally { if (pObj) { delete pObj; pObj = NULL; } } #endif } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::AddRemoveLink(String ALinkId) { TLink* pObj = LinkManager->FLists.Find(ALinkId); if (!pObj) return; TItsNode* pNode; String STRT_NM; String END_NM; try { int nRow; TcxDataController *pGDC = TvLink->DataController; TvLink->BeginUpdate(); for (int ii = 0; ii < pGDC->RecordCount; ii++) { String sLinkId = pGDC->Values[ii][ColLink2->Index]; if (ALinkId == sLinkId) { //pGDC->DeleteRecord(ii); return; } } pNode = ItsNodeManager->FLists.Find(pObj->F_NODE_ID); if (pNode) STRT_NM = pNode->NODE_NAME; else STRT_NM = " "; pNode = ItsNodeManager->FLists.Find(pObj->T_NODE_ID); if (pNode) END_NM = pNode->NODE_NAME; else END_NM = " "; nRow = pGDC->AppendRecord(); pGDC->Values[nRow][ColLink2->Index] = ALinkId; pGDC->Values[nRow][ColLink3->Index] = pObj->ROAD_NAME; pGDC->Values[nRow][ColLink4->Index] = STRT_NM; pGDC->Values[nRow][ColLink5->Index] = END_NM; } __finally { TvLink->EndUpdate(); RefreshLink(); } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnLinkCopyClick(TObject *Sender) { String sIfscId = EdLinkId->Text.Trim(); int nIfscId = sIfscId.ToIntDef(0); TVmsEvsp *pIfsc = VmsEvspManager->FLists.Find(nIfscId); if (!pIfsc) return; try { int nRow; TcxDataController *pGDC = TvLink->DataController; TvLink->BeginUpdate(); FOR_STL(TVmsEvspLink *, pObj, pIfsc->FLists) { nRow = pGDC->AppendRecord(); pGDC->Values[nRow][ColLink2->Index] = pObj->LINK_ID; pGDC->Values[nRow][ColLink3->Index] = pObj->LINK_NM; String STRT_NM = ""; String END_NM = ""; TLink *pTmp = LinkManager->FLists.Find(pObj->LINK_ID); if (pTmp) { TItsNode *pFromNode = ItsNodeManager->FLists.Find(pTmp->F_NODE_ID); if (pFromNode) STRT_NM = pFromNode->NODE_NAME; TItsNode *pToNode = ItsNodeManager->FLists.Find(pTmp->T_NODE_ID); if (pToNode) END_NM = pToNode->NODE_NAME; } pGDC->Values[nRow][ColLink4->Index] = STRT_NM; pGDC->Values[nRow][ColLink5->Index] = END_NM; } } __finally { TvLink->EndUpdate(); } RefreshLink(); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnLinkDelClick(TObject *Sender) { int nSelRows = TvLink->Controller->SelectedRowCount; if (nSelRows <= 0) { Application->MessageBox(lblText13->Caption.c_str(),//L"»èÁ¦¸¦ ¿øÇÏ´Â ±¸°£À» ¸ñ·Ï¿¡¼­ ¼±ÅÃÇϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } for (int ii = 0; ii < nSelRows; ii++) { int nSelIdx = TvLink->Controller->SelectedRows[ii]->RecordIndex; String sLinkId = TvLink->DataController->Values[nSelIdx][ColLink2->Index]; sJs.printf(L"updateEditLink('%s', 0)", sLinkId.c_str()); FRAMEOpenMap1->ExecScript(sJs); } TvLink->Controller->DeleteSelection(); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnUpClick(TObject *Sender) { try { TvLink->BeginUpdate(); int nCurIdx = TvLink->DataController->FocusedRowIndex;//FocusedRecordIndex; if (nCurIdx <= 0) { return; } int nUpIdx = nCurIdx-1; try { String sVal1 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink1->Index]); String sVal2 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink2->Index]); String sVal3 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink3->Index]); String sVal4 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink4->Index]); String sVal5 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink5->Index]); TvLink->DataController->Values[nCurIdx][ColLink1->Index] = TvLink->DataController->Values[nUpIdx][ColLink1->Index]; TvLink->DataController->Values[nCurIdx][ColLink2->Index] = TvLink->DataController->Values[nUpIdx][ColLink2->Index]; TvLink->DataController->Values[nCurIdx][ColLink3->Index] = TvLink->DataController->Values[nUpIdx][ColLink3->Index]; TvLink->DataController->Values[nCurIdx][ColLink4->Index] = TvLink->DataController->Values[nUpIdx][ColLink4->Index]; TvLink->DataController->Values[nCurIdx][ColLink5->Index] = TvLink->DataController->Values[nUpIdx][ColLink5->Index]; TvLink->DataController->Values[nUpIdx][ColLink1->Index] = sVal1; TvLink->DataController->Values[nUpIdx][ColLink2->Index] = sVal2; TvLink->DataController->Values[nUpIdx][ColLink3->Index] = sVal3; TvLink->DataController->Values[nUpIdx][ColLink4->Index] = sVal4; TvLink->DataController->Values[nUpIdx][ColLink5->Index] = sVal5; TvLink->Controller->ClearSelection(); TvLink->Controller->FocusedRowIndex = nUpIdx; //TvLink->Controller->FocusedRecordIndex = nUpIdx; TvLink->ViewData->Records[nUpIdx]->Focused = true; TvLink->ViewData->Records[nUpIdx]->Selected = true; CxLink->SetFocus(); //TcxCustomGridRow* ARow = TvLink->ViewData->Rows[TvLink->DataController->FocusedRowIndex]; } catch(...) { } } __finally { TvLink->EndUpdate(); } RefreshLink(); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnDownClick(TObject *Sender) { try { TvLink->BeginUpdate(); int nCurIdx = TvLink->DataController->FocusedRowIndex;//FocusedRecordIndex; //int nCurIdx = TvLink->DataController->FocusedRecordIndex; if (nCurIdx < 0) { return; } if (nCurIdx == TvLink->DataController->RecordCount-1) { return; } int nDnIdx = nCurIdx+1; try { String sVal1 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink1->Index]); String sVal2 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink2->Index]); String sVal3 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink3->Index]); String sVal4 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink4->Index]); String sVal5 = VarToStr(TvLink->DataController->Values[nCurIdx][ColLink5->Index]); TvLink->DataController->Values[nCurIdx][ColLink1->Index] = TvLink->DataController->Values[nDnIdx][ColLink1->Index]; TvLink->DataController->Values[nCurIdx][ColLink2->Index] = TvLink->DataController->Values[nDnIdx][ColLink2->Index]; TvLink->DataController->Values[nCurIdx][ColLink3->Index] = TvLink->DataController->Values[nDnIdx][ColLink3->Index]; TvLink->DataController->Values[nCurIdx][ColLink4->Index] = TvLink->DataController->Values[nDnIdx][ColLink4->Index]; TvLink->DataController->Values[nCurIdx][ColLink5->Index] = TvLink->DataController->Values[nDnIdx][ColLink5->Index]; TvLink->DataController->Values[nDnIdx][ColLink1->Index] = sVal1; TvLink->DataController->Values[nDnIdx][ColLink2->Index] = sVal2; TvLink->DataController->Values[nDnIdx][ColLink3->Index] = sVal3; TvLink->DataController->Values[nDnIdx][ColLink4->Index] = sVal4; TvLink->DataController->Values[nDnIdx][ColLink5->Index] = sVal5; TvLink->Controller->ClearSelection(); TvLink->Controller->FocusedRowIndex = nDnIdx; //TvLink->Controller->FocusedRecordIndex = nDnIdx; TvLink->ViewData->Records[nDnIdx]->Focused = true; TvLink->ViewData->Records[nDnIdx]->Selected = true; CxLink->SetFocus(); //TcxCustomGridRow* ARow = TvLink->ViewData->Rows[TvLink->DataController->FocusedRowIndex]; } catch(...) { } } __finally { TvLink->EndUpdate(); } RefreshLink(); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::ChkViewIconClick(TObject *Sender) { if (!FRAMEOpenMap1->MapStart) return; sJs.printf(L"showLayerText(%d, %d)", FLayerIdx, (ChkViewIcon->Checked) ? 1: 0); FRAMEOpenMap1->ExecScript(sJs); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnVmsIfscSetClick(TObject *Sender) { FORMSHOW(VMSMA10M); } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::ColSeqCustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if (AViewInfo->GridRecord->RecordIndex < 0) return; if (VarIsNull(AViewInfo->Value)) return; try { int nIdx = AViewInfo->Value; if (nIdx < 0) return; ACanvas->Brush->Color = ITSMap_GetDisplayColor(nIdx); ACanvas->Font->Color = ACanvas->Brush->Color; } catch(...) { } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::OpenMapCallback(TObject *ASender, const String AFunc, const String AArgs, const bool AFirst) { try { if (AFirst) { //Áöµµ¸¦ ÆíÁý¸ðµå·Î º¯°æ sJs.printf(L"setEditMode(%d, 1)", FLayerIdx); FRAMEOpenMap1->ExecScript(sJs); //ÆíÁý·¹ÀÌ¾î »ý¼º FRAMEOpenMap1->ExecScript("initEditLayer()"); //¹è°æ¸µÅ©·¹ÀÌ¾î »ý¼º UpdateEditLink(); //½Ã¼³¹°¾ÆÀÌÄÜ µî·Ï UpdateIcon(); //È­¸éÀ» ½Ã¼³¹° ¿©¿ªÀ¸·Î È®´ë sJs.printf(L"extentLayer(%d)", FLayerIdx); FRAMEOpenMap1->ExecScript(sJs); return; } if (AFunc.Pos("onlinkclick")) { TStringList *pStringList = new TStringList; pStringList->CommaText = AArgs; try { String sLyrType = pStringList->Strings[0]; String sLinkId = pStringList->Strings[1]; if (EditMode) { AddRemoveLink(sLinkId); } } catch(Exception &e) { } delete pStringList; } if (AFunc.Pos("onfacilityclick")) { if (BtnEdit->Caption == FrmLang->lblEdit->Caption) { FormInit(); CMM_ClearGridTableView(TvLink); String sLinkIds = ""; TStringList *pStringList = new TStringList; pStringList->CommaText = AArgs; try { String sZoom = pStringList->Strings[0]; String sNmbr = pStringList->Strings[1]; try { int nRow; TcxDataController *pGDC = TvLink->DataController; TvLink->BeginUpdate(); int nSeq = 1; TVmsCtlr *pVms = VmsCtlrManager->FLists.Find(sNmbr); if (pVms) { FOR_STL(TVmsEvspRltn *, pObj, pVms->FEvspRltn) { TVmsEvsp *pVmsEvsp = VmsEvspManager->FLists.Find(pObj->VMS_EVSP_ID); if (pVmsEvsp) { FOR_STL(TVmsEvspLink *, pLink, pVmsEvsp->FLists) { FRAMEOpenMap1->reMsg->Lines->Add(pLink->LINK_ID); nRow = pGDC->AppendRecord(); pGDC->Values[nRow][ColSeq->Index] = nSeq; pGDC->Values[nRow][ColLink2->Index] = pLink->LINK_ID; pGDC->Values[nRow][ColLink3->Index] = pLink->LINK_NM; String STRT_NM = ""; String END_NM = ""; TLink *pTmp = LinkManager->FLists.Find(pLink->LINK_ID); if (pTmp) { TItsNode *pFromNode = ItsNodeManager->FLists.Find(pTmp->F_NODE_ID); if (pFromNode) STRT_NM = pFromNode->NODE_NAME; TItsNode *pToNode = ItsNodeManager->FLists.Find(pTmp->T_NODE_ID); if (pToNode) END_NM = pToNode->NODE_NAME; } pGDC->Values[nRow][ColLink4->Index] = STRT_NM; pGDC->Values[nRow][ColLink5->Index] = END_NM; sJs.printf(L"updateEditLink('%s', %d)", pLink->LINK_ID.c_str(), nSeq); FRAMEOpenMap1->ExecScript(sJs); } if (nSeq++ > ITSMAP_MAX_DISPCOLOR) nSeq = 1; } } } } __finally { TvLink->EndUpdate(); } //RefreshLink(); } catch(Exception &e) { } delete pStringList; } } } catch(Exception &exception) { } } //--------------------------------------------------------------------------- void __fastcall TVMSMA00M::BtnSaveCngsSpdClick(TObject *Sender) { #if 0 String sMsg; sMsg = ""; sMsg+= "\r\nÁ¦°ø±¸°£ Á¤Ã¼Æû Á¤Ã¼ÆÇÁ¤ ¼ÓµµÁ¤º¸¸¦ Àüü Á¦°ø±¸°£¿¡ µ¿ÀÏÇÏ°Ô Àû¿ë ÇϽðڽÀ´Ï±î?";//lblText10->Caption;//"Á¦°ø±¸°£ ¼ÓµµÁ¤º¸¸¦ Àüü Á¦°ø±¸°£¿¡ µ¿ÀÏÇÏ°Ô Àû¿ë ÇϽðڽÀ´Ï±î?"; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; if (EdCngsSpd->Text == "") { Application->MessageBox(lblSpdErr->Caption.c_str(),//L"¼ÓµµÁ¤º¸°¡ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù.\r\n¼ÓµµÁ¤º¸¸¦ È®ÀÎÇϼ¼¿ä.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } int CngsSpd = EdCngsSpd->Text.ToIntDef(0); try { if (VmsEvspManager->UpdateIfscCngsSpeedInfo(CngsSpd)) { FUpdate = true; FOR_STL(TVmsEvsp*, pTmpObj, VmsEvspManager->FLists) { if (pTmpObj->DEL_YN == "Y") continue; pTmpObj->CNGS_SPD = CngsSpd; } Application->MessageBox(L"Á¦°ø±¸°£ Á¤Ã¼Æû Á¤Ã¼ÆÇÁ¤ ¼ÓµµÁ¤º¸ÀúÀå\r\nÁ¦°ø±¸°£ Á¤Ã¼Æû Á¤Ã¼ÆÇÁ¤ ¼Óµµ Á¤º¸¸¦ Àüü Á¦°ø±¸°£¿¡ Àû¿ë ÇÏ¿´½À´Ï´Ù.",//lblText11->Caption.c_str(),//L"Á¦°ø±¸°£ ¼ÓµµÁ¤º¸ÀúÀå\r\nÁ¦°ø±¸°£ ¼Óµµ Á¤º¸¸¦ Àüü Á¦°ø±¸°£¿¡ Àû¿ë ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } } __finally { } #endif } //---------------------------------------------------------------------------