You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.8 KiB

using System;
using System.Collections.ObjectModel;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Windows;
namespace Signal_Generator.Properties {
// Этот класс позволяет обрабатывать определенные события в классе параметров:
// Событие SettingChanging возникает перед изменением значения параметра.
// Событие PropertyChanged возникает после изменения значения параметра.
// Событие SettingsLoaded возникает после загрузки значений параметров.
// Событие SettingsSaving возникает перед сохранением значений параметров.
internal sealed partial class Settings {
public Settings() {
// // Для добавления обработчиков событий для сохранения и изменения параметров раскомментируйте приведенные ниже строки:
//
//this.SettingChanging += this.SettingChangingEventHandler;
//
//this.SettingsSaving += this.SettingsSavingEventHandler;
//
}
private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
// Добавьте здесь код для обработки события SettingChangingEvent.
}
private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
// Добавьте здесь код для обработки события SettingsSaving.
}
public static void SaveSignals(ObservableCollection<IAnalogSignal> signals)
{
try
{
BinaryFormatter formatter = new BinaryFormatter();
using (FileStream fs = new FileStream("settings.dat", FileMode.OpenOrCreate))
{
formatter.Serialize(fs, signals);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Не удалось сохранить результаты работы");
}
}
public static ObservableCollection<IAnalogSignal> LoadSignals()
{
BinaryFormatter formatter = new BinaryFormatter();
try
{
using (FileStream fs = new FileStream("settings.dat", FileMode.Open))
{
return (ObservableCollection<IAnalogSignal>)formatter.Deserialize(fs);
}
} catch
{
return null;
}
}
}
}