Const fixes.
Add unsigned values. Remove old, outdated, redundant comments. Simplify.
This commit is contained in:
+27
-34
@@ -46,9 +46,7 @@ bool IniFile::ReadFile()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CString keyname, valuename, value;
|
CString line, keyname;
|
||||||
CString temp;
|
|
||||||
CString line;
|
|
||||||
while (getline(file, line))
|
while (getline(file, line))
|
||||||
{
|
{
|
||||||
if(line.size() >= 3 &&
|
if(line.size() >= 3 &&
|
||||||
@@ -71,17 +69,15 @@ bool IniFile::ReadFile()
|
|||||||
|
|
||||||
if (line[0] == '[' && line[line.GetLength()-1] == ']') //if a section heading
|
if (line[0] == '[' && line[line.GetLength()-1] == ']') //if a section heading
|
||||||
{
|
{
|
||||||
keyname = line;
|
keyname = line.substr(1, line.size()-2);
|
||||||
TrimLeft(keyname, "[");
|
|
||||||
TrimRight(keyname, "]");
|
|
||||||
}
|
}
|
||||||
else //if a value
|
else //if a value
|
||||||
{
|
{
|
||||||
int iEqualIndex = line.Find("=");
|
int iEqualIndex = line.Find("=");
|
||||||
if( iEqualIndex != -1 )
|
if( iEqualIndex != -1 )
|
||||||
{
|
{
|
||||||
valuename = line.Left(iEqualIndex);
|
CString valuename = line.Left(iEqualIndex);
|
||||||
value = line.Right(line.GetLength()-valuename.GetLength()-1);
|
CString value = line.Right(line.GetLength()-valuename.GetLength()-1);
|
||||||
SetValue(keyname,valuename,value);
|
SetValue(keyname,valuename,value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -135,8 +131,7 @@ int IniFile::GetNumValues(const CString &keyname) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// gets value of [keyname] valuename =
|
// gets value of [keyname] valuename =
|
||||||
// overloaded to return CString, int, and double
|
bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString& value) const
|
||||||
bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString& value)
|
|
||||||
{
|
{
|
||||||
keymap::const_iterator k = keys.find(keyname);
|
keymap::const_iterator k = keys.find(keyname);
|
||||||
if (k == keys.end())
|
if (k == keys.end())
|
||||||
@@ -158,36 +153,39 @@ bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString
|
|||||||
}
|
}
|
||||||
|
|
||||||
// gets value of [keyname] valuename =
|
// gets value of [keyname] valuename =
|
||||||
// overloaded to return CString, int, and double
|
bool IniFile::GetValueI(const CString &keyname, const CString &valuename, int& value) const
|
||||||
bool IniFile::GetValueI(const CString &keyname, const CString &valuename, int& value)
|
|
||||||
{
|
{
|
||||||
CString sValue;
|
CString sValue;
|
||||||
bool bSuccess = GetValue(keyname,valuename,sValue);
|
if( !GetValue(keyname,valuename,sValue) )
|
||||||
if( !bSuccess )
|
|
||||||
return false;
|
return false;
|
||||||
value = atoi(sValue);
|
sscanf( sValue.c_str(), "%d", &value );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IniFile::GetValueU(const CString &keyname, const CString &valuename, unsigned &value) const
|
||||||
|
{
|
||||||
|
CString sValue;
|
||||||
|
if( !GetValue(keyname,valuename,sValue) )
|
||||||
|
return false;
|
||||||
|
sscanf( sValue.c_str(), "%u", &value );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets value of [keyname] valuename =
|
// gets value of [keyname] valuename =
|
||||||
// overloaded to return CString, int, and double
|
bool IniFile::GetValueF(const CString &keyname, const CString &valuename, float& value) const
|
||||||
bool IniFile::GetValueF(const CString &keyname, const CString &valuename, float& value)
|
|
||||||
{
|
{
|
||||||
CString sValue;
|
CString sValue;
|
||||||
bool bSuccess = GetValue(keyname,valuename,sValue);
|
if( !GetValue(keyname,valuename,sValue) )
|
||||||
if( !bSuccess )
|
|
||||||
return false;
|
return false;
|
||||||
value = (float)atof(sValue);
|
sscanf( sValue.c_str(), "%f", &value );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets value of [keyname] valuename =
|
// gets value of [keyname] valuename =
|
||||||
// overloaded to return CString, int, and double
|
bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool& value) const
|
||||||
bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool& value)
|
|
||||||
{
|
{
|
||||||
CString sValue;
|
CString sValue;
|
||||||
bool bSuccess = GetValue(keyname,valuename,sValue);
|
if( !GetValue(keyname,valuename,sValue) )
|
||||||
if( !bSuccess )
|
|
||||||
return false;
|
return false;
|
||||||
value = atoi(sValue) != 0;
|
value = atoi(sValue) != 0;
|
||||||
return true;
|
return true;
|
||||||
@@ -196,7 +194,6 @@ bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool&
|
|||||||
// sets value of [keyname] valuename =.
|
// sets value of [keyname] valuename =.
|
||||||
// specify the optional paramter as false (0) if you do not want it to create
|
// specify the optional paramter as false (0) if you do not want it to create
|
||||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||||
// overloaded to accept CString, int, and double
|
|
||||||
bool IniFile::SetValue(const CString &keyname, const CString &valuename, const CString &value, bool create)
|
bool IniFile::SetValue(const CString &keyname, const CString &valuename, const CString &value, bool create)
|
||||||
{
|
{
|
||||||
if (!create && keys.find(keyname) == keys.end()) //if key doesn't exist
|
if (!create && keys.find(keyname) == keys.end()) //if key doesn't exist
|
||||||
@@ -213,25 +210,21 @@ bool IniFile::SetValue(const CString &keyname, const CString &valuename, const C
|
|||||||
// sets value of [keyname] valuename =.
|
// sets value of [keyname] valuename =.
|
||||||
// specify the optional paramter as false (0) if you do not want it to create
|
// specify the optional paramter as false (0) if you do not want it to create
|
||||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||||
// overloaded to accept CString, int, and double
|
|
||||||
bool IniFile::SetValueI(const CString &keyname, const CString &valuename, int value, bool create)
|
bool IniFile::SetValueI(const CString &keyname, const CString &valuename, int value, bool create)
|
||||||
{
|
{
|
||||||
return SetValue(keyname, valuename, ssprintf("%d",value), create);
|
return SetValue(keyname, valuename, ssprintf("%d",value), create);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sets value of [keyname] valuename =.
|
bool IniFile::SetValueU(const CString &keyname, const CString &valuename, unsigned value, bool create)
|
||||||
// specify the optional paramter as false (0) if you do not want it to create
|
{
|
||||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
return SetValue(keyname, valuename, ssprintf("%u",value), create);
|
||||||
// overloaded to accept CString, int, and double
|
}
|
||||||
|
|
||||||
bool IniFile::SetValueF(const CString &keyname, const CString &valuename, float value, bool create)
|
bool IniFile::SetValueF(const CString &keyname, const CString &valuename, float value, bool create)
|
||||||
{
|
{
|
||||||
return SetValue(keyname, valuename, ssprintf("%f",value), create);
|
return SetValue(keyname, valuename, ssprintf("%f",value), create);
|
||||||
}
|
}
|
||||||
|
|
||||||
// sets value of [keyname] valuename =.
|
|
||||||
// specify the optional paramter as false (0) if you do not want it to create
|
|
||||||
// the key if it doesn't exist. Returns true if data entered, false otherwise
|
|
||||||
// overloaded to accept CString, int, and double
|
|
||||||
bool IniFile::SetValueB(const CString &keyname, const CString &valuename, bool value, bool create)
|
bool IniFile::SetValueB(const CString &keyname, const CString &valuename, bool value, bool create)
|
||||||
{
|
{
|
||||||
return SetValue(keyname, valuename, ssprintf("%d",value), create);
|
return SetValue(keyname, valuename, ssprintf("%d",value), create);
|
||||||
|
|||||||
+10
-10
@@ -39,7 +39,7 @@ public:
|
|||||||
|
|
||||||
//will contain error info if one occurs
|
//will contain error info if one occurs
|
||||||
//ended up not using much, just in ReadFile and GetValue
|
//ended up not using much, just in ReadFile and GetValue
|
||||||
CString error;
|
mutable CString error;
|
||||||
|
|
||||||
//constructor, can specify pathname here instead of using SetPath later
|
//constructor, can specify pathname here instead of using SetPath later
|
||||||
IniFile(CString inipath = "");
|
IniFile(CString inipath = "");
|
||||||
@@ -68,22 +68,22 @@ public:
|
|||||||
int GetNumValues(const CString &keyname) const;
|
int GetNumValues(const CString &keyname) const;
|
||||||
|
|
||||||
//gets value of [keyname] valuename =
|
//gets value of [keyname] valuename =
|
||||||
//overloaded to return CString, int, and double,
|
|
||||||
//returns "", or 0 if key/value not found. Sets error member to show problem
|
//returns "", or 0 if key/value not found. Sets error member to show problem
|
||||||
bool GetValue(const CString &key, const CString &valuename, CString& value);
|
bool GetValue(const CString &key, const CString &valuename, CString& value) const;
|
||||||
bool GetValueI(const CString &key, const CString &valuename, int& value);
|
bool GetValueI(const CString &key, const CString &valuename, int& value) const;
|
||||||
bool GetValueF(const CString &key, const CString &valuename, float& value);
|
bool GetValueU(const CString &key, const CString &valuename, unsigned& value) const;
|
||||||
bool GetValueB(const CString &key, const CString &valuename, bool& value);
|
bool GetValueF(const CString &key, const CString &valuename, float& value) const;
|
||||||
bool GetValue(const CString &key, const CString &valuename, int& value) { return GetValueI(key, valuename, value); }
|
bool GetValueB(const CString &key, const CString &valuename, bool& value) const;
|
||||||
bool GetValue(const CString &key, const CString &valuename, float& value) { return GetValueF(key, valuename, value); }
|
bool GetValue(const CString &key, const CString &valuename, int& value) const { return GetValueI(key, valuename, value); }
|
||||||
bool GetValue(const CString &key, const CString &valuename, bool& value) { return GetValueB(key, valuename, value); }
|
bool GetValue(const CString &key, const CString &valuename, float& value) const { return GetValueF(key, valuename, value); }
|
||||||
|
bool GetValue(const CString &key, const CString &valuename, bool& value) const { return GetValueB(key, valuename, value); }
|
||||||
|
|
||||||
//sets value of [keyname] valuename =.
|
//sets value of [keyname] valuename =.
|
||||||
//specify the optional paramter as false (0) if you do not want it to create
|
//specify the optional paramter as false (0) if you do not want it to create
|
||||||
//the key if it doesn't exist. Returns true if data entered, false otherwise
|
//the key if it doesn't exist. Returns true if data entered, false otherwise
|
||||||
//overloaded to accept CString, int, and double
|
|
||||||
bool SetValue(const CString &key, const CString &valuename, const CString &value, bool create = 1);
|
bool SetValue(const CString &key, const CString &valuename, const CString &value, bool create = 1);
|
||||||
bool SetValueI(const CString &key, const CString &valuename, int value, bool create = 1);
|
bool SetValueI(const CString &key, const CString &valuename, int value, bool create = 1);
|
||||||
|
bool SetValueU(const CString &key, const CString &valuename, unsigned value, bool create = 1);
|
||||||
bool SetValueF(const CString &key, const CString &valuename, float value, bool create = 1);
|
bool SetValueF(const CString &key, const CString &valuename, float value, bool create = 1);
|
||||||
bool SetValueB(const CString &key, const CString &valuename, bool value, bool create = 1);
|
bool SetValueB(const CString &key, const CString &valuename, bool value, bool create = 1);
|
||||||
bool SetValue(const CString &key, const CString &valuename, int value, bool create = 1) { return SetValue(key, valuename, value, create); }
|
bool SetValue(const CString &key, const CString &valuename, int value, bool create = 1) { return SetValue(key, valuename, value, create); }
|
||||||
|
|||||||
Reference in New Issue
Block a user