Пример #1
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         if (textBox1.Text == "")
         {
             throw new Exception("Входная строка должа именть как минимум 1 символ!");
         }
         string[] t = textBox1.Lines;
         foreach (var item in t)
         {
             s += item;
         }
         HCode mycode = new HCode(s);
         mycode.Encode();
         MessageBox.Show("Строка закодированна успешно!");
         FileInfo file = new FileInfo("binary.bin");
         label6.Text = "Имя файла - " + file.Name;
         label7.Text = $"Размер закодированного файла - {file.Length} байт";
         label8.Text = $"Размер входной строки - {textBox1.Text.Length} байт";
         MessageBox.Show($"Коэффициент сжатия - {float.Parse(file.Length.ToString())/ float.Parse(textBox1.Text.Length.ToString())*100d }%");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Пример #2
0
 private void button2_Click(object sender, EventArgs e)
 {
     try
     {
         HCode mycode = new HCode();
         if (openFileDialog1.ShowDialog() == DialogResult.OK)
         {
             FileStream file  = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
             int        leng  = (int)file.Length;
             byte[]     bufer = new byte[leng];
             file.Read(bufer, 0, leng);
             file.Close();
             if (openFileDialog1.ShowDialog() == DialogResult.OK)
             {
                 file = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
                 StreamReader reader = new StreamReader(file);
                 string[]     array  = new string[100000];
                 string       temp;
                 int          i = 0;
                 while ((temp = reader.ReadLine()) != null)
                 {
                     array[i] = temp;
                     i++;
                 }
                 reader.Close();
                 string[] new_array = new string[i];
                 for (int j = 0; j < i; j++)
                 {
                     new_array[j] = array[j];
                 }
                 file = new FileStream("result.txt", FileMode.Create);
                 StreamWriter writer = new StreamWriter(file);
                 string       result = mycode.Decode(bufer, new_array);
                 writer.Write(result);
                 writer.Close();
                 file.Close();
                 MessageBox.Show("Строка декодированна успешно!");
                 textBox2.Text = result;
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Выбран неправильный файл.\nСледуйте инструкциям во избежание ошибки!");
     }
 }