Я пытался выяснить, как использовать функцию SaveFileDialog
в c# для сохранения более одного файла одновременно.
Основная идея c заключается в том, что после того, как пользователь установил параметры для файла .cfg, пользователь вводит набор серийных номеров, для которых необходимо сохранить конфигурацию. Затем вызывается SaveFileDialog
, позволяющий пользователю сохранить один файл .cfg под именами серийных номеров, перечисленных пользователем.
Возможно ли это сделать? Вам нужно поместить функцию в al oop, или есть другой способ достижения этой цели?
.cfg файл настроен так:
timezone = 1
auto_DST = 1
location = 0
alarm_time = 21
alarm_seconds_P = 0
et c.
Вот что у меня есть для сохранения этого файла:
List<Parameter> _paramList = new List<Parameter>();
List<Information> _infoList = new List<Information>();
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
saveFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
saveFileDialog1.DefaultExt = ".CFG";
saveFileDialog1.FileName = ( "config_" + txtParamValue.Text);
saveFileDialog1.Filter = "Configuration files (*.CFG)|*.CFG|All files (*.*)|*.*";
if ( saveFileDialog1.ShowDialog( ) == DialogResult.OK )
{
using ( StreamWriter objWriter = new StreamWriter( saveFileDialog1.FileName ) )
{
foreach (Parameter p in _paramList)
{
String name = p.ParameterName.Trim();
String val = p.ParameterValue.Trim();
foreach (Information i in _infoList)
{
if (p.ParameterName.Trim() == i.SimpleName)
{
name = i.InfoName;
if (i.InputChoice == "1")
{
if (p.ParameterValue == "On")
val = "1";
else
val = "0";
}
break;
}
else if (p.ParameterName.Trim() == i.InfoName)
{
if (p.ParameterValue == "On")
val = "1";
else
val = "0";
break;
}
}
if (name == "location" && val != location_update)
{
name = "location_update";
}
objWriter.WriteLine(name + "=" + val);
}
objWriter.Close();
}
}