主题:VC++中数据库配置文件.INI
alice19850525
[专家分:0] 发布于 2007-11-08 21:13:00
请问VC++中数据库配置文件.INI文件如何建立以及如何连接啊 ?急!!!
回复列表 (共4个回复)
沙发
midi [专家分:30] 发布于 2007-11-08 23:14:00
midai,midai,顶,最佳支持奖。
板凳
liangweizhong [专家分:540] 发布于 2007-11-09 14:32:00
这是一个完整的操作INI配置文件的类,仅供参考
// IniEditor.h: interface for the CIniEditor class.
//
// Written by liangweizhong All Rights Reserved.
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_INIEDITOR_H__78685452_265E_49C7_BCF9_DC5D2B7E91B2__INCLUDED_)
#define AFX_INIEDITOR_H__78685452_265E_49C7_BCF9_DC5D2B7E91B2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAXINIBUFFER 1024
class CIniEditor
{
public:
CIniEditor()
{
memset(szBuffer,0,MAXINIBUFFER);
}
virtual ~CIniEditor()
{
}
private:
char szBuffer[MAXINIBUFFER];
CString szFilePath;
CString szErrormsg;
private:
// 获取最后一次错误的信息
CString FormatErrorMsg()
{
LPVOID lpMsgBuf;
if (!FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL ))
{
return "";
}
CString szFormatErrmsg;
szFormatErrmsg.Format("%s",lpMsgBuf);
LocalFree( lpMsgBuf );
return szFormatErrmsg;
}
public:
CString GetErrorMsg() {return szErrormsg;}
// 类的初始函数,传递INI文件名
bool SetIniFile(CString szIniFilePath)
{
if (!ExistINIFile(szIniFilePath))
{
szErrormsg.Format("文件\r\n%s\r\n不存在");
return false;
}
szFilePath=szIniFilePath;
return true;
}
// 写入INI文件,项目名称(如 [TypeName] ),键,值
bool IniWriteValue(CString Section,CString Key,CString Value)
{
if (szFilePath.GetLength()==0 || !ExistINIFile(szFilePath))
{
szErrormsg.Format("文件\r\n%s\r\n不存在");
return false;
}
BOOL bReValeu=WritePrivateProfileString(Section,Key,Value,szFilePath);
if (!bReValeu)
{
szErrormsg.Format("设置项[%s]的子键[%s]为 %s 时出错:%s",Section,Key,Value,FormatErrorMsg());
return false;
}
else return true;
}
// 读出INI文件,项目名称(如 [TypeName] ),键
CString IniReadValueStr(CString Section,CString Key)
{
if (szFilePath.GetLength()==0 || !ExistINIFile(szFilePath))
{
szErrormsg.Format("文件\r\n%s\r\n不存在",szFilePath);
return "";
}
CString szValue;
GetPrivateProfileString(Section,Key,"",szBuffer,MAXINIBUFFER,szFilePath);
szValue.Format("%s",szBuffer);
return szValue;
}
// 读出INI文件,项目名称(如 [TypeName] ),键
int IniReadValueInt(CString Section,CString Key)
{
if (szFilePath.GetLength()==0 || !ExistINIFile(szFilePath))
{
szErrormsg.Format("文件\r\n%s\r\n不存在");
return false;
}
return GetPrivateProfileInt(Section,Key,0,szFilePath);
}
// 验证文件是否存在,布尔值
bool ExistINIFile(CString szFilePath_v)
{
if (szFilePath_v.GetLength()==0 )
return false;
CFileStatus fs;
if (!CFile::GetStatus(szFilePath_v,fs))
return false;
else
return true;
}
};
#endif // !defined(AFX_INIEDITOR_H__78685452_265E_49C7_BCF9_DC5D2B7E91B2__INCLUDED_)
3 楼
alice19850525 [专家分:0] 发布于 2007-11-09 21:58:00
你好!我已经用VSS建立好了一个"数据库配置.ini"文件,而且加了进去,可就是不知道自己建的过程是不是出了什么问题,运行的时候提示没有次文件的编译工具.
所以我想问下具体过程差不多是怎样的?谢谢!
4 楼
BELIEVETHEFUTURE [专家分:0] 发布于 2008-02-20 10:04:00
不是广告:第一和第二可以分开看
第一
若可以做到在"WOW"(魔兽 游戏)里根据我门所给的文件(服务器名,玩家名).其中之一实现要求的有报酬.(全部的更多!)
要求
1.可以根据我们所给的服务器正确的选择,(要百分之九十九以上),游戏的一点延时可以忽略(一秒以内).
基本功能就是随便我在他制作软件里选择哪个服务器,都可以进入到游戏的相对应的那个服务器里面去.
如果给您一个内存开始为(00CFC134)的地址,然后读取下面的全部内容. 可以做到吗
有兴趣的请联系我QQ,375045164)或BELIVETHEFUTURE@HOTMAIL.COM
第二
1、VC技能要求:精通VC++网络以及数据库编程,有VC++项目开发2年或以上,有游戏开发经验者优先;
必须了解以下内容:
i.Windows下TCP/IP网络编程
ii.Windows多线程编程
iii.Windows界面编程
iv.常用的数据结构及算法
2、精通汇编与反汇编的操作.(关于底层的最好)
3、精通Oracle、SQL Server、Mysql等数据库开发;
4、工作要细心和有责任心.
有兴趣的请发简历到(如有作品请附带)QQ,375045164或BELIVETHEFUTURE@HOTMAIL.COM
软件开发
我来回复