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

📄 datamanager.cpp

📁 本程序是一个宾馆程控电话系统
💻 CPP
字号:
// DataManager.cpp: implementation of the DataManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "tel2006.h"
#include "DataManager.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDataManager::CDataManager()
{
	if(FindOneFile("lcsoft.ini")==0)
	InitINI();
	// Get INI
	CString strPath = GetLocPath();
	TRACE(strPath);
	strPath+="lcsoft.ini";

	m_ini = new CIni(strPath);
	
	m_strConn	= m_ini->GetValue("DataBase","SvrName");
	m_strRecCom	= m_ini->GetValue("Room","TelRecCom");
	m_strRecBaud= m_ini->GetValue("Room","TelRecBaud");
	m_strConCom	= m_ini->GetValue("Room","TelConCom");
	m_strConBaud= m_ini->GetValue("Room","TelConBaud");

	if(m_strConn.IsEmpty())		m_strConn = ".";
	if(m_strRecCom.IsEmpty())	m_strRecCom = "1";
	if(m_strRecBaud.IsEmpty())	m_strRecBaud = "4800";
	if(m_strConCom.IsEmpty())	m_strConCom = "2";
	if(m_strConBaud.IsEmpty())	m_strConBaud = "19200";
}

CDataManager::~CDataManager()
{
	delete(m_ini);
}



//////////////////////////////////////////////////////
//	ini 文件操作										


/*********************************************** 
 *  函数名: CDataManager::SetConnStr
 * 
 *  功  能: 设置服务器名,写入ini文件中
 * 
 *  参  数: CString strConn	//服务器名
 *
 *  返回值: void 
 ***********************************************/

void CDataManager::SetConnStr(CString strConn)
{
	//m_strConn = strConn;
	m_ini->SetValue("DataBase","SvrName",strConn);
}


/*********************************************** 
 *  函数名: CDataManager::GetConnStr
 * 
 *  功  能: 返回服务器名称
 * 
 *  返回值: CString //服务器名称
 ***********************************************/

CString CDataManager::GetConnStr()
{
	return m_strConn;
}


/*********************************************** 
 *  函数名: CDataManager::SetRecCom
 * 
 *  功  能: 设置计费串口号,写入ini文件中
 * 
 *  参  数: CString strRecCom	//计费串口号
 *
 *  返回值: void 
 ***********************************************/

void CDataManager::SetRecCom(CString strRecCom)
{
	//m_strRecCom = strRecCom;
	m_ini->SetValue("Room","TelRecCom",strRecCom);
}


/*********************************************** 
 *  函数名: CDataManager::GetRecCom
 * 
 *  功  能: 获取 计费串口号
 *
 *  返回值: CString // 获取 计费串口号
 ***********************************************/

CString CDataManager::GetRecCom()
{
	return m_strRecCom;
}


/*********************************************** 
 *  函数名: CDataManager::SetRecBaud
 * 
 *  功  能: 设置计费波特率,写入ini文件中
 * 
 *  参  数: CString strRecBaud	//计费波特率
 *
 *  返回值: void 
 ***********************************************/

void CDataManager::SetRecBaud(CString strRecBaud)
{
	//m_strRecBaud = strRecBaud;
	m_ini->SetValue("Room","TelRecBaud",strRecBaud);
}


/*********************************************** 
 *  函数名: CDataManager::GetRceBaud
 * 
 *  功  能: 获取计费波特率
 *
 *  返回值: CString	//计费波特率
 ***********************************************/

CString CDataManager::GetRecBaud()
{
	return m_strRecBaud;
}


/*********************************************** 
 *  函数名: CDataManager::SetConCom
 * 
 *  功  能: 设置控制端口号,写入ini文件中
 * 
 *  参  数: CString strConCom	//控制端口号
 *
 *  返回值: void 
 ***********************************************/

void CDataManager::SetConCom(CString strConCom)
{
	//m_strConCom = strConCom;
	m_ini->SetValue("Room","TelConCom",strConCom);
}


/*********************************************** 
 *  函数名: CDataManager::GetConCom
 * 
 *  功  能: 获取控制端口号
 *
 *  返回值: CString //获取控制端口号
 ***********************************************/

CString CDataManager::GetConCom()
{
	return m_strConCom;
}


/*********************************************** 
 *  函数名: CDataManager::SetConBaud
 * 
 *  功  能: 设置控制波特率,写入ini文件中
 * 
 *  参  数: CString strConBaud	//控制波特率
 *
 *  返回值: void 
 ***********************************************/

void CDataManager::SetConBaud(CString strConBaud)
{
	//m_strConBaud = strConBaud;
	m_ini->SetValue("Room","TelConBaud",strConBaud);
}


/*********************************************** 
 *  函数名: CDataManager::GetConBaud
 * 
 *  功  能: 获取控制波特率
 *
 *  返回值: CString //获取控制波特率
 ***********************************************/

CString CDataManager::GetConBaud()
{
	return m_strConBaud;
}


/********************************************************
 *	GetLocPath
 *
 * 	Return Values :	CString strPath	// 应用程序路径	
 *
 *	Remark:	获得应用程序路径"E:\MY PROJECT\TEL2006\Debug\"
 *********************************************************/

CString CDataManager::GetLocPath()
{
	char exeFullPath[MAX_PATH];
	CString strPath;
	
	GetModuleFileName(NULL,exeFullPath,MAX_PATH);
	strPath=(CString)exeFullPath;
	int postion = strPath.ReverseFind('\\');
	strPath = strPath.Left(postion+1);
	return strPath;
}


/******************************************************
 *	FindOneFile
 *
 *	Parameters :	CString strFileName	// 一条通话明细	
 *
 *	Return Values:	int 	// 0 不存在	1 存在
 *
 *	Remark:查找文件是否存在
 ******************************************************/

int CDataManager::FindOneFile(CString strFileName)
{
	WIN32_FIND_DATA fd;
	
	HANDLE hd=::FindFirstFile((LPCTSTR)strFileName,&fd);
	
	if(hd==INVALID_HANDLE_VALUE)
		return 0;
	else
		return 1;
	FindClose(hd); 
}


/*****************************
 *	InitINI
 *
 *	Remark:	初始化INI文件
 *****************************/

void CDataManager::InitINI()
{
	CString strPath = GetLocPath();
	TRACE(strPath);
	strPath+="lcsoft.ini";
	
	CFile file;
	file.Open(strPath,CFile::modeCreate);
	file.Close();
	
	CIni ini(strPath);
	//ini.SetValue("自定义段","键1","值2");
	ini.SetValue("DataBase","SvrName",".");
	ini.SetValue("Room","TelRecCom","1");
	ini.SetValue("Room","TelRecBaud","4800");
	ini.SetValue("Room","TelConCom","2");
	ini.SetValue("Room","TelConBaud","19200");
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -