⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smset.cpp

📁 小灵通(网通)短信接口程序
💻 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 + -