public void DoWork() { string input = richTextBox1.Text; if (input.CompareTo("") == 0) { MessageBox.Show("Вы не ввели текст!"); return; } HuffmanTree huffmanTree = new HuffmanTree(); // Строим дерево Хаффмана по весам слов huffmanTree.Build(input); // Кодируем BitArray encoded = (BitArray)huffmanTree.Encode(input); richTextBox2.Clear(); // Выводим результат кодирования foreach (bool bit in encoded) { //richTextBox2.Text += ((bit ? 1 : 0) + ""); } richTextBox2.Text = huffmanTree.str; // Декодируем string decoded = huffmanTree.Decode(encoded); richTextBox3.Clear(); richTextBox3.Text = decoded; }
public void DoWork() { var startDate = new DateTime(); string input = richTextBox1.Text; if (input.CompareTo("") == 0) { MessageBox.Show("Вы не ввели текст!"); return; } HuffmanTree huffmanTree = new HuffmanTree(); // Строим дерево Хаффмана по весам слов huffmanTree.Build(input); // Кодируем BitArray encoded = (BitArray)huffmanTree.Encode(input); richTextBox2.Clear(); // Выводим результат кодирования foreach (bool bit in encoded) { //richTextBox2.Text += ((bit ? 1 : 0) + ""); } richTextBox2.Text = huffmanTree.str; // Декодируем string decoded = huffmanTree.Decode(encoded); richTextBox3.Clear(); richTextBox3.Text = decoded; var finishDate = new DateTime(); // Выведем результаты richTextBox4.Text = "Время работы = " + (finishDate - startDate).TotalMilliseconds + " миллисекунд"; richTextBox4.Text += "\nИсходный размер: " + richTextBox1.Text.Length + " символов"; richTextBox4.Text += "\nСжатый размер: " + richTextBox2.Text.Length + " символов"; richTextBox4.Text += "\nКПД: " + 100 * richTextBox2.Text.Length / richTextBox1.Text.Length + "%"; }