#ifndef _LEARN_OBJECT_H_
#define _LEARN_OBJECT_H_

class CIniFile
{
public:
    CIniFile()
    {
    }
    ~CIniFile() { }

private:
    wchar_t        m_path[_MAX_FNAME];

public:
    void InitConfigPath(const wchar_t *filePath)
    {
        memset(m_path, 0, sizeof(m_path));
        wcscpy(m_path, filePath);
    }

    // 获取字符串, 返回字符串个数
    int GetObjValue(const wchar_t *section, const wchar_t *firstKey, wchar_t* outValue, int size)
    {
        int nCount = 0;

        if (section && firstKey)
        {
            memset(outValue, 0, sizeof(outValue));
            nCount = GetPrivateProfileString(section, firstKey, L"0", outValue, size, m_path);
        }

        return nCount;
    }

    // 获取int型数值, 返回值即获取值
    int GetObjValue(const wchar_t *section, const wchar_t *firstKey)
    {
        int nRet = 0;
        if (section && firstKey)
        {
            nRet = GetPrivateProfileInt(section, firstKey, 0, m_path);
        }

        return nRet;
    }

    // 获取坐标如point=14,13, 返回值高位为x轴坐标,低位为y轴坐标
    DWORD GetObjValuePoint(const wchar_t *section, const wchar_t *firstKey)
    {
        wchar_t            outValue[16] = {0};
        int                nLen = 0;
        int                nCurPos = 0;
        int                x = 0;
        int                y = 0;
        DWORD            dwRet = 0;

        GetPrivateProfileString(section, firstKey, L"0", outValue, 16, m_path);
        nLen = wcslen(outValue);

        for (int i = 0; i < nLen; i++)
        {
            if (outValue[i] == ',')
            {
                outValue[i] = '\0';
                break;
            }
            nCurPos++;
        }

        x = _ttoi(outValue);
        y = _ttoi(&outValue[++nCurPos]);

        dwRet = MAKELONG(y, x);
        return dwRet;

    }

    BOOL SetObjValue(const wchar_t *section, const wchar_t *firstKey, const wchar_t* inValue)
    {
        BOOL bRet = FALSE;

        if (section && firstKey)
        {
            bRet = WritePrivateProfileString(section, firstKey, inValue, m_path);
        }

        return bRet;
    }

    BOOL SetObjValue(const wchar_t *section, const wchar_t *firstKey, int nValue)
    {
        BOOL bRet = FALSE;

        if (section && firstKey && (nValue > 0))
        {
            wchar_t szValue[8] = {0};
            swprintf(szValue, L"%d", nValue);
            bRet = WritePrivateProfileString(section, firstKey, szValue, m_path);
        }

        return bRet;
    }

    BOOL WriteObjSection(const wchar_t *section, const wchar_t *string)
    {
        int bRet = FALSE;
        if (!(section && string))
        {
            return FALSE;
        }

        bRet = WritePrivateProfileSection(section, string, m_path);
        return bRet;
    }

    BOOL DeleteObjSection(const wchar_t *section)
    {
        BOOL bRet = FALSE;
        if (section)
        {
            bRet = WritePrivateProfileString(section, NULL, NULL, m_path);
        }

        return bRet;
    }
};

#endif // _LEARN_OBJECT_H_

迁移2011-05-08

发表评论

电子邮件地址不会被公开。 必填项已用*标注

鄂ICP备17003086号. Copyright © 2016. All Rights Reserved.