示例#1
0
        private void button_Config_Save_Click(object sender, EventArgs e)
        {
            // Путь к папке файлов приложений пользователя
            string user_app_path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

            // Проверить существование папки
            DirectoryInfo folder = new DirectoryInfo(Path.Combine(user_app_path,
                                                     Cw_winForm.cw_win_user_folder));
            if (!folder.Exists)
            {
                // Создаём папку
                folder.Create();
            }

            // Существует ли файл?
            string full_path_and_name = Path.Combine(user_app_path, Cw_winForm.cw_win_user_folder,
                                                                    Cw_winForm.ini_file_name);
            if (!File.Exists(full_path_and_name))
            {
                // Создаём INI-файл
                //File.Create(full_path_and_name);
                FileStream fs = File.Create(full_path_and_name);
                fs.Close();
            }

            // Открываем и считываем настройки из INI-файла
             ini_parser cw_win_ini_file = new ini_parser(full_path_and_name);

            /// Параметры для записи в файл

               // Использовать русские знаки пунктуации
             if (checkBox_Config_RusPunktuation.Checked)
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "RUSSIANPUNKTUATION", "YES");
                 Cw_winForm.russianpunktuation_flag = true;
             }
             else
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "RUSSIANPUNKTUATION", "NO");
                 Cw_winForm.russianpunktuation_flag = false;
             }

             // Использовать английский интерфейс
             if (checkBox_Config_EngInterface.Checked)
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "ENGLISH", "YES");
                 Cw_winForm.english_flag = true;
             }
             else
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "ENGLISH", "NO");
                 Cw_winForm.english_flag = false;
             }

             // Использовать альтернативные пути для звуковых файлов
             if (checkBox_Config_mp3.Checked)
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "ALTERNATIVEMP3", "YES");
                 Cw_winForm.alternative_mp3_flag = true;
             }
             else
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "ALTERNATIVEMP3", "NO");
                 Cw_winForm.alternative_mp3_flag = false;
             }

             // Отключить случайный вывод слов
             if (checkBox_Config_non_random.Checked)
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "NONRANDOM", "YES");
                 Cw_winForm.non_random_flag = true;
             }
             else
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "NONRANDOM", "NO");
                 Cw_winForm.non_random_flag = false;
             }

             // Включить режим динамического интервала
             if (checkBox_Config_dynamic_interval.Checked)
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "DYNAMICINTERVAL", "YES");
                 Cw_winForm.dynamic_interval_flag = true;
             }
             else
             {
                 cw_win_ini_file.AddSetting("CW_WIN", "DYNAMICINTERVAL", "NO");
                 Cw_winForm.dynamic_interval_flag = false;
             }

               // Пауза перед стартом
             cw_win_ini_file.AddSetting("CW_WIN", "STARTPAUSE", textBox_Config_StartPause.Text);
             Cw_winForm.startpause = int.Parse(textBox_Config_StartPause.Text);

               // Значение калибровки скорости
             cw_win_ini_file.AddSetting("CW_WIN", "SPEEDCALIBR", textBox_Config_Calibr.Text);
             Cw_winForm.speed_calibr = int.Parse(textBox_Config_Calibr.Text);

               // Количество слов
             cw_win_ini_file.AddSetting("cw_win", "NUMBEROFWORDS", textBox_Config_N_Word.Text);
            // Form1.numberofwords = int.Parse(textBox_Config_N_Word.Text);

               // Скорость
             cw_win_ini_file.AddSetting("cw_win", "SPEED", textBox_Config_Speed.Text);
            // Form1.speed = int.Parse(textBox_Config_Speed.Text);

               // Тон
             cw_win_ini_file.AddSetting("cw_win", "TONE", textBox_Config_Tone.Text);
            // Form1.tone = int.Parse(textBox_Config_Tone.Text);

               // Интервал между словами
             cw_win_ini_file.AddSetting("cw_win", "INTERVAL", textBox_Config_Interval.Text);
             //Form1.interval = int.Parse(textBox_Config_Interval.Text);

            // Сохранить настройки и переписать INI-файл
            cw_win_ini_file.SaveSettings();
            // label_SaveMessage.Text = "Настройки сохранены";

            if (Cw_winForm.english_flag)
                label_SaveMessage.Text = "The settings are saved.\nRestart the program.";
            else
                label_SaveMessage.Text = "Настройки сохранены.\nПерезапустите программу.";
            return;
        }
示例#2
0
        // Читаем параметры из INI-файла
        private void ReadIniFile(string cw_win_user_folder, string ini_file_name)
        {
            // Путь к папке файлов приложений пользователя
            string user_app_path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

            // Полный путь к файлу (вместе с именем файла)
            string full_path_and_name = Path.Combine(user_app_path, Cw_winForm.cw_win_user_folder,
                                                                    Cw_winForm.ini_file_name);
            // Открываем и считываем настройки из INI-файла
            ini_parser cw_win_ini_file = new ini_parser(full_path_and_name);
            try
            {
                if (cw_win_ini_file.GetSetting("CW_WIN", "RUSSIANPUNKTUATION").ToUpper() == "YES")
                    russianpunktuation_flag = true;
                else
                {
                    if (cw_win_ini_file.GetSetting("CW_WIN", "RUSSIANPUNKTUATION").ToUpper() == "NO")
                        russianpunktuation_flag = false;
                }

                if (cw_win_ini_file.GetSetting("CW_WIN", "ALTERNATIVEMP3").ToUpper() == "YES")
                    alternative_mp3_flag = true;
                else
                {
                    if (cw_win_ini_file.GetSetting("CW_WIN", "ALTERNATIVEMP3").ToUpper() == "NO")
                        alternative_mp3_flag = false;
                }

                if (cw_win_ini_file.GetSetting("CW_WIN", "NONRANDOM").ToUpper() == "YES")
                    non_random_flag = true;
                else
                {
                    if (cw_win_ini_file.GetSetting("CW_WIN", "NONRANDOM").ToUpper() == "NO")
                        non_random_flag = false;
                }

                if (cw_win_ini_file.GetSetting("CW_WIN", "DYNAMICINTERVAL").ToUpper() == "YES")
                    dynamic_interval_flag = true;
                else
                {
                    if (cw_win_ini_file.GetSetting("CW_WIN", "DYNAMICINTERVAL").ToUpper() == "NO")
                        dynamic_interval_flag = false;
                }

                if (cw_win_ini_file.GetSetting("CW_WIN", "ENGLISH").ToUpper() == "YES")
                    english_flag = true;
                else
                {
                    if (cw_win_ini_file.GetSetting("CW_WIN", "ENGLISH").ToUpper() == "NO")
                        english_flag = false;
                }

                if (int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "STARTPAUSE")) > 0)
                {
                    startpause = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "STARTPAUSE"));
                    startpause_flag = true;
                }
                else
                {
                    if (int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "STARTPAUSE")) == 0)
                    {
                        startpause = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "STARTPAUSE"));
                        startpause_flag = false;
                    }
                }

                speed_calibr = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "SPEEDCALIBR"));
                numberofwords = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "NUMBEROFWORDS"));
                speed = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "SPEED"));
                tone = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "TONE"));
                interval = int.Parse(cw_win_ini_file.GetSetting("CW_WIN", "INTERVAL"));
                return;
            }
            catch (Exception)
            {
                if (english_flag)
                    MessageBox.Show("Error read parametrs from INI-file. Save options again.");
                else
                    MessageBox.Show("Ошибка чтения параметров из INI-файла. Cохраните снова настройки.");
            }
        }