/**************************************************************************** * @source : * @description : **************************************************************************** * DATE AUTHOR DESCRIPTION * -------------------------------------------------------------------------- * 2016/07/10 shjung ÃÖÃÊÀÛ¼º * ****************************************************************************/ //--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #pragma hdrstop #include "VMSM100MF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalendar" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxDropDownEdit" #pragma link "cxEdit" #pragma link "cxGraphics" #pragma link "cxGroupBox" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxMaskEdit" #pragma link "cxPC" #pragma link "cxPCdxBarPopupMenu" #pragma link "cxSpinEdit" #pragma link "cxSplitter" #pragma link "cxTextEdit" #pragma link "cxTimeEdit" #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 "cxRadioGroup" #pragma link "cxClasses" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxDBData" #pragma link "cxFilter" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridDBTableView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxStyles" #pragma link "cxCheckBox" #pragma link "FRAME_VmsListF" #pragma resource "*.dfm" TVMSM100M *VMSM100M = NULL; //--------------------------------------------------------------------------- __fastcall TVMSM100M::TVMSM100M(TComponent* Owner) : TForm(Owner) { ITSSkin_Load(this); CMM_LoadForm(g_sFormsDir, this); BtnSaveAll->Caption = "Apply All VMS"; BtnSaveAll->Hint = "Apply the same value to the entire VMS."; FUpdate= false; //FTitle = "VMS ±âº»Á¤º¸ °ü¸®"; FTitle = Caption; MapStart = false; #if 0 FRAMEGisMap1->FlashCallbackFunc = TVMSM100M_FlashCall; FRAMEGisMap1->DrawMode = 1; //±¸°£Á¤º¸Ç¥Ãâ FRAMEGisMap1->ImgPan->Visible = true; FRAMEGisMap1->ImgZoomIn->Visible = true; FRAMEGisMap1->ImgZoomOut->Visible = true; FRAMEGisMap1->ImgSel->Visible = true; FRAMEGisMap1->ImgStnd->Visible = true; FRAMEGisMap1->ImgRefresh->Visible = true; FRAMEGisMap1->LbDef->Caption = "(¼±Åø޴º¸¦ Ŭ¸¯ÇÏ¿© À§Ä¡¸¦ ¼±ÅÃÇÕ´Ï´Ù.)"; FRAMEGisMap1->LbDef->Hint = FRAMEGisMap1->LbDef->Caption; FRAMEGisMap1->LbDef->Visible = true; #endif //FRAMEVmsList1->Column02->Visible = false; FRAMEVmsList1->PnlTop->Visible = false; FRAMEVmsList1->PnlBottom->Visible = false; FRAMEVmsList1->ColumnSel->Visible = false; FRAMEVmsList1->Column05->Visible = true; FRAMEVmsList1->Column06->Visible = true; FRAMEVmsList1->Column07->Visible = true; FRAMEVmsList1->Column08->Visible = true; FRAMEVmsList1->Column09->Visible = true; FRAMEVmsList1->Column10->Visible = true; FRAMEVmsList1->Column13->Visible = true; m_pGDC = FRAMEVmsList1->TvList->DataController; EditMode = false; } //--------------------------------------------------------------------------- /* * ´Ý±â¹öư À̳ª x¹öư Ŭ¸¯½Ã °øÅëÀ¸·Î ó¸®ÇÏ´Â ·ÎÁ÷À̵é¾î°£´Ù.. * Form°ú DataModule class¸¦ delete½ÃŲ´Ù. * arguments * * return * void */ void __fastcall TVMSM100M::CommClose() { try { CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- /* * FormÀ» º¸¿©ÁÙ¶§ È£ÃâµÇ´Â event ¸Þ¼­µåÀÌ´Ù. * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVMSM100M::FormShow(TObject *Sender) { Refresh(); APP_FillCode(CbUsagType, "VUT"); APP_FillCode(CbType, "VMP"); try { VmsManager->FLists.Lock(); FOR_STL(TVmsCtlr*, pObj, VmsManager->FLists) { if (pObj->DEL_YN == "Y") continue; pObj->FData3 = NULL; } } __finally { VmsManager->FLists.UnLock(); } FormInit(); ChangeEditMode(1); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- /* * form ÃʱâÈ­ * * arguments * * return * void */ void __fastcall TVMSM100M::FormInit() { EdNmbr->Text = ""; EdId->Text = ""; EdVmsId->Text = ""; EdVmsNm->Text = ""; SeMaxPhase->Value = 10; CbUsagType->ItemIndex = 0; CbType->ItemIndex = 0; SePosX->Value = 0; SePosY->Value = 0; EdCtlrIp->Text = ""; EdCmncPort->Text = ""; EdWebCamIp->Text = ""; EdWebCamPort->Text = ""; EdWebCamId->Text = ""; EdWebCamPswd->Text = ""; EdWebCamStrm->Text = ""; cxTimeOn->Clear(); cxTimeOff->Clear(); cxTimeOn->EditValue = Now().FormatString("hh:nn"); cxTimeOn->EditValue = "00:00"; cxTimeOff->EditValue = Now().FormatString("hh:nn"); cxTimeOff->EditValue = "00:00"; FNewDb = false; } //--------------------------------------------------------------------------- /* * FormÀÌ ShowµÇ°í ³­ ÈÄ ÃÖÃÊ 1ȸ ¼öÇàµÇ´Â ŸÀÌ¸Ó À̺¥Æ® * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVMSM100M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; #if 0 FRAMEGisMap1->LoadTraffic = false; FRAMEGisMap1->LinkLevel = 2; FRAMEGisMap1->LoadGisMap(); #else //FRAMEGoogleMap1->LinkLevel = 1; //FRAMEGoogleMap1->LoadGisMap(); MapStart = true; #endif FRAMEVmsList1->UpdateList(); UpdateVmsIcon(); } //--------------------------------------------------------------------------- /* * Close ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TVMSM100M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); VMSM100M = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::FormCloseQuery(TObject *Sender, bool &CanClose) { if (FUpdate) { POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0); } FRAMEVmsList1->OnCloseQuery(CanClose); } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::DisplayInfo(TVmsCtlr* AObj, bool AMoveVms/*=false*/) { FormInit(); if (!AObj) return; #if 0 if (AMoveVms) { FSelMkr = FindObjectMarker(String(AObj->VMS_CTLR_NMBR)); if (FSelMkr) { FSelMkr->Icon = g_AppCfg.icon.SVMS; FSelMkr->CenterMapTo(); } } #endif EdNmbr->Text = String(AObj->VMS_CTLR_NMBR); EdId->Text = AObj->VMS_ID; EdVmsId->Text = AObj->VMS_CTLR_ID; EdVmsNm->Text = AObj->VMS_NM; APP_SetCode(CbUsagType, AObj->VMS_USAG_TYPE_CD); APP_SetCode(CbType, AObj->VMS_TYPE_CD); SePosX->Value = AObj->X_CRDN; SePosY->Value = AObj->Y_CRDN; EdCtlrIp->Text = AObj->VMS_CTLR_IP; EdCmncPort->Text = AObj->VMS_CMNC_PORT; EdWebCamIp->Text = AObj->WEB_CMRA_IP; EdWebCamPort->Text = AObj->WEB_CMRA_PORT; EdWebCamId->Text = AObj->WEB_CMRA_ID; EdWebCamPswd->Text = AObj->WEB_CMRA_PWD; EdWebCamStrm->Text = AObj->STRM_SESN_NM; SeMaxPhase->Value = AObj->VMS_MAX_PHSE_NUM; cxTimeOn->Clear(); cxTimeOn->EditValue = Now().FormatString("hh:nn"); cxTimeOn->EditValue = "00:00"; cxTimeOff->Clear(); cxTimeOff->EditValue = Now().FormatString("hh:nn"); cxTimeOff->EditValue = "00:00"; try { if (AObj->PANL_ON_TIME.Length() == 4) // ÀüÆÎ°üON½Ã°¢ { String sPowerOnTime = AObj->PANL_ON_TIME; sPowerOnTime.Insert(":", 3); cxTimeOn->EditValue = sPowerOnTime; } } catch(Exception &e) { } try { if (AObj->PANL_OFF_TIME.Length() == 4) // Àü±¤ÆÇOFF½Ã°¢ { String sPowerOffTime = AObj->PANL_OFF_TIME; sPowerOffTime.Insert(":", 3); cxTimeOff->EditValue = sPowerOffTime; } } catch(Exception &e) { } // FRAMEGisMap1->SelectObjectByPos(SePosX->Value, SePosY->Value, true); ChangeEditMode(3); } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::SelListData() { } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::UpdateVmsIcon() { } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::BtnEditClick(TObject *Sender) { if (BtnEdit->Caption == MSG903) { ChangeEditMode(0); FNewDb = false; } else { String sId = EdId->Text; ChangeEditMode(1); TVmsCtlr *pObj = VmsManager->FLists.Find(sId); if (pObj) { CMM_SetGridRow(FRAMEVmsList1->CxList, FRAMEVmsList1->TvList, sId, FRAMEVmsList1->Column01->Index); DisplayInfo(pObj); } } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::ChangeEditMode(int AEdit) { bool bEnabled = false; switch(AEdit) { case 0: //ÆíÁý¹öưŬ¸¯ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = MSG901; BtnEdit->Hint = MSG902; EditMode = true; } break; case 1: //ÆíÁý[Ãë¼Ò]¹öưŬ¸¯ { FormInit(); //È­¸éÀ» ¸ðµÎ Áö¿î´Ù. BtnEdit->Enabled = false; BtnInsert->Enabled = true; BtnDelete->Enabled = false; BtnSave->Enabled = false; BtnEdit->Caption = MSG903; BtnEdit->Hint = MSG904; //bEnabled = true; EditMode = false; } break; case 2: //Ãß°¡ { BtnEdit->Enabled = true; BtnInsert->Enabled = false; BtnDelete->Enabled = false; BtnSave->Enabled = true; BtnEdit->Caption = MSG901; BtnEdit->Hint = MSG902; EditMode = true; } break; case 3: //¼öÁ¤¸ðµå { BtnEdit->Enabled = true; BtnInsert->Enabled = true; BtnDelete->Enabled = true; BtnSave->Enabled = false; BtnEdit->Caption = MSG903; BtnEdit->Hint = MSG904; bEnabled = true; EditMode = false; } break; } if (AEdit == 0 || AEdit == 2) { FRAMEVmsList1->CxList->Enabled = false; } else { FRAMEVmsList1->CxList->Enabled = true; } PnlEdit->Enabled = EditMode; #if 0 EdVmsId->Enabled = bEnabled; EdVmsNm->Enabled = bEnabled; CbUsagType->Enabled = bEnabled; CbType->Enabled = bEnabled; SePosX->Enabled = bEnabled; SePosY->Enabled = bEnabled; EdCtlrIp->Enabled = bEnabled; EdWebCamIp->Enabled = bEnabled; EdWebCamPort->Enabled = bEnabled; EdWebCamId->Enabled = bEnabled; EdWebCamPswd->Enabled = bEnabled; EdWebCamStrm->Enabled = bEnabled; cxTimeOn->Enabled = bEnabled; cxTimeOff->Enabled = bEnabled; #endif #if 0 EdId->Properties->ReadOnly = bEnabled; EdRseId->Properties->ReadOnly = bEnabled; EdRoadSpotId->Properties->ReadOnly = bEnabled; EdLogCnncId->Properties->ReadOnly = bEnabled; EdLogCnncPwd->Properties->ReadOnly = bEnabled; EdIstlLctnNm->Properties->ReadOnly = bEnabled; SePosX->Properties->ReadOnly = bEnabled; SePosY->Properties->ReadOnly = bEnabled; EdIP->Properties->ReadOnly = bEnabled; EdPort->Properties->ReadOnly = bEnabled; CbMnfcCmpyCd->Properties->ReadOnly = bEnabled; SeCLCT_ABNR_BASI->Properties->ReadOnly = bEnabled; #endif } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::BtnInsertClick(TObject *Sender) { FormInit(); //½Å±Ô¾ÆÀ̵𸦠¾ò¾î¿Í¼­ È­¸éÀ» ÃʱâÈ­ÇÑ´Ù. int nNmbr, nId; if (!VmsManager->GetNextVmsId(nNmbr, nId)) { Application->MessageBox(MSG501, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } EdNmbr->Text = String(nNmbr); EdId->Text = String(nId); //SePosX->Value = FNewMkr->Position->Lat; //SePosY->Value = FNewMkr->Position->Lng; ChangeEditMode(2); FNewDb = true; } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::BtnDeleteClick(TObject *Sender) { #if 0 if (!FRAMEGisMap1->MapStart) return; #endif int nIdx = m_pGDC->FocusedRecordIndex; if (nIdx < 0) return; String sId = EdNmbr->Text; if (sId.IsEmpty()) { Application->MessageBox(MSG502, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } String sMsg; sMsg = MSG503 + sId; sMsg+= MSG504; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; TVmsCtlr *pObj = VmsManager->FLists.Find(sId); if (pObj) { if (VmsManager->DeleteVms(pObj)) { pObj->DEL_YN = "Y"; FRAMEVmsList1->UpdateList(); } FUpdate = true; Application->MessageBox(MSG505, FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); FormInit(); ChangeEditMode(1); //UpdateVmsIcon(); POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0); } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::BtnSaveClick(TObject *Sender) { if (EdNmbr->Text.IsEmpty() || EdId->Text.Trim().IsEmpty() || EdVmsId->Text.Trim().IsEmpty() || EdVmsNm->Text.Trim().IsEmpty() || SePosX->Value == 0 || SePosY->Value == 0 || CbUsagType->Text.IsEmpty() || CbType->Text.IsEmpty() || EdCtlrIp->Text.IsEmpty()) { Application->MessageBox(MSG506, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } String sNmbr = EdNmbr->Text; String sId = EdId->Text; int nNmbr = sNmbr.ToInt(); if (!ITSUtil_CheckIpAddress(EdCtlrIp->Text.Trim())) { Application->MessageBox(MSG507, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } if (EdWebCamIp->Text.Trim() != "") { if (!ITSUtil_CheckIpAddress(EdCtlrIp->Text.Trim())) { Application->MessageBox(MSG508, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } } String sVmsId = EdVmsId->Text.Trim(); VmsManager->FLists.Lock(); FOR_STL(TVmsCtlr*, pTmpObj, VmsManager->FLists) { if (pTmpObj->DEL_YN == "Y") continue; if (pTmpObj->VMS_CTLR_NMBR == nNmbr) continue; //ÀÚ±âÀڽŠif (pTmpObj->VMS_CTLR_ID == sVmsId) { Application->MessageBox(MSG509, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return; } } VmsManager->FLists.UnLock(); TVmsCtlr *pObj; if (FNewDb) pObj = new TVmsCtlr(); else pObj = VmsManager->FLists.Find(sNmbr); if (pObj) { pObj->VMS_CTLR_NMBR = nNmbr; pObj->VMS_ID = sId; pObj->VMS_CTLR_ID = sVmsId; pObj->VMS_NM = EdVmsNm->Text.Trim(); pObj->VMS_USAG_TYPE_CD = APP_GetCode(CbUsagType); pObj->VMS_TYPE_CD = APP_GetCode(CbType); pObj->X_CRDN = SePosX->Value; pObj->Y_CRDN = SePosY->Value; pObj->VMS_CTLR_IP = EdCtlrIp->Text; pObj->VMS_CMNC_PORT = EdCmncPort->Text; if (pObj->VMS_CMNC_PORT.Trim() == "") pObj->VMS_CMNC_PORT = "0"; pObj->PANL_ON_TIME = cxTimeOn->Time.FormatString("HHNN"); pObj->PANL_OFF_TIME = cxTimeOff->Time.FormatString("HHNN"); pObj->WEB_CMRA_IP = EdWebCamIp->Text; pObj->WEB_CMRA_PORT = EdWebCamPort->Text.ToIntDef(0); pObj->WEB_CMRA_ID = EdWebCamId->Text; pObj->WEB_CMRA_PWD = EdWebCamPswd->Text; pObj->STRM_SESN_NM = EdWebCamStrm->Text; pObj->VMS_MAX_PHSE_NUM = SeMaxPhase->Value; pObj->Completed = true; pObj->MEM_DEL = "N"; bool bResult; if (FNewDb) { pObj->DEL_YN = "N"; pObj->FRST_REGR_NMBR = g_pLOGIN->sUserId; pObj->FRST_RGST_DT = Now().FormatString("yyyymmddhhnnss"); pObj->VMS_MAX_PHSE_NUM = 16; //VMS ÃÖ´ë Ç¥Ãâ¸é °³¼ö pObj->VMS_PHSE_CHNG_CYCL = 5; //VMS Ç¥Ãâ¸é º¯°æ ÁÖ±â(°èȹµÈ ¸Þ½ÃÁöÀÇ µ¿À۽ð£(ÃÊ)) pObj->VMS_CMNC_ERR_BASS_VAL = 127; //VMS Åë½Å ¿À·ù ±âº» °ª(¸ðµâ Àü¿øÀÌ ²¨Áö´Â ¿Âµµ°ª(¡É)) pObj->FAN_MTNS_TMPR = 35; //ÆÒµ¿Àۿµµ pObj->HETR_MTNS_TMPR = 0; //È÷Å͵¿Àۿµµ pObj->VMS_MODL_ERR_RATE = 20; //¸ðµâÀå¾ÖÀ²(Options) bResult = VmsManager->InsertVms(pObj); if (bResult) { VmsManager->FLists.Push(sNmbr, pObj); } } else { pObj->LAST_CRPR_NMBR = g_pLOGIN->sUserId; pObj->LAST_CRCT_DT = Now().FormatString("yyyymmddhhnnss"); bResult = VmsManager->UpdateVms(pObj); } if (bResult) { Application->MessageBox(MSG510, FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); FUpdate = true; FRAMEVmsList1->UpdateList(); UpdateVmsIcon(); CMM_SetGridRow(FRAMEVmsList1->CxList, FRAMEVmsList1->TvList, sNmbr, FRAMEVmsList1->Column01->Index); DisplayInfo(pObj); POST_MSG(Application->MainForm->Handle, WM_DATABASE_REFRESH, WP_MSG_14, 0); } } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::FRAMEVmsList1TvListCellDblClick(TcxCustomGridTableView *Sender, TcxGridTableDataCellViewInfo *ACellViewInfo, TMouseButton AButton, TShiftState AShift, bool &AHandled) { if (!ACellViewInfo) return; int nRow = FRAMEVmsList1->TvList->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; int nMemPtr = FRAMEVmsList1->TvList->DataController->Values[nRow][FRAMEVmsList1->Column99->Index]; TVmsCtlr* pObj = (TVmsCtlr*)nMemPtr; DisplayInfo(pObj, true); } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::EdWebCamPortKeyPress(TObject *Sender, wchar_t &Key) { if (Key > '9' || Key < '0') { if (Key != VK_BACK && Key != VK_TAB && Key != '-') Key = 0; } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::BtnSaveAllClick(TObject *Sender) { String sMsg; sMsg = ""; sMsg+= MSG511; if (Application->MessageBox(sMsg.c_str(), FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; TVmsCtlr* pObj = NULL; try { pObj = new TVmsCtlr(); pObj->PANL_ON_TIME = cxTimeOn->Time.FormatString("HHNN"); pObj->PANL_OFF_TIME = cxTimeOff->Time.FormatString("HHNN"); pObj->LAST_CRPR_NMBR = g_pLOGIN->sUserId; pObj->LAST_CRCT_DT = Now().FormatString("yyyymmddhhnnss"); if (VmsManager->UpdateCtlrInfo(pObj)) { FUpdate = true; VmsManager->FLists.Lock(); FOR_STL(TVmsCtlr*, pTmpObj, VmsManager->FLists) { if (pTmpObj->DEL_YN == "Y") continue; pTmpObj->PANL_ON_TIME = pObj->PANL_ON_TIME; pTmpObj->PANL_OFF_TIME = pObj->PANL_OFF_TIME; pTmpObj->LAST_CRPR_NMBR = pObj->LAST_CRPR_NMBR; pTmpObj->LAST_CRCT_DT = pObj->LAST_CRCT_DT; } VmsManager->FLists.UnLock(); Application->MessageBox(MSG512, FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } } __finally { if (pObj) { delete pObj; pObj = NULL; } } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::FRAMEVmsList1TvListFocusedRecordChanged(TcxCustomGridTableView *Sender, TcxCustomGridRecord *APrevFocusedRecord, TcxCustomGridRecord *AFocusedRecord, bool ANewItemRecordFocusingChanged) { if (!MapStart) return; if (!AFocusedRecord) return; int nRow = FRAMEVmsList1->TvList->DataController->FocusedRecordIndex; if( nRow <= -1 ) return; int nMemPtr = FRAMEVmsList1->TvList->DataController->Values[nRow][FRAMEVmsList1->Column99->Index]; TVmsCtlr* pObj = (TVmsCtlr*)nMemPtr; DisplayInfo(pObj, true); } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::SeMaxPhasePropertiesChange(TObject *Sender) { if (((TcxSpinEdit*)Sender)->Value < ((TcxSpinEdit*)Sender)->Properties->MinValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MinValue; else if(((TcxSpinEdit*)Sender)->Value > ((TcxSpinEdit*)Sender)->Properties->MaxValue && ((TcxSpinEdit*)Sender)->Properties->MaxValue) ((TcxSpinEdit*)Sender)->Value = ((TcxSpinEdit*)Sender)->Properties->MaxValue; } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::MakeVmsWebCamHtml_ICSVIEW(TVmsCtlr *AObj) { FILE *AFd = NULL; String sVmsDir = g_sAppDir + "VMS\\"; try { AnsiString sVmsHtml; sVmsHtml.printf("%s%d.html", AnsiString(sVmsDir).c_str(), AObj->VMS_CTLR_NMBR); if ((AFd = fopen(sVmsHtml.c_str(), "w")) == NULL) { return; } fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "%s\n", AnsiString(AObj->WEB_CMRA_IP).c_str()); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, " \n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "
\n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, "
\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fclose(AFd); } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::MakeVmsWebCamHtml_STWEB(TVmsCtlr *AObj) { FILE *AFd = NULL; String sVmsDir = g_sAppDir + "VMS\\"; try { AnsiString sVmsHtml; sVmsHtml.printf("%s%d.html", AnsiString(sVmsDir).c_str(), AObj->VMS_CTLR_NMBR); if ((AFd = fopen(sVmsHtml.c_str(), "w")) == NULL) { return; } fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "%s\n", AnsiString(AObj->WEB_CMRA_IP).c_str()); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fprintf(AFd, "
\n"); fprintf(AFd, " \n"); fprintf(AFd, " \n"); fprintf(AFd, "
\n"); fprintf(AFd, "\n"); fprintf(AFd, "\n"); fclose(AFd); } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::LblCaptionDblClick(TObject *Sender) { String sVmsDir = g_sAppDir + "VMS\\"; ForceDirectories(sVmsDir.c_str()); try { VmsManager->FLists.Lock(); FOR_STL(TVmsCtlr*, pObj, VmsManager->FLists) { if (pObj->DEL_YN == "Y") continue; if (pObj->STRM_SESN_NM.Trim() == "icsview") MakeVmsWebCamHtml_ICSVIEW(pObj); else if (pObj->STRM_SESN_NM.Trim() == "stweb") MakeVmsWebCamHtml_STWEB(pObj); } } __finally { VmsManager->FLists.UnLock(); } } //--------------------------------------------------------------------------- void __fastcall TVMSM100M::cxButton1Click(TObject *Sender) { if (Application->MessageBox(L"VMS À¥Ä«¸Þ¶ó ºä¾î ÆÄÀÏÀ» »ý¼ºÇϽðڽÀ´Ï±î?\r\n±âÁ¸ ÆÄÀÏÀ» »èÁ¦ÇÑ ÈÄ »õ·Ó°Ô »ý¼ºÇÕ´Ï´Ù.", L"VMS À¥Ä«¸Þ¶ó ºä¾î ÆÄÀÏ »ý¼º È®ÀÎ", MB_YESNO|MB_ICONQUESTION) != IDYES) { return; } LblCaptionDblClick(Sender); Application->MessageBox(L"VMS À¥Ä«¸Þ¶ó ºä¾î ÆÄÀÏ »ý¼º ÇÏ¿´½À´Ï´Ù.", L"VMS À¥Ä«¸Þ¶ó ºä¾î ÆÄÀÏ »ý¼º È®ÀÎ", MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } //---------------------------------------------------------------------------