#pragma once #include #include "DllDefines.h" class UTILITYDLL CIniFile { public: CIniFile(LPCTSTR sFileName = nullptr, LPCTSTR sSectionName = nullptr); virtual ~CIniFile(); CIniFile& SetFileName(LPCTSTR sFileName); CIniFile& SetSectionName(LPCTSTR m_sSectionName); // Get SectionName LPCTSTR GetSectionName(); // Get FileName LPCTSTR GetFileName(); BOOL WriteString(LPCTSTR lpKeyName, LPCTSTR lpString); BOOL WriteLong(LPCTSTR lpKeyName, long lLong); BOOL WriteDouble(LPCTSTR lpKeyName, double dDouble); std::string GetString(LPCTSTR lpKeyName, LPCTSTR lpDefaultString, BOOL bCreateIfFail = TRUE); long GetLong(LPCTSTR lpKeyName, long lDefaultLong, BOOL bCreateIfFail = TRUE); double GetDouble(LPCTSTR lpKeyName, double dDefaultDouble, BOOL bCreateIfFail = TRUE); bool GetBool(LPCTSTR lpKeyName, LPCTSTR lpDefaultString, BOOL bCreateIfFail = TRUE); // write longlong value to file BOOL WriteLongLong(LPCTSTR lpKeyName, LONGLONG lLong); // get longlong value from file LONGLONG GetLongLong(LPCTSTR lpKeyName, LONGLONG lDefaultLong, BOOL bCreateIfFail = TRUE); // write longlong value to file static BOOL WriteLongLong(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, LONGLONG lLong); // get long long value from file static LONGLONG GetLongLong(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, LONGLONG lDefaultLong, BOOL bCreateIfFail = TRUE); static BOOL WriteString(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, LPCTSTR lpString); static BOOL WriteLong(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, long lLong); static BOOL WriteDouble(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, double dDouble); static std::string GetString(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, LPCTSTR lpDefaultString, BOOL bCreateIfFail = TRUE); static long GetLong(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, long lDefaultLong, BOOL bCreateIfFail = TRUE); static double GetDouble(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, double dDefaultDouble, BOOL bCreateIfFail = TRUE); static bool GetBool(LPCTSTR pszFileName, LPCTSTR pszSectionName, LPCTSTR lpKeyName, LPCTSTR lpDefaultString, BOOL bCreateIfFail = TRUE); // attributes private: static constexpr int MAX_INI_FILE_PATH = 512; TCHAR m_sFileName[MAX_INI_FILE_PATH]{ 0 }; TCHAR m_sSectionName[MAX_INI_FILE_PATH]{ 0 }; };