Лабораторная работа №2. Перекодировка текстового файла

Цель: Изучить способы работы с текстовыми файлами и кодировкой в C#. Рассмотреть создание меню, диалоговых окон средствами C#.

Краткие теоретические сведения:

В Си-шарп есть пространство имен System.IO, в котором реализованы все необходимые нам классы для работы с файлами. Чтобы подключить это пространство имен, необходимо в самом начале программы добавить строку using System.IO. Кроме того, чтобы читать/записывать данные в файл с Си-шарп можно использовать потоки. Класс Stream является абстрактным базовым классом для всех потоковых классов в Си-шарп. Для работы с файлами нам понадобится класс FileStream(файловый поток).

Задание: Разработайте приложение Windows Forms при помощи MS Visual Studio C#. Для выбора файлов используйте стандартные диалоги.
Перекодировка текстового файла, пользователь выбирает несовпадающие кодировки входного и выходного файлов.
Допустимые кодировки: KOI8-R, Windows-1251, UTF-8, IBM-866.

Анализ реализации алгоритма:

Чтобы читать/записывать данные в файл с Си-шарп, я использовала потоки и применяла ключевое слово using в качестве инструкции, когда оно определяет область, в конце которой объект будет удален. В одном из параметров инструкции using я указывала номер необходимой мне кодировки. Кодировка входного и выходного файлов определяется пользователем.

Исходный код:

private void ReadData()

{

using (StreamReader SourceFile = new StreamReader(FileName, System.Text.Encoding.GetEncoding(A)))

{

InputInfo = SourceFile.ReadToEnd();

this.Text = InputInfo;

}

private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)

{

if (saveFileDialog1.ShowDialog()==DialogResult.OK)

{

string filename = saveFileDialog1.FileName;

using (StreamWriter sw = new StreamWriter(filename, false, System.Text.Encoding.GetEncoding(B)))

{

sw.WriteLine(InputInfo);

}

}

}

Результат работы можно найти в Приложении 3 (C#).
Выводы:
Я изучила способы работы с текстовыми файлами и кодировкой в C#. Рассмотрела создание меню, диалоговых окон средствами C#.

Приложение 1 Лабораторная работа №2. Перекодировка текстового файла - student2.ru Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1 и 2. Скриншоты главной страницы сайта

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.3. Скриншот страницы свадебных платьев

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.4 Скриншот страницы для оформления заявки

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.5 Скриншот страницы контактов

Приложение 2

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.1.1. Скриншот использования констант (MB_), задающих кнопки в диалоговом окне

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.1.2. Скриншот вывода целочисленных констант Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.2.1. Скриншот использования функций GetClientRect() и Ellipse()

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.2.2. Скриншот использования функций MoveToEx() и LineTo()

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.1.2.3 Скриншот использования функций MoveToEx(), LineTo() и TextOut()

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.2.1.1. Скриншот разбиения клиентской области на 6 частей Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.2.1.2. Скриншот вывода стандартных фигур; построение ромба и треугольника. Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 2.1.3. Скриншот готового приложения

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.2.2.1. Скриншот создания таблицы Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.2.2.1. Скриншот заполненной таблицы (готового приложения)

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис.2.3.1. Скриншот готового приложения Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 2.4.1. и 2.4.2. Скриншоты готового приложения

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.1.1 и 4.1.2. Скриншоты готового приложения

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.2.1., 4.2.2 и 4.2.3. Скриншоты готового приложения во время работы

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.3.1. Скриншот начального состояния приложения Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.3.2. Скриншот работы готового приложения («Мигание» шариков)

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.4.1. Скриншот нарисованного графика

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.4.2. Скриншот графика с определенными координатами некоторых точек.

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 4.5.1 и 4.5.2. Скриншоты работы приложения

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 5.1-5.5. Скриншоты демонстрации работы готового приложения

Приложение 3 Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.1. Скриншот диаграммы

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.2. Скриншот окна About

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 1.3. Скриншот завершения программы.

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 2.1. Скриншот выбор кодировки входного файла

Лабораторная работа №2. Перекодировка текстового файла - student2.ru

Рис. 2.2. Скриншот входного файла с кодировкой Windows-1251 и выходного файла с кодировкой IBM-866

Список литературы:

1. Хасеневич, И. С. Создание Web-страниц средствами HTML и CSS: учеб.метод. пособие длястудентовспец. 1-190101 «Дизайн». В 2ч. Ч. 1. Введение в HTML/И. С. Хасеневич. – Минск : БГУ, 2012. –35с.

2. Хасеневич, И. С. Создание Web-страниц средствами HTML и CSS: учеб.-метод. пособие для студентов спец. 1-19 01 01 «Дизайн». В 2 ч. Ч. 2. Вве-дение в CSS / И. С. Хасеневич. – Минск : БГУ, 2012. – 35 с

3. Щупак, Ю.А. Win32 API. Эффективная разработка приложений / Ю.А. Щупак — СПб: Питер, 2007. — 573 с.

4. Павловская Т. А. С#. Программирование на языке высокого уровня. Учебник для вузов. —СПб.: Питер, 2009. — 432 с.: ил.

Наши рекомендации