#pragma once

#include "SmartDisk.h"


class SMARTDISK_API CFileOption
{
public:
	//输入完整路径
	CFileOption(const TCHAR* strFile);
	~CFileOption(void);

	//输入完整路径
	void Redir(const TCHAR* strFile);


	int GetInt(const TCHAR* strSection, const TCHAR* strField, int defval=0);
	double GetFloat(const TCHAR* strSection, const TCHAR* strField, double defval=0.);
	BOOL GetBool(const TCHAR* strSection, const TCHAR* strField, BOOL defval=FALSE);
	bool GetBool(const TCHAR* strSection, const TCHAR* strField, bool defval);


	const TCHAR* GetText(const TCHAR* strSection, const TCHAR* strField);


	void SetInt(const TCHAR* strSection, const TCHAR* strField, int  val);
	void SetFloat(const TCHAR* strSection, const TCHAR* strField, double  val);
	void SetBool(const TCHAR* strSection, const TCHAR* strField, BOOL  val);
	void SetBool(const TCHAR* strSection, const TCHAR* strField, bool  val);

	void SetText(const TCHAR* strSection, const TCHAR* strField, const TCHAR* strVal);


	UINT Read(const TCHAR* strSection, const TCHAR* strField, int& val);
	UINT Read(const TCHAR* strSection, const TCHAR* strField, double& val);
	UINT Read(const TCHAR* strSection, const TCHAR* strField, TCHAR* pVal, int size);
	UINT Read(const TCHAR* strSection, const TCHAR* strField, bool& val);

	 
	
	BOOL Write(const TCHAR* strSection, const TCHAR* strField, int  val);
	BOOL Write(const TCHAR* strSection, const TCHAR* strField, double  val);
	BOOL Write(const TCHAR* strSection, const TCHAR* strField, bool  val);
	BOOL Write(const TCHAR* strSection, const TCHAR* strField, const TCHAR* strVal);

private:
	TCHAR* m_strFilePath;
};

