#include "stdafx.h"


CIniReader::CIniReader(wchar_t* szFileName)
{
 wmemset(m_szFileName, 0x00, 255);
 wmemcpy(m_szFileName, szFileName, wcslen(szFileName));
}
int CIniReader::ReadInteger(wchar_t* szSection, wchar_t* szKey, int iDefaultValue)
{
 int iResult = GetPrivateProfileInt(szSection,  szKey, iDefaultValue, m_szFileName); 
 return iResult;
}
double CIniReader::ReadDouble(wchar_t* szSection, wchar_t* szKey, double fltDefaultValue)
{
 wchar_t szResult[255];
 wchar_t szDefault[255];
 double fltResult;
 wprintf(szDefault, L"%d",fltDefaultValue);
 GetPrivateProfileString(szSection,  szKey, szDefault, szResult, 255, m_szFileName); 
 fltResult =  _wtof(szResult);
 return fltResult;
}
bool CIniReader::ReadBoolean(wchar_t* szSection, wchar_t* szKey, bool bolDefaultValue)
{
 wchar_t szResult[255];
 wchar_t szDefault[255];
 bool bolResult;
 wprintf(szDefault, L"%s", bolDefaultValue? "True" : "False");
 GetPrivateProfileString(szSection, szKey, szDefault, szResult, 255, m_szFileName); 
 bolResult =  (wcscmp(szResult, L"True") == 0 || 
		wcscmp(szResult, L"true") == 0) ? true : false;
 return bolResult;
}
wchar_t* CIniReader::ReadString(wchar_t* szSection, wchar_t* szKey, const wchar_t* szDefaultValue)
{
 wchar_t* szResult = new wchar_t[255];
 memset(szResult, 0x00, 255);
 GetPrivateProfileString(szSection,  szKey, 
		szDefaultValue, szResult, 255, m_szFileName); 
 return szResult;
}