Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текст программы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
102.68 Кб
Скачать

TextReadForm.Cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using VStepanov.CourseWork.First.Steganography;

namespace VStepanov.CourseWork.First.Gui

{

    /// <summary>

    /// Форма, предоставляющая интерфейс для просмотра текстового содержимого контейнера.

    /// </summary>

    public partial class TextReadForm : Form

    {

        #region Поля

        /// <summary>

        /// Стеганограмма, обрабатываемая в данный момент.

        /// </summary>

        private Steganogram _steganogram; 

        #endregion

        #region Конструкторы

        /// <summary>

        /// Конструктор для прочтения открытой стеганограммы.

        /// </summary>

        /// <param name="steganogram">Стеганограмма, прочтение которой будет осуществляться.</param>

        public TextReadForm(Steganogram steganogram)

        {

            InitializeComponent();

            _steganogram = steganogram;

            this.Text = _steganogram.ContainerFile.Name;

            SteganogramMessage message = steganogram.GetMessage();

            textBoxContent.Text = Encoding.UTF8.GetString(message.Data);

        }

        /// <summary>

        /// Конструктор для прочтения зашифрованной стеганограммы.

        /// </summary>

        /// <param name="steganogram">Стеганограмма, прочтение которой будет осуществляться.</param>

        /// <param name="password">Пароль, которым будет проводиться дешифровка.</param>

        public TextReadForm(Steganogram steganogram, string password)

        {

            InitializeComponent();

            _steganogram = steganogram;

            this.Text = _steganogram.ContainerFile.Name;

            SteganogramMessage message = steganogram.GetMessage();

            message.DecryptMessage(password);

            textBoxContent.Text = Encoding.UTF8.GetString(message.Data);

        }

        #endregion

        #region Обработчики

        /// <summary>

        /// Обработчик нажатия на кнопку "Редактировать текст".

        /// </summary>

        private void buttonEdit_Click(object sender, EventArgs e)

        {

            TextAddForm form = new TextAddForm(_steganogram, textBoxContent.Text);

            this.AddOwnedForm(form);

            this.Hide();

            form.ShowDialog();

            form.Dispose();

            this.Close();

        }

        #endregion

    }

}

Лист регистрации изменений

Изм.

Номера листов (страниц)

Всего листов (страниц) в документе

№ документа

Входящий № сопроводительного документа и дата

Подпись

Дата

измененных

замененных

новых

аннулированных