回 帖 发 新 帖 刷新版面

主题:VC++中数据库配置文件.INI

请问VC++中数据库配置文件.INI文件如何建立以及如何连接啊 ?急!!!

回复列表 (共4个回复)

沙发

midai,midai,顶,最佳支持奖。

板凳

这是一个完整的操作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 楼


   你好!我已经用VSS建立好了一个"数据库配置.ini"文件,而且加了进去,可就是不知道自己建的过程是不是出了什么问题,运行的时候提示没有次文件的编译工具.

所以我想问下具体过程差不多是怎样的?谢谢!

4 楼


不是广告:第一和第二可以分开看
第一
若可以做到在"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

软件开发

我来回复

您尚未登录,请登录后再回复。点此登录或注册