This will include writing/reading on the parameter initialization. This is useful when you are going to make a program on which you are going to save the parameters in the ini files.
Example:
Copath=D\games\conquer.exe
Myname=xmen01235
....
....
....
Code:
internal class iniParam
{
private Dictionary <string,string> _params = new Dictionary<string,string>();
private string _filename;
public iniParam(string filename)
{
_filename = filename;
this.Read();
}
public void Set(string paramname, string paramvalue)
{
if (!_params.ContainsKey(paramname))
_params.Add(paramname, paramvalue);
else
{
_params.Remove(paramname);
_params.Add(paramname, paramvalue);
}
}
public void Save()
{
if (_params.Count == 0)
return;
System.IO.StreamWriter oWrite= File.CreateText(this._filename);
oWrite.Close();
StreamWriter objStreamWriter = new StreamWriter(this._filename, true, Encoding.Unicode);
foreach (KeyValuePair<string, string> kvp in _params)
{
objStreamWriter.WriteLine(kvp.Key + "=" + kvp.Value);
}
objStreamWriter.Close();
}
public void Get(string paramname,out string paramvalue)
{
if (_params.Count == 0)
paramvalue="";
if (!_params.TryGetValue(paramname, out paramvalue))
paramvalue = "";
}
private void Read()
{
bool invalidFile = false;
if(this._filename=="")
{
invalidFile = true;
throw new System.ArgumentException("Invalid Filename!");
}
if (invalidFile)
return;
try
{
StreamReader reader=new StreamReader(this._filename);
while(reader.Peek()>=0)
{
try
{
string line= reader.ReadLine();
string[] strSplit;
char _operator='=';
strSplit=line.Split(_operator);
_params.Add(strSplit[0], strSplit[1]);
}
catch
{
throw new System.ArgumentException("Error in reading file!");
}
}
reader.Close();
}
catch
{
System.IO.StreamWriter oWrite=File.CreateText(this._filename);
oWrite.Close();
}
}
}
Definition
Code:
private iniParam myParam=new iniParam("parameters.ini");
Code:
myParam.Set("Copath", "D:\\games\\conquer.exe");
myParam.Set("Myname", "xmen01235");
myParam.Save();
Code:
string _copath,_myName;
myParam.Get("Copath",out _copath);
myParam.Set("Myname",out _myName);






