Const fixes.

Add unsigned values.
Remove old, outdated, redundant comments.
Simplify.
This commit is contained in:
Glenn Maynard
2003-05-22 19:35:57 +00:00
parent 383779f2fc
commit 1edc1a325c
2 changed files with 37 additions and 44 deletions
+27 -34
View File
@@ -46,9 +46,7 @@ bool IniFile::ReadFile()
return 0;
}
CString keyname, valuename, value;
CString temp;
CString line;
CString line, keyname;
while (getline(file, line))
{
if(line.size() >= 3 &&
@@ -71,17 +69,15 @@ bool IniFile::ReadFile()
if (line[0] == '[' && line[line.GetLength()-1] == ']') //if a section heading
{
keyname = line;
TrimLeft(keyname, "[");
TrimRight(keyname, "]");
keyname = line.substr(1, line.size()-2);
}
else //if a value
{
int iEqualIndex = line.Find("=");
if( iEqualIndex != -1 )
{
valuename = line.Left(iEqualIndex);
value = line.Right(line.GetLength()-valuename.GetLength()-1);
CString valuename = line.Left(iEqualIndex);
CString value = line.Right(line.GetLength()-valuename.GetLength()-1);
SetValue(keyname,valuename,value);
}
}
@@ -135,8 +131,7 @@ int IniFile::GetNumValues(const CString &keyname) const
}
// gets value of [keyname] valuename =
// overloaded to return CString, int, and double
bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString& value)
bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString& value) const
{
keymap::const_iterator k = keys.find(keyname);
if (k == keys.end())
@@ -158,36 +153,39 @@ bool IniFile::GetValue(const CString &keyname, const CString &valuename, CString
}
// gets value of [keyname] valuename =
// overloaded to return CString, int, and double
bool IniFile::GetValueI(const CString &keyname, const CString &valuename, int& value)
bool IniFile::GetValueI(const CString &keyname, const CString &valuename, int& value) const
{
CString sValue;
bool bSuccess = GetValue(keyname,valuename,sValue);
if( !bSuccess )
if( !GetValue(keyname,valuename,sValue) )
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;
}
// gets value of [keyname] valuename =
// overloaded to return CString, int, and double
bool IniFile::GetValueF(const CString &keyname, const CString &valuename, float& value)
bool IniFile::GetValueF(const CString &keyname, const CString &valuename, float& value) const
{
CString sValue;
bool bSuccess = GetValue(keyname,valuename,sValue);
if( !bSuccess )
if( !GetValue(keyname,valuename,sValue) )
return false;
value = (float)atof(sValue);
sscanf( sValue.c_str(), "%f", &value );
return true;
}
// gets value of [keyname] valuename =
// overloaded to return CString, int, and double
bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool& value)
bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool& value) const
{
CString sValue;
bool bSuccess = GetValue(keyname,valuename,sValue);
if( !bSuccess )
if( !GetValue(keyname,valuename,sValue) )
return false;
value = atoi(sValue) != 0;
return true;
@@ -196,7 +194,6 @@ bool IniFile::GetValueB(const CString &keyname, const CString &valuename, bool&
// 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::SetValue(const CString &keyname, const CString &valuename, const CString &value, bool create)
{
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 =.
// 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::SetValueI(const CString &keyname, const CString &valuename, int value, bool create)
{
return SetValue(keyname, valuename, ssprintf("%d",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::SetValueU(const CString &keyname, const CString &valuename, unsigned value, bool create)
{
return SetValue(keyname, valuename, ssprintf("%u",value), create);
}
bool IniFile::SetValueF(const CString &keyname, const CString &valuename, float value, bool 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)
{
return SetValue(keyname, valuename, ssprintf("%d",value), create);
+10 -10
View File
@@ -39,7 +39,7 @@ public:
//will contain error info if one occurs
//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
IniFile(CString inipath = "");
@@ -68,22 +68,22 @@ public:
int GetNumValues(const CString &keyname) const;
//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
bool GetValue(const CString &key, const CString &valuename, CString& value);
bool GetValueI(const CString &key, const CString &valuename, int& value);
bool GetValueF(const CString &key, const CString &valuename, float& value);
bool GetValueB(const CString &key, const CString &valuename, bool& value);
bool GetValue(const CString &key, const CString &valuename, int& value) { return GetValueI(key, valuename, value); }
bool GetValue(const CString &key, const CString &valuename, float& value) { return GetValueF(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, CString& value) const;
bool GetValueI(const CString &key, const CString &valuename, int& value) const;
bool GetValueU(const CString &key, const CString &valuename, unsigned& value) const;
bool GetValueF(const CString &key, const CString &valuename, float& value) const;
bool GetValueB(const CString &key, const CString &valuename, bool& value) const;
bool GetValue(const CString &key, const CString &valuename, int& value) const { return GetValueI(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 =.
//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 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 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 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); }