//--------------------------------------------------------------------------- #include #pragma hdrstop #include "AppGlobalF.h" #include "ITSDbF.h" #include "ITSUtilF.h" #include //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- int g_nPid = -1; // Application Process ID String g_sAppDir = ""; // Application Directory String g_sAppName= ""; // Program name String g_sCfgDir = ""; // Config File Directory String g_sLogDir = ""; // Program Log Directory String g_sTempDir = ""; // Program Temp Directory String g_sFormsDir = ""; // Program Forms Directory String g_sBlackBox = ""; String g_sLangDir = ""; String g_sImageDir = ""; String g_sVideoDir = ""; String g_sMapDir = ""; APP_CONFIG g_AppCfg; LOG_INFO g_LogCfg; TITSLog *ITSLog = NULL; String g_sLang = "kr"; String g_IniFileDir = ""; String g_IniFileName = "ITS_OP"; bool g_bControlAuth = true; //--------------------------------------------------------------------------- bool CheckApplicationParam() { int nArgs = ParamCount(); if (nArgs < 2) { return false; } g_AppCfg.MAGIC_ID = ParamStr(1); if (g_AppCfg.MAGIC_ID.UpperCase() != "ICAIR") { return false; } g_AppCfg.OPER_ID = ParamStr(2); g_AppCfg.OPER_ID = g_AppCfg.OPER_ID.SubString(1, 10); g_AppCfg.PRCS_ID = DEFAULT_PRCS_ID; g_AppCfg.PARAM1 = ""; g_AppCfg.PARAM2 = ""; g_AppCfg.PARAM3 = ""; g_AppCfg.PARAM4 = ""; if (nArgs >= 3) { g_AppCfg.PRCS_ID = ParamStr(3); } if (nArgs >= 4) { g_AppCfg.PARAM1 = ParamStr(4); } if (nArgs >= 5) { g_AppCfg.PARAM2 = ParamStr(5); } if (nArgs >= 6) { g_AppCfg.PARAM3 = ParamStr(6); } if (nArgs >= 7) { g_AppCfg.PARAM4 = ParamStr(7); } return true; } //--------------------------------------------------------------------------- void ActiveProgram(String AClassName, String ATitle) { //String AClassName = "TFrmVmsFormEdit"; //String ATitle = g_AppCfg.sTitle + " - Active"; HWND hExeForm = FindWindow(AClassName.c_str(), ATitle.c_str()); if (hExeForm) { bool bResult = SetWindowPos(hExeForm, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE); if (bResult) { bResult = ShowWindow(hExeForm, SW_RESTORE); SetForegroundWindow(hExeForm); } } } //--------------------------------------------------------------------------- bool ApplicationSingleRun(String AClassName, String ATitle) { HANDLE hMutex; try { String sLockFile = ChangeFileExt(ExtractFileName(Application->ExeName), ".lock"); String sProgMutexNm = "ICAIR_" + sLockFile; if ((hMutex=OpenMutex(MUTEX_ALL_ACCESS, false, sProgMutexNm.c_str()))==NULL) hMutex = CreateMutex(NULL, true, sProgMutexNm.c_str()); else { ActiveProgram(AClassName, ATitle); return false; } } catch (Exception &exception) { Application->ShowException(&exception); return false; } return true; } //--------------------------------------------------------------------------- void LoadIcon(TIniFile* AIniFile, String ASection, String AItem, String& AValue) { try { AValue = AIniFile->ReadString(ASection, AItem, ""); if (AValue != "") { AValue = g_sAppDir + "Image\\" + AValue; if (!FileExists(AValue)) AValue = ""; } } catch(Exception &e) { } } //--------------------------------------------------------------------------- #include #include #pragma comment (lib, "shlwapi.lib") bool IsDirectoryExists(LPCTSTR path) { return PathFileExists(path); #if 0 struct _stat buffer; int iRetTemp = 0; memset((void*)&buffer, 0, sizeof(buffer)); iRetTemp = _stat(path, &buffer); if (iRetTemp == 0) { if (buffer.st_mode & _S_IFDIR) { return true; } } return false; #endif } //--------------------------------------------------------------------------- bool LoadDefaultConfigInfo(String ACfgFile/*=""*/) { String sCfgFile; TIniFile *pIniFile = NULL; String sIniFile = ACfgFile + ".ini"; sCfgFile = g_sCfgDir + sIniFile; g_AppCfg.sConfigFile = sCfgFile; pIniFile = new TIniFile(sCfgFile); try { g_AppCfg.sLang = "kr"; g_sLang = g_AppCfg.sLang; g_AppCfg.sLogDay = pIniFile->ReadString("VMS", "LOGDAY", ""); g_AppCfg.sSkinName = pIniFile->ReadString("VMS", "SKINNAME", "Silver"); g_AppCfg.bSaveForm = pIniFile->ReadString("VMS", "SAVEFORM", "0").ToIntDef(1) == 1 ? true : false; g_AppCfg.isDispOfflineMsg = pIniFile->ReadString("VMS", "DISPOFFLINEMSG", "1").ToIntDef(1) == 1 ? true : false; g_AppCfg.itsdb.bSqlLog = pIniFile->ReadString("DB", "SQLLOG", "0").ToIntDef(0) == 1 ? true : false; g_AppCfg.itsdb.sConnectStr = pIniFile->ReadString("DB", "CONNECTSTR", ""); if (g_AppCfg.itsdb.sConnectStr == "") { g_AppCfg.itsdb.sProvider = pIniFile->ReadString("DB", "PROVIDER", "OraOLEDB.Oracle.1"); //g_AppCfg.itsdb.sProvider = pIniFile->ReadString("DB", "PROVIDER", "MSDAORA.1"); g_AppCfg.itsdb.sServerName = pIniFile->ReadString("DB", "NAME", "ORCL"); g_AppCfg.itsdb.sUserName = pIniFile->ReadString("DB", "USER", "ICAIR"); g_AppCfg.itsdb.sPassword = pIniFile->ReadString("DB", "PASS", "ICAIR"); } //VMS FTP g_AppCfg.vmsFtp.SERVER = pIniFile->ReadString("VMS_FTP", "SERVER", ""); g_AppCfg.vmsFtp.PORT = pIniFile->ReadString("VMS_FTP", "PORT", "3600").ToIntDef(21); g_AppCfg.vmsFtp.USER = pIniFile->ReadString("VMS_FTP", "USER", "icair_vms"); g_AppCfg.vmsFtp.PSWD = pIniFile->ReadString("VMS_FTP", "PSWD", "icair_vms"); g_AppCfg.vmsFtp.PASSIVE = pIniFile->ReadString("VMS_FTP", "PASSIVE", "1").ToIntDef(0) == 0 ? false : true; //cmraViewerResetMin g_AppCfg.cmraViewerResetMin = pIniFile->ReadString("CMRA_VIEWER", "RESET_TIMER_MIN", "30").ToIntDef(30); if (g_AppCfg.cmraViewerResetMin <= 0) g_AppCfg.cmraViewerResetMin = 0; if (g_AppCfg.cmraViewerResetMin > 0 && g_AppCfg.cmraViewerResetMin < 5) g_AppCfg.cmraViewerResetMin = 5; if (g_AppCfg.cmraViewerResetMin > 120) g_AppCfg.cmraViewerResetMin = 120; //cmraViewerDelaySec g_AppCfg.cmraViewerDelaySec = pIniFile->ReadString("CMRA_VIEWER", "DELAY_TIMER_SEC", "10").ToIntDef(10); if (g_AppCfg.cmraViewerDelaySec <= 0) g_AppCfg.cmraViewerDelaySec = 0; if (g_AppCfg.cmraViewerDelaySec > 0 && g_AppCfg.cmraViewerDelaySec < 5) g_AppCfg.cmraViewerDelaySec = 5; if (g_AppCfg.cmraViewerDelaySec > 120) g_AppCfg.cmraViewerDelaySec = 120; } __finally { if (pIniFile) delete pIniFile; pIniFile = NULL; //WriteConfigInfo(g_AppCfg.sConfigFile, "AUTOLOGOUT", "LOGOUTEXIT", "0"); } return true; } //--------------------------------------------------------------------------- /* * ȯ°æ¼³Á¤ Á¤º¸¸¦ ÀúÀåÇÏ´Â ÇÔ¼ö. * arguments * String : RegisterKey ¶Ç´Â ÆÄÀÏÀ̸§ * return * bool : ½ÇÆÐÇϸé false */ bool WriteConfigInfo(String sCfgFile, String sTitle, String sItem, String sValue) { String ConfigFile; TIniFile *pIniFile = NULL; ConfigFile = sCfgFile; try { pIniFile = new TIniFile(ConfigFile); if (pIniFile == NULL) { return false; } pIniFile->WriteString(sTitle, sItem, sValue); } catch(...) { } if (pIniFile) { pIniFile->Free(); pIniFile = NULL; } return true; } //--------------------------------------------------------------------------- /* * ȯ°æ¼³Á¤ Á¤º¸¸¦ Àоî¿À´Â ÇÔ¼ö. * arguments * String : RegisterKey ¶Ç´Â ÆÄÀÏÀ̸§ * return * bool : ½ÇÆÐÇϸé false */ bool ReadConfigInfo(String sCfgFile, String sTitle, String sItem, String &sValue) { bool bRes; String ConfigFile; TIniFile *pIniFile = NULL; bRes = false; ConfigFile = sCfgFile; try { pIniFile = new TIniFile(ConfigFile); if (pIniFile == NULL) { return bRes; } sValue = pIniFile->ReadString(sTitle, sItem, ""); if (sValue != "") { bRes = true; } } catch(...) { } if (pIniFile) { pIniFile->Free(); pIniFile = NULL; } return bRes; } //--------------------------------------------------------------------------- void ShowErrorMsg(String ATitle, String AErrMsg) { Application->NormalizeTopMosts(); Application->MessageBox(AErrMsg.c_str(), ATitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); Application->RestoreTopMosts(); } //----------------------------------------------------------------------------