private void Button_Click(object sender, RoutedEventArgs e) { uint parsedValue; if ((series_length.Text).ToString().Length == 0) { MessageBox.Show("Podaj długość ciągu do wygenerowania."); return; } else if (!uint.TryParse(series_length.Text, out parsedValue)) { MessageBox.Show("Długość ciągu do wygenerowania musi być dodatnią liczbą całkowitą."); return; } int numOfLfsr = Convert.ToInt32(lfsr_amount.Text); Lfsr[] lfsr = new Lfsr[numOfLfsr]; uint[] parsed = new uint[numOfLfsr]; var registersLength = Convert.ToInt32(RegisterLength_ComboBox.SelectedItem); for (int i = 0; i < numOfLfsr; i++) { string s = ((TextBox)Lfsr_list.Children[((i + 1) * 2) - 1]).Text; if (s.Length == 0) { MessageBox.Show("Uzupełnij pola z wartościami początkowymi rejestrów."); return; } else if (!uint.TryParse(s, out parsed[i])) { MessageBox.Show("Wartości początkowe rejestrów muszą być dodatnią liczbą całkowitą."); return; } lfsr[i] = new Lfsr(registersLength); var boolArray = Convert.ToString(parsed[i], 2).Select(str => str.Equals('1')).Take(registersLength).ToArray(); var bitArray = new BitArray(registersLength); for (int j = 0; j < boolArray.Length; j++) { bitArray[j] = boolArray[j]; } lfsr[i].SetRegisterValues(bitArray); } Stopwatch sw = new Stopwatch(); wynik.Clear(); LfsrGenerator generator = new CascadeGenerator(lfsr); if (typ.SelectedIndex == 0) { var gen = generator.GenerateBitsAsChars(Convert.ToInt32(series_length.Text)); wynik.Text = new string(gen); } else if (typ.SelectedIndex == 1) { var gen1 = generator.GenerateBytes(Convert.ToInt32(series_length.Text)); wynik.Text = BitConverter.ToString(gen1); } else if (typ.SelectedIndex == 2) { var gen1 = generator.GenerateIntegers(Convert.ToInt32(series_length.Text)); wynik.Text = String.Join(" ", gen1.Select(p => p.ToString()).ToArray()); } }
private void Button_Click(object sender, RoutedEventArgs e) { int parsedValue; byte parsed; if (!int.TryParse(series_length.Text, out parsedValue)) { MessageBox.Show("Długość ciągu do wygenerowania musi być liczbą całkowitą."); return; } else if ((series_length.Text).ToString().Length == 0) { MessageBox.Show("Podaj długość ciągu do wygenerowania."); return; } else if (Convert.ToInt32(series_length.Text) < 1) { MessageBox.Show("Długość ciągu do wygenerowania musi być większa od zera."); return; } int numOfLfsr = Convert.ToInt32(lfsr_amount.Text); Lfsr[] lfsr = new Lfsr[numOfLfsr]; for (int i = 0; i < numOfLfsr; i++) { lfsr[i] = new Lfsr(); string s = ((TextBox)Lfsr_list.Children[((i + 1) * 2) - 1]).Text; if (s.Length == 0) { MessageBox.Show("Musisz podać wartości początkowe rejestrów."); return; } else if (!byte.TryParse(s, out parsed)) { MessageBox.Show("Musisz podać wartości początkowe rejestrów z zakresu (0-255)."); return; } lfsr[i].SetRegisterValues(new BitArray(new byte[] { Convert.ToByte(s) })); } Stopwatch sw = new Stopwatch(); wynik.Clear(); LfsrGenerator generator = new CascadeGenerator(lfsr); if (typ.SelectedIndex == 0) { sw.Start(); var gen = generator.GenerateBitsAsChars(Convert.ToInt32(series_length.Text)); sw.Stop(); foreach (var item in gen) { wynik.Text = wynik.Text + item; } sw.Reset(); } else if (typ.SelectedIndex == 1) { sw.Start(); var gen1 = generator.GenerateBytes(Convert.ToInt32(series_length.Text)); sw.Stop(); foreach (var item in gen1) { wynik.Text = wynik.Text + item; } sw.Reset(); } else if (typ.SelectedIndex == 2) { sw.Start(); var gen1 = generator.GenerateIntegers(Convert.ToInt32(series_length.Text)); sw.Stop(); foreach (var item in gen1) { wynik.Text = wynik.Text + item; } sw.Reset(); } }