private void SaveSpectraData(object obj)
        {
            if (obj is string s)
            {
                try {
                    PowerSpectraExporter.Export(s, DataRepository.GetSpectraDictionary());
                }
                catch (Exception e) {
                    MessageBox.Show(@"При сохранении спектров произошла ошибка. " + e.Message);
                }
            }
            else
            {
                SaveFileDialog d = new SaveFileDialog {
                    AddExtension = true,
                    DefaultExt   = ".csv"
                };

                var df = d.ShowDialog();
                if (df == DialogResult.OK)
                {
                    SaveSpectraData(d.FileName);
                }
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            System.Console.WriteLine();
            System.Console.WriteLine(@"-- Расчёт электрического поля - 1.2 - 01.04.2018 --");
            System.Console.WriteLine(@"--    Епишкин Дмитрий - [email protected]  --");
            System.Console.WriteLine();

            if (!ReadSettings())
            {
                System.Console.WriteLine(@"Программа завершена");
                System.Console.ReadKey();
                return;
            }

            System.Console.WriteLine();
            System.Console.WriteLine("Проверка входных параметров..");

            if (!CheckSettings())
            {
                System.Console.WriteLine(@"Файл input.inf содержит недопустимые параметры");
                System.Console.WriteLine(@"Программа завершена");
                System.Console.ReadKey();
                return;
            }

            System.Console.WriteLine("Всё в порядке!");

            System.Console.WriteLine();

            System.Console.WriteLine("Длина окна для преобразования поля: " + _windowGenerating);
            System.Console.WriteLine("Шаг окна преобразования поля: " + _step);
            System.Console.WriteLine("Длина окна для расчёта амплитуд и спектральных мощностей: " + _windowPowerSpectra);

            System.Console.WriteLine();

            var data = new SynteticDataGenerator(
                new RealDataImporter(),
                new FtfTensorCurveImporter(),
                new ObservatoryDataExporter())

                       .Generate(_tsFile, _zFile, _outTsFile, _windowGenerating, _step, _acFilter);

            System.Console.WriteLine();

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Hx");
            var hx = PowerSpectraCalculation.Run(data.Hx, _windowPowerSpectra);

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Hy");
            var hy = PowerSpectraCalculation.Run(data.Hy, _windowPowerSpectra);

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Ex");
            var ex = PowerSpectraCalculation.Run(data.Ex, _windowPowerSpectra);

            System.Console.WriteLine("Расчёт средней амплитуды и спектральной мощности Ey");
            var ey = PowerSpectraCalculation.Run(data.Ey, _windowPowerSpectra);

            System.Console.WriteLine("Сохранение амплитуд и спектральных мощностей в файл");
            PowerSpectraExporter.Export(_outPowerSpectraFile, ex, ey, hx, hy);

            System.Console.WriteLine();

            System.Console.WriteLine("-- Готово --");
            System.Console.ReadKey();
        }