XEIM 配置程序源代码

#include "StdAfx.h"
#include "xeim_users.h"
#include "xiemUsers.h"
#include "xeim_config.h"
#include "xiemUsersDlg.h"
#include "INI.h"

// 飞鸽传书:http://www.freeeim.com

XEIM_Config::XEIM_Config()
{
 // 数据库配置信息
 m_szServer = "localhost";
 m_szDatabase = "xeimDatabase"; // 数据库信息;
 m_nType = MS_ACCESS; // 使用的数据库类型,这里默认 access;
 m_szUserName = "xeim"; // 数据库访问名称;
 m_szPassword = "xeim"; // 数据库访问密码;
 szxUserTable = "xeim_user";// 用户信息表;
 szxMessageTable = "xeim_message";// 消息信息表;
 szxContactTable = "xeim_contact";// 联系人信息表;

 /* 联系人字段 */
 szxGroup = "GroupID";// 用户分组;
 szxContact = "FieldID";// 用户的联系人;
 // 数据字段对应表
 szxID = "ID";//用来保存唯一的用户ID值;
 szxLogin = "xlogin";//保存用户登录名;
 szxName = "xname";//保存用户姓名;
 szxPassword = "xpassword";//保存用户密码;
 szxStatus = "xstatus";//保存用户当前状态;
 szxClient = "xclient";//保存用户当前登录的软件版本号;
 szxIP = "xip";//保存用户当前登录的IP地址;

 /* 消息保存配置 */
 szxMsgType = "MsgType";// 消息类型
 szxMsgSend = "SendID";// 消息发送者
 szxMsgRecv = "GetID";// 消息接收者
 szxMsgData = "MsgData";// 消息数据
 szxMsgDate = "SendTime";// 发送日期
 szxMsgRead = "GetTime"; // 接收日期

 ReadFieldInfo();
}

XEIM_Config::~XEIM_Config()
{
}

void XEIM_Config::ReadFieldInfo()
{
 // 检查用户设置文件
 CIniReader iniReader(GetConfigFilePath());


 //
 // 读取用户字段信息 Databases_User
 if (iniReader.sectionExists(GROUP1))
 {
  // 数据字段对应表
  szxID = iniReader.getKeyValue("id", GROUP1);
  szxLogin = iniReader.getKeyValue("xlogin", GROUP1);
  szxName = iniReader.getKeyValue("xname", GROUP1);
  szxPassword = iniReader.getKeyValue("xpassword", GROUP1);
  szxStatus = iniReader.getKeyValue("xstatus", GROUP1);
  szxClient = iniReader.getKeyValue("xclient", GROUP1);
  szxIP = iniReader.getKeyValue("xip", GROUP1);
 }
 else // 不存在则新建一个
 {
  // 数据字段对应表
  iniReader.setKey(szxID.c_str(), "id", GROUP1);
  iniReader.setKey(szxLogin.c_str(), "xlogin", GROUP1);
  iniReader.setKey(szxName.c_str(), "xname", GROUP1);
  iniReader.setKey(szxPassword.c_str(), "xpassword", GROUP1);
  iniReader.setKey(szxStatus.c_str(), "xstatus", GROUP1);
  iniReader.setKey(szxClient.c_str(), "xclient", GROUP1);
  iniReader.setKey(szxIP.c_str(), "xip", GROUP1);
 }


 
 //
 // 读取数据库配置信息 Databases_Config
 if (iniReader.sectionExists(GROUP2))
 {
  // 数据字段对应表
//  m_szTable = iniReader.getKeyValue("table", GROUP2);
  szxUserTable = iniReader.getKeyValue("tab_user", GROUP2);
  szxMessageTable = iniReader.getKeyValue("tab_message", GROUP2);
  szxContactTable = iniReader.getKeyValue("tab_contact", GROUP2);
  m_szServer = iniReader.getKeyValue("server", GROUP2);
  m_szDatabase = iniReader.getKeyValue("database", GROUP2);
  m_szUserName = iniReader.getKeyValue("id", GROUP2);
  m_szPassword = iniReader.getKeyValue("password", GROUP2);
 }
 else // 不存在则新建一个
 {
  // 数据字段对应表
//  iniReader.setKey(m_szTable.c_str(), "table", GROUP2);
  iniReader.setKey(szxContactTable.c_str(), "tab_contact", GROUP2);
  iniReader.setKey(szxMessageTable.c_str(), "tab_message", GROUP2);
  iniReader.setKey(szxUserTable.c_str(), "tab_user", GROUP2);
  iniReader.setKey(m_szServer.c_str(), "server", GROUP2);
  iniReader.setKey(m_szDatabase.c_str(), "database", GROUP2);
  iniReader.setKey(m_szUserName.c_str(), "id", GROUP2);
  iniReader.setKey(m_szPassword.c_str(), "password", GROUP2);
 }

 

 //
 // 配置信息
// if (iniReader.sectionExists("settings"))
// {
 // szDirectory = iniReader.getKeyValue("directory", "settings");
// }
// else // 不存在则新建一个
// {
 // iniReader.setKey(szDirectory.c_str(), "directory", "settings");
// }
}


CString XEIM_Config::GetConfigFilePath()
{
 // 检查用户设置文件
 char szFileName[_MAX_PATH];
 CXiemUsersApp::GetProgramDirectory(szFileName);
 CString strPath = szFileName;
 strPath += CONFIG_FILE_NAME;
 return strPath;
}

void XEIM_Config::SaveFieldInfo()
{
 // 检查用户设置文件
 CIniReader iniReader(GetConfigFilePath());


 //
 // 保存用户字段信息 Databases_User

 // 数据字段对应表
 iniReader.setKey(szxID.c_str(), "id", GROUP1);
 iniReader.setKey(szxLogin.c_str(), "xlogin", GROUP1);
 iniReader.setKey(szxName.c_str(), "xname", GROUP1);
 iniReader.setKey(szxPassword.c_str(), "xpassword", GROUP1);
 iniReader.setKey(szxStatus.c_str(), "xstatus", GROUP1);
 iniReader.setKey(szxClient.c_str(), "xclient", GROUP1);
 iniReader.setKey(szxIP.c_str(), "xip", GROUP1);

 

 //
 // 保存数据库配置信息 Databases_Config
 // 数据字段对应表

 iniReader.setKey(szxContactTable.c_str(), "tab_contact", GROUP2);
 iniReader.setKey(szxMessageTable.c_str(), "tab_message", GROUP2);
 iniReader.setKey(szxUserTable.c_str(), "tab_user", GROUP2);
 iniReader.setKey(m_szServer.c_str(), "server", GROUP2);
 iniReader.setKey(m_szDatabase.c_str(), "database", GROUP2);
 iniReader.setKey(m_szUserName.c_str(), "id", GROUP2);
 iniReader.setKey(m_szPassword.c_str(), "password", GROUP2);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值