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); } } }
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(); }