Introduction
CIniReader
is a class that reads/writes from/to an INI file.
Details
Here are functions list of this class:
setINIFileName
Sets the INI File name to read and write.
getKeyValue
Used to retrieve a key value given the section and key name.
getSectionData
Used to retrieve all key/value pairs of a given section.
getSectionNames
Used to retrieve all the sections in an ini file
sectionExists
Used to find out if a given section exists.
setKey
Used to modify the key value or to create a key value pair for the specified section.
The functions in CIniReader
use GetPrivateProfilexxx ()
functions to set, get information stored in an INI file. By having idea of the SDK functions like GetPrivateProfilexxx ()
, the functionality of the class can easily be extended.
Here is the CIniReader
header file:
class CIniReader
{
public:
void setINIFileName(CString strINIFile);
CStringList* getSectionData(CString strSection);
CStringList* getSectionNames();
BOOL sectionExists(CString strSection);
long setKey(CString strValue, CString strKey, CString strSection);
CString getKeyValue(CString strKey,CString strSection);
CIniReader()
{
m_sectionList = new CStringList();
m_sectionDataList = new CStringList();
}
CIniReader(CString strFile)
{
m_strFileName = strFile;
m_sectionList = new CStringList();
m_sectionDataList = new CStringList();
}
~CIniReader()
{
delete m_sectionList;
delete m_sectionDataList;
}
private:
CStringList *m_sectionDataList;
CStringList *m_sectionList;
CString m_strSection;
long m_lRetValue;
CString m_strFileName;
};
How to use the class?
Demo project shows how to use the class. It takes from the user the fully qualified path and name of the INI file as C:\WINDOWS\ODBC.INI in the INI File name edit box. List Sections fills the list of sections in the INI file. Specifying any of the section names, and clicking the List Keys buttons will fill the second list box with the section data (all key and value pairs). Specifying a key name and pressing the Show Key Value button will display the value of the key. Update Key Value will update the modified value from the key value edit box for the key. If key not already present, update key value will create the specified key-value pair in the INI file. Be sure what you are doing, as it will modify the keys and values of INI.
Currently the buffer limit is up to 2000 characters, which can be increased according to the requirement.
After setting the INI file name just as the following code, you can proceed with using CIniReader
functions:
CIniReader m_IniReader;
m_strINIFile = �C:\\WINDOWS\\ODBC.INI�;
m_IniReader.setINIFileName (m_strINIFile);
That's it. The class is so simple and easy to use, I am sure you will have no problem.