Хранить параметры приложения в текстовом файле - C#
Формулировка задачи:
Как реализовать такую штуку, чтобы параметры программы брались из текстового документа.
То есть, например переменная А была равна первой строке документа conf.txt?
Ссылки на примеры или уроки в студию!
Решение задачи: «Хранить параметры приложения в текстовом файле»
textual
Листинг программы
internal static class List //Абстрактный класс работы со списком на основе двух типовых элементов
{
...
public static void Save(ComplexElm elm, string filename) //Сохранить список в файл
{
using (var xmlOut = new XmlTextWriter(new System.IO.FileStream(filename, System.IO.FileMode.Create), System.Text.Encoding.Unicode))
{
xmlOut.Formatting = Formatting.Indented;
xmlOut.WriteStartDocument();
xmlOut.WriteComment("Это файл с сохраненным связным мультисписком");
xmlOut.WriteStartElement("Root");
while (elm != null)
{
SimpleElm currentSimple = elm.NextSimple;
xmlOut.WriteStartElement("ComplexElm");
xmlOut.WriteAttributeString("value", elm.Value);
while (currentSimple != null)
{
xmlOut.WriteStartElement("SimpleElm");
xmlOut.WriteAttributeString("value", currentSimple.Value);
xmlOut.WriteEndElement();
currentSimple = currentSimple.NextSimple;
}
xmlOut.WriteEndElement();
elm = elm.NextComplex;
}
xmlOut.WriteEndElement();
xmlOut.WriteEndDocument();
}
}
public static ComplexElm Load(string filename) //Загрузить список из файла
{
if (filename == "") return null;
ComplexElm firstElm = null;
ComplexElm currentElm = null;
using (var xmlIn = new XmlTextReader(new System.IO.FileStream(filename, System.IO.FileMode.Open)))
{
xmlIn.WhitespaceHandling = WhitespaceHandling.None;
try
{
xmlIn.MoveToContent();
if (xmlIn.Name != "Root")
throw new ArgumentException("Неверный формат файла!");
do
{
if (!xmlIn.Read())
throw new ArgumentException("Ошибка при попытке чтения!");
if ((xmlIn.NodeType == XmlNodeType.EndElement) && (xmlIn.Name == "Root"))
break;
if (xmlIn.NodeType == XmlNodeType.EndElement)
continue;
if (xmlIn.Name == "ComplexElm")
{
Add(ref currentElm, xmlIn.GetAttribute(0));
if (firstElm == null)
firstElm = currentElm;
}
else
{
if (currentElm != null)
Add(ref currentElm.NextSimple, xmlIn.GetAttribute(0));
}
} while (!xmlIn.EOF);
}
catch (Exception ex)
{
MessageBox.Show(Resources.ErrorMsg + ex.Message);
return null;
}
}
return firstElm;
}
}