У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 4 В лабораторной работе от вас требуется написать приложение на C с помощью которого п

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 5.3.2025

Лабораторная работа №4

В лабораторной работе от вас требуется написать приложение на C# с помощью которого пользователь может открыть на диске текстовый файл определенного формата с информацией о графических объектах, а приложение нарисует эти графические объекты на форме.

Пример выполнения работы

Первым шагом создания приложения является создание в Visual Studio 2010 и сохранение на диск нового проекта из шаблона Windows Forms Application.

Следующим шагом является проектирование графического интерфейса пользователя. На форме необходимо расположить следующие элементы управления:

  •  TextBox – в этом э/у будет отображаться путь к открытому файлу;
  •  Button – кликом по кнопке пользователь будет вызывать диалог открытия файла;
  •  Panel – на панели будет рисоваться прочитанное из файла изображение.

Для того чтобы оживить приложение, напишем обработчик щелчка по кнопке:

  •  выделим кнопку на форме одним щелчком
  •  в окне свойств запишем название обработчика и нажмём Enter

Visual Studio откроет окно кода в котором появится пустой метод – обработчик щелчка по кнопке.

В этом обработчике нужно записать алгоритм, выполняющий следующие действия:

  1.  открытие окна выбора файла,
  2.  чтение файла,
  3.  разбор файла,
  4.  рисование разобранных объектов.

Содержимое текстового файла:

Line 12 14 15 16

Line 37 14 22 22

Line 50 33 56 50

Line 11 11 40 40

Для открытия файла воспользуемся классом OpenFileDialog (ссылка ведет на страницу в msdn с описанием класса).

Содержимое файла прочитаем в строку fileContent. Мы открываем файл с помощью метода OpenFile класса OpenFileDialog, который возвращает поток данных (Stream). Затем выделяем память под массив байт размером с файл и читаем содержимое потока в массив байт fileData. Для того, чтобы получить представление файла в виде строки, а не массива байт, нужно использовать кодировку файла (у меня это - Encoding.UTF8) и вызывать метода класса кодировок GetString.

Перед тем, как выполнить разбор файла, опишем класс для отрезка (линии). Для этого правой кнопкой щелкнем по названию проекта в окне обозревателя проекта (Solution Explorer) и в контекстном меню выберем пункт Add -> Class.

/// <summary>

/// Класс, описывающий отрезок.

/// </summary>

public class Lab4Line

{

 /// <summary>

 /// Координата x первой точки отрезка.

 /// </summary>

 public int X1 { get; set; }

 /// <summary>

 /// Координата y первой точки отрезка.

 /// </summary>

 public int Y1 { get; set; }

 /// <summary>

 /// Координата x второй точки отрезка.

 /// </summary>

 public int X2 { get; set; }

 /// <summary>

 /// Координата y второй точки отрезка.

 /// </summary>

 public int Y2 { get; set; }

}

После разбора файла у нас будет на руках список отрезков lines.

При разборе можно использовать регулярное выражение (о регулярных выражениях можно найти информацию в специальной литературе или сети интернет (например http://msdn.microsoft.com/ru-ru/library/az24scfc.aspx), для тестирования можно использовать тестер регулярных выражений http://www.radsoftware.com.au/regexdesigner/).

Рисование разобранных объектов представляется ещё более простым делом.

//рисование прочитаных объектов на форме

Graphics g = Graphics.FromHwnd(DrawPanel.Handle);

Pen pen = new Pen(Color.Red);

foreach (var lab4Line in lines)

{

g.DrawLine(pen, lab4Line.X1, lab4Line.Y1, lab4Line.X2, lab4Line.Y2);

}

Демонстрация работы приложения

Задания

Требования для всех:

  •  Расширение файла должно быть .data и диалог открытия файла должен отображать только файлы с расширением data.
  •  Разбить алгоритм на отдельные методы/функции.
  •  Кроме линий в файле может быть описаны другие фигуры: окружности и прямоугольники.
  •  В файле написание названий фигур может отличаться регистрами букв (Line или line).

Вариант 1

  •  Добавить проверки на наличие файла на диске и обрабатывать ситуации с неправильным форматом файла.
  •  Добавить в файл определение цвета фигуры.
  •  Окружности задаются центром и радиусом.
  •  Добавить кнопку щелчком по которой рисование фигур будет выполняться со смещением на произвольное количество пикселей вправо.

Вариант 2

  •  Добавить кнопку щелчком по которой будет выполняться рисование прочитанных фигур, сразу после открытия файла рисования происходить не должно.
  •  Добавить в файл определение толщины линии которой нужно рисовать фигуру.
  •  Прямоугольники задаются координатами вершин второстепенной диагонали.

Вариант 3

  •  Добавить в файл определение цвета фигуры.
  •  Прямоугольники задаются координатами вершин второстепенной диагонали.
  •  Проверять, не выходят ли фигуры, заданные в текстовом файле за границы области рисования. Если выход за границы обнаружится, сделать фон области рисования светлозеленым.




1. ДиВо Ошибки которых удалось избежатьне имеют последствий
2. аутсорсинг.......
3. СанктПетербургский институт внешнеэкономических связей экономики и права в г
4. на тему Кадры фирмы ~ анализ потенциала
5. Інформатика та обчислювальна техніка заочна форма навчання Частина 1 Історія розвитку ЕОМ
6. тематика а математика г
7. Специфика языка служебных документов
8. Интеллигенция как зеркало европейской революции
9. тема державних та громадських заходів спрямованих на забезпечення повноцінного життя всебічного виховання
10. Моделирование тренировочного процесса юных многоборцев-легкоатлетов на этапе начальной спортивной специализаци