#include "StdAfx.h" #include "Config.h" #include "../DBCtrl/DBCtrl.h" CString CConfig::m_LogFilePath = _T(""); CString CConfig::m_ProcessRestartOclock = _T("01"); CConfig::CConfig(void) { } /***************************************************************** **【函数名称】 __getCfgFilePath **【函数功能】 读取配置文件路径 **【参数】 **【返回值】 *****************************************************************/ void CConfig::__getCfgFilePath( CString& CfgFile ) { TCHAR path[MAX_PATH] = { 0 }; //获得当前应用程序路径 if(GetCurrentDirectory (MAX_PATH, path) == 0) return; #ifdef _DEBUG CfgFile.Format(_T("D:\\DATA\\project\\HY\\AutoCallWithFS\\Debug\\%s"), CONFIG_FILE_PATH); #else CfgFile.Format(_T("%s\\%s"), path, CONFIG_FILE_PATH); #endif } /***************************************************************** **【函数名称】 __getCfgFilePath **【函数功能】 文件中读取配置 **【参数】 **【返回值】 *****************************************************************/ bool CConfig::__loadCfgFromFile( void ) { CString CfgFile; __getCfgFilePath(CfgFile); TCHAR buf[MAX_PATH]; memset(buf, 0, MAX_PATH); if(GetPrivateProfileString(CONFIG_FIELD_SECTION_SYS, CONFIG_FIELD_ITEM_LOG_FILE_PATH, NULL, buf, MAX_PATH, CfgFile) <= 0) return false; m_LogFilePath = buf; return true; } /***************************************************************** **【函数名称】 __loadCfgFromDb **【函数功能】 数据库中读取配置 **【参数】 **【返回值】 *****************************************************************/ bool CConfig::__loadCfgFromDb( void ) { IOtlConnection* pConn = IOtlConnection::getInstance(); // 打开数据库连接 if(!pConn->Connect()) return false; // 读取日志文件路径 m_LogFilePath = pConn->GetSingleDataStr(_T("SELECT value FROM conf_system WHERE name = 'LogPath'")); pConn->Disconnect(); return true; } /***************************************************************** **【函数名称】 load **【函数功能】 读取所有配置 **【参数】 **【返回值】 成功true,失败false ****************************************************************/ bool CConfig::load( void ) { #ifdef _CFG_FROM_DB return __loadCfgFromDb(); #else return __loadCfgFromFile(); #endif }