//--------------------------------------------------------------------------- #include #pragma hdrstop #include "FrmVmsInfoF.h" #include "FrmVmsLogF.h" #include "FrmMainF.h" #include "AppGlobalF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TFrmVmsInfo *FrmVmsInfo = NULL; String VmsModuleType(TVmsCtlr *AObj) { if (AObj->VmsType == "VUTN") return "¹®ÀÚ½Ä"; return "µµÇü½Ä"; } //--------------------------------------------------------------------------- String VmsOperMode(TVmsCtlr *AObj) { if (AObj->OPER_MODE == "A") return "ÀÚµ¿"; return "°íÁ¤"; } //--------------------------------------------------------------------------- String VmsComm(TVmsCtlr *AObj) { if (AObj->Client.Comm == state_open) return "Á¤»ó"; return "Àå¾Ö"; } //--------------------------------------------------------------------------- String VmsModuleState(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; if (AObj->RSTATE.ModuleState == vms_normal) return "Á¤»ó"; return "Àå¾Ö"; } //--------------------------------------------------------------------------- String VmsModulePower(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; if (AObj->RSTATE.ModulePowerStatus == vms_on) return "ÄÑÁü"; return "²¨Áü"; } //--------------------------------------------------------------------------- String VmsModuleLuminance(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; int nLuminance = AObj->RSTATE.LuminanceStatus; return String(nLuminance); } //--------------------------------------------------------------------------- String VmsModuleDoor(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; if (AObj->RSTATE.DoorStatus == vms_open) return "¿­¸²"; return "´ÝÈû"; } //--------------------------------------------------------------------------- String VmsModuleFan(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; if (AObj->RSTATE.FanStatus == vms_on) return "µ¿ÀÛ"; return "Á¤Áö"; } //--------------------------------------------------------------------------- String VmsModuleHeater(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; if (AObj->RSTATE.HeaterStatus == vms_on) return "°¡µ¿"; return "ÁßÁö"; } //--------------------------------------------------------------------------- String VmsModuleTemp(TVmsCtlr *AObj) { if (AObj->Client.Comm != state_open) return "-"; int nTemp = AObj->RSTATE.BodyTemp; return String(nTemp);//+"¡É"; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- __fastcall TFrmVmsInfo::TFrmVmsInfo(TComponent* Owner) : TForm(Owner) { lvVmsInfo->Clear(); lvVmsInfo->ViewStyle = vsReport; FViewMode = 0; } //--------------------------------------------------------------------------- void __fastcall TFrmVmsInfo::UpdateVmsList() { int nRowIdx = 0; TListItem *NewItem; lvVmsInfo->Items->BeginUpdate(); lvVmsInfo->Clear(); VmsIterator it; for(it=VmsManager->FLists.FMapObject.begin(); it != VmsManager->FLists.FMapObject.end(); ++it) { TVmsCtlr *pObj = (TVmsCtlr*)it->second; NewItem = lvVmsInfo->Items->Add(); NewItem->Caption = pObj->VmsId;//String(ii+1); NewItem->ImageIndex = 0; NewItem->SubItems->Add(pObj->VmsNo); NewItem->SubItems->Add(pObj->VmsId); NewItem->SubItems->Add(pObj->Name); NewItem->SubItems->Add(pObj->IpAddress); NewItem->SubItems->Add("-"); //Åë½Å NewItem->SubItems->Add("-"); //¸ðµâ NewItem->SubItems->Add("-"); //Àü¿ø NewItem->SubItems->Add("-"); //ÈÖµµ NewItem->SubItems->Add("-"); //µµ¾î NewItem->SubItems->Add("-"); //ÆÒ NewItem->SubItems->Add("-"); //È÷ÅÍ NewItem->SubItems->Add("-"); //¿Âµµ NewItem->SubItems->Add("-"); //Connect NewItem->SubItems->Add("-"); //Disconnect NewItem->Data = (void*)pObj; } lvVmsInfo->Items->EndUpdate(); VmsManager->Total = VmsManager->Count; VmsManager->Error = VmsManager->Count; VmsManager->Normal = 0; VmsManager->Module = 0; plTot->Caption = String(VmsManager->Count); plErr->Caption = String(VmsManager->Count); plNor->Caption = "0"; } //--------------------------------------------------------------------------- void __fastcall TFrmVmsInfo::UpdateServerState(int AIdx) { try { int ii, nCnt; int nErrCnt = 0; TListItem *NewItem; nCnt = lvVmsInfo->Items->Count; for(ii = 0; ii < nCnt; ii++) { NewItem = lvVmsInfo->Items->Item[ii]; TVmsCtlr *pObj = (TVmsCtlr*)NewItem->Data; if (pObj) { if (pObj->Server.Status == process_run) NewItem->ImageIndex = 1; else { NewItem->ImageIndex = 0; nErrCnt++; } } NewItem->SubItems->Strings[12] = pObj->ConnectTm; //Connect NewItem->SubItems->Strings[13] = pObj->DisconnectTm; //Disconnect } VmsManager->Error = nErrCnt; VmsManager->Normal = nCnt-nErrCnt; plTot->Caption = String(nCnt); plErr->Caption = String(nErrCnt); plNor->Caption = String(nCnt-nErrCnt); } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TFrmVmsInfo::UpdateClientState(int AIdx) { try { int ii, nCnt; TListItem *NewItem; nCnt = lvVmsInfo->Items->Count; for(ii = 0; ii < nCnt; ii++) { NewItem = lvVmsInfo->Items->Item[ii]; TVmsCtlr *pObj = (TVmsCtlr*)NewItem->Data; if (pObj) { if (pObj->Client.Status == process_run) { if (pObj->Client.Comm == state_open) NewItem->SubItems->Strings[4] = "Á¤»ó"; else NewItem->SubItems->Strings[4] = "-"; } else { NewItem->SubItems->Strings[4] = "¿À·ù"; } NewItem->SubItems->Strings[ 5] = VmsModuleState(pObj); //¸ðµâ NewItem->SubItems->Strings[ 6] = VmsModulePower(pObj); //Àü¿ø NewItem->SubItems->Strings[ 7] = VmsModuleLuminance(pObj); //ÈÖµµ NewItem->SubItems->Strings[ 8] = VmsModuleDoor(pObj); //µµ¾î NewItem->SubItems->Strings[ 9] = VmsModuleFan(pObj); //ÆÒ NewItem->SubItems->Strings[10] = VmsModuleHeater(pObj); //È÷ÅÍ NewItem->SubItems->Strings[11] = VmsModuleTemp(pObj); //¿Âµµ } } } catch(Exception &e) { } } //--------------------------------------------------------------------------- void __fastcall TFrmVmsInfo::Image3DblClick(TObject *Sender) { FViewMode++; lvVmsInfo->IconOptions->Arrangement = TIconArrangement::iaTop; switch(FViewMode) { case 1: lvVmsInfo->ViewStyle = vsIcon; break; case 2: lvVmsInfo->ViewStyle = vsList; break; case 3: lvVmsInfo->ViewStyle = vsReport; break; case 4: lvVmsInfo->IconOptions->Arrangement = TIconArrangement::iaLeft; lvVmsInfo->ViewStyle = vsSmallIcon; break; case 5: lvVmsInfo->ViewStyle = vsReport; FViewMode = 0; break; } } //--------------------------------------------------------------------------- void __fastcall TFrmVmsInfo::lvVmsInfoDblClick(TObject *Sender) { int nIdx = lvVmsInfo->Selected->Index; TListItem *NewItem = lvVmsInfo->Items->Item[nIdx]; TVmsCtlr *pObj = (TVmsCtlr*)NewItem->Data; if (!pObj) return; if (!FrmVmsLog->Showing) { FrmVmsLog->Top = FrmMain->Top; //FrmVmsLog->Left= FrmMain->Left+FrmMain->Width; FrmVmsLog->Show(); } FrmVmsLog->DisplayVmsLog((int)pObj); } //---------------------------------------------------------------------------