Сохранение нескольких файлов одновременно - PullRequest
0 голосов
/ 26 марта 2020

Я пытался выяснить, как использовать функцию 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();
               }
           }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...