public static SygnalDyskretny ReadFromFileDys(string name) { IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.Read); SygnalDyskretny obj = (SygnalDyskretny)formatter.Deserialize(stream); obj.FromTimeAndAmplitudeToPoints(); stream.Close(); return(obj); }
public static void WriteToFile(SygnalDyskretny syg, string name) { IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(i + "." + name + "- t1-" + syg._t1 + " d-" + syg._d + " f-" + syg._f + ".bin", FileMode.Create, FileAccess.Write, FileShare.None); syg.FromPointsToTimeAndAmplitude(); formatter.Serialize(stream, syg); stream.Close(); i++; }
private void Button_Click_stworz(object sender, RoutedEventArgs e) { SygnalCiagly sc = null; SygnalDyskretny sd = null; if (signal.Text == "Szum impulsowy" || signal.Text == "Impuls jednostkowy") { sd = new SygnalDyskretny(Convert.ToDouble(_A), Convert.ToDouble(_t1), Convert.ToDouble(_d), Convert.ToDouble(_ns), Convert.ToDouble(_f), Convert.ToDouble(_p), Convert.ToInt32(_his)); } else { sc = new SygnalCiagly(Convert.ToDouble(_A), Convert.ToDouble(_t1), Convert.ToDouble(_d), Convert.ToDouble(_T), Convert.ToDouble(_kw), Convert.ToDouble(_f), Convert.ToDouble(_ns), Convert.ToInt32(_his)); } LineChart lc = new LineChart(); PointChart pc = new PointChart(); if (signal.Text == "Szum o rozkładzie jednostajnym") { sc.SzumJednostajny(); } if (signal.Text == "Szum gaussowski") { sc.SzumGaussowski(); } if (signal.Text == "Sygnał sinusoidalny") { sc.SygnalSinusoidalny(); } if (signal.Text == "Sygnał sinusoidalny wyprostowany jednopołówkowo") { sc.SygnalSinusoidalnyWyprostowanyJednopolowkowo(); } if (signal.Text == "Sygnał sinusoidalny wyprostowany dwupołówkowo") { sc.SygnalSinusoidalnyWyprostowanyDwupolowkowo(); } if (signal.Text == "Sygnał prostokątny") { sc.SygnalProstokatny(); } if (signal.Text == "Sygnał prostokątny symetryczny") { sc.SygnalProstokatnySymetryczny(); } if (signal.Text == "Sygnał trójkątny") { sc.SygnalTrojkatny(); } if (signal.Text == "Skok jednostkowy") { sc.Skok(); } if (signal.Text == "Impuls jednostkowy") { sd.ImpulsJednostkowy(); } if (signal.Text == "Szum impulsowy") { sd.SzumImpulsowy(); } if (sc != null) { sc.CalculateInfo(); if (kwantyzacja.Text == "Kwantyzacja z obcięciem") { sc.KwantyzacjaZObcieciem(); } else { sc.KwantyzacjaZZaokragleniem(); } lc.DataContext = sc.MakeChart(signal.Text); lc.Show(); if (checkboxzapisz.IsChecked.GetValueOrDefault() == true) { WriteRead.WriteToFile(sc, signal.Text); } } if (sd != null) { sd.CalculateInfo(); pc.DataContext = sd.MakeChart(signal.Text); pc.Show(); } if (_his > 0) { Histogram his = new Histogram(); if (sc != null) { his.DataContext = sc.MakeHistogram(); } if (sd != null) { his.DataContext = sd.MakeHistogram(); } his.Show(); } }