Лабораторная работа №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
Рис. 1 и 2. Скриншоты главной страницы сайта
Рис.3. Скриншот страницы свадебных платьев
Рис.4 Скриншот страницы для оформления заявки
Рис.5 Скриншот страницы контактов
Приложение 2
Рис. 1.1.1. Скриншот использования констант (MB_), задающих кнопки в диалоговом окне
Рис. 1.1.2. Скриншот вывода целочисленных констант
Рис. 1.2.1. Скриншот использования функций GetClientRect() и Ellipse()
Рис. 1.2.2. Скриншот использования функций MoveToEx() и LineTo()
Рис.1.2.3 Скриншот использования функций MoveToEx(), LineTo() и TextOut()
Рис.2.1.1. Скриншот разбиения клиентской области на 6 частей
Рис.2.1.2. Скриншот вывода стандартных фигур; построение ромба и треугольника.
Рис. 2.1.3. Скриншот готового приложения
Рис.2.2.1. Скриншот создания таблицы
Рис.2.2.1. Скриншот заполненной таблицы (готового приложения)
Рис.2.3.1. Скриншот готового приложения
Рис. 2.4.1. и 2.4.2. Скриншоты готового приложения
Рис. 4.1.1 и 4.1.2. Скриншоты готового приложения
Рис. 4.2.1., 4.2.2 и 4.2.3. Скриншоты готового приложения во время работы
Рис. 4.3.1. Скриншот начального состояния приложения
Рис. 4.3.2. Скриншот работы готового приложения («Мигание» шариков)
Рис. 4.4.1. Скриншот нарисованного графика
Рис. 4.4.2. Скриншот графика с определенными координатами некоторых точек.
Рис. 4.5.1 и 4.5.2. Скриншоты работы приложения
Рис. 5.1-5.5. Скриншоты демонстрации работы готового приложения
Приложение 3
Рис. 1.1. Скриншот диаграммы
Рис. 1.2. Скриншот окна About
Рис. 1.3. Скриншот завершения программы.
Рис. 2.1. Скриншот выбор кодировки входного файла
Рис. 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 с.: ил.