📄 smset.cpp
字号:
#include "StdAfx.h"
#include "smset.h"
void GetSetting(const char * file, const char * segment, const char * key, const char * defvalue, char * lpValue, int cbValue)
{
char * pName, szFileName[_MAX_PATH];
GetModuleFileName(NULL, szFileName, sizeof(szFileName));
pName = strrchr(szFileName, '\\');
if (pName == NULL){
pName = szFileName;
} else {
pName ++;
}
strcpy(pName, file);
memset(lpValue, 0, cbValue);
if (GetPrivateProfileString(segment, key, "", lpValue, cbValue, szFileName) <= 0){
strncpy(lpValue, defvalue, cbValue - 1);
WritePrivateProfileString(segment, key, lpValue, szFileName);
}
return;
}
void GetSetting(const char * file, const char * segment, const char * key, int defvalue, int* pnValue)
{
char defbuf[20], valbuf[20];
itoa(defvalue, defbuf, 10);
GetSetting(file, segment, key, defbuf, valbuf, sizeof(valbuf));
* pnValue = atoi(valbuf);
}
BOOL MakeSureDBConnected(CMyDatabase &db, CString& rcsError)
{
char szServer[129];
char szDatabase[129];
char szLogId[129];
char szLogPass[129];
int nTimeOut;
if (db.IsOpen()) return TRUE;
GetSetting("db.ini", "Database", "SERVER", "localhost", szServer, sizeof(szServer)); // 远程网关地址
GetSetting("db.ini", "Database", "DATABASE", "edu", szDatabase, sizeof(szDatabase)); // 远程网关地址
GetSetting("db.ini", "Database", "LOGID", "sa", szLogId, sizeof(szLogId)); // 远程网关地址
GetSetting("db.ini", "Database", "LOGPASS", "", szLogPass, sizeof(szLogPass)); // 远程网关地址
GetSetting("db.ini", "Database", "TIMEOUT", 10, &nTimeOut);
if (!db.ConnectDB(szServer, szDatabase, szLogId, szLogPass, nTimeOut, rcsError, "xltsm")) return FALSE;
return TRUE;
}
void LogError(const char *ext, const char *dir, const char *format, ...)
{
// 关键错误,不是记录数据库标识,所以创建一个文件,并把语句写入
time_t tThis;
char szTimeBuf[20];
char szFilePath[_MAX_PATH];
va_list ap;
char szCurDir[_MAX_PATH] = "";
time(&tThis);
strftime(szTimeBuf, sizeof(szTimeBuf), "%Y%m%d%s", localtime(&tThis));
if (GetModuleFileName(NULL, szCurDir, sizeof(szCurDir)) <= 0) FatalAppExit(0, "系统错误:不能取得当前目录。");
char *p = strrchr(szCurDir, '\\');
if (p == NULL) FatalAppExit(0, "系统错误:当前目录无效。");
*p = '\0';
sprintf(szFilePath, "%s\\%s", szCurDir, dir);
mkdir(szFilePath); // 确保存在该路径
strcat(szFilePath, "\\");
strcat(szFilePath, szTimeBuf);
strcat(szFilePath, ext);
FILE *fp = fopen(szFilePath, "a");
if (fp == NULL) FatalAppExit(0, "系统错误:不能创建临时文件。");
va_start(ap, format);
vfprintf(fp, format, ap);
va_end(ap);
fclose(fp);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -