Создание компонента PicturedButton
Изучение процесса разработки визуального компонента, реализующего функции вставки графических изображений в среде программирования Delphi на языке Object Pascal. Определение требований к операционной компьютерной системе. Обзор интерфейса программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 16.07.2013 |
Размер файла | 7,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
4
Размещено на http://www.allbest.ru/
Курсовая работа
по дисциплине:
Объектно-ориентированное программирование
по теме:
Создание компонента PicturedButton
ВВЕДЕНИЕ
Компонент TPictureButton разработан в рамках курсовой работы по дисциплине «Объектно-ориентированное программирование» в среде программирования Delphi на языке Object Pascal.
Компонент реализует функции кнопки с возможностью вставки графических изображений, которые меняются в зависимости от событий мыши.
Актуальность темы подчеркивает то, что при программировании различных приложений часто возникает необходимость использования подобного компонента.
В курсовой работе ставится задача разработки компонента, а также его отладки и тестирования.
Исходными данными для работы являются:
- исходный текст задания согласно варианту;
- операционная среда программирования: персональный компьютер модели IBM PC, операционная система Windows (XP/Vista/7), система программирования Delphi 7;
- метод проектирования: модульное объектно-ориентированное программирование.
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
1.1 ОСНОВАНИЯ ДЛЯ РАЗРАБОТКИ ПРОГРАММЫ
Основанием для разработки данной программы является задание на курсовую работу.
Организация, утвердившая документ: РГРТУ.
Тема разработки: Разработка визуального компонента.
1.2 НАЗНАЧЕНИЕ РАЗРАБОТКИ
По заданию необходимо разработать визуальный компонент, который реализует функции с возможностью вставки графических изображений, которые меняются в зависимости от событий мыши.
1.3 ТРЕБОВАНИЯ К КОМПОНЕНТУ
1. Компонент должен иметь функцию загрузки изображений, которые выводятся при определенных событиях мыши.
2. В остальном компонент должен выполнять функции обычной кнопки.
1.4 ТРЕБОВАНИЯ К НАДЁЖНОСТИ
Компонент должен обеспечивать стабильную работу и правильные результаты на любом корректном наборе исходных данных, а также своевременно выявлять некорректно заданные входные данные и информировать пользователя о возникновении ошибок и исключительных ситуаций.
1.5 ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
Документация к программе представлена согласно требованиям источника следующими разделами.
1.6 ТЕКСТ ЗАДАНИЯ НА РАЗРАБОТКУ ПО ВАРИАНТУ
Разработать компонент PicturedButton, реализующий функции кнопки с возможностью вставки графических изображений, которые меняются в зависимости от событий мыши.
2. ОПИСАНИЕ РАЗРАБОТАННОГО КОМПОНЕНТА
2.1 ОБЩИЕ СВЕДЕНИЯ
Название главного модуля компонента: PicturedButton.pas.
Название пакета для установки компонента в систему Delphi7: Button_Pack.dpk.
Для функционирования компонента требуется операционная система семейства Windows 9х/NT/2000/XP/Vista/Windows7.
Компонент разработан в среде программирования Borland Delphi 7 на языке Object Pascal.
2.2 ФУНКЦИОНАЛЬНОЕ НАЗНАЧЕНИЕ
Компонент предназначен для реализации функций кнопки с возможностью добавления графических изображений, меняющихся в зависимости от событий мыши.
2.3 ОПИСАНИЕ ЛОГИЧЕСКОЙ СТРУКТУРЫ
Логическая структура компонента.
В соответствии с заданием на курсовой проект, компонент должен выполнять функции кнопки.
Дополнительно должна обеспечиваться загрузка изображений, которые выводятся при определенных событиях мыши. Следовательно, наиболее удобным «родителем» для разрабатываемого компонента будет класс TCustomControl из библиотеки визуальных компонентов VCL.
Этот класс предназначен для создания на его основе нестандартных оконных элементов управления. Процесс визуализации в нем упрощен за счет использования специального класса TCanvas, инкапсулирующего канву. Для реализации заданных функций при разработке компонента необходимо добавить новые свойства и методы. Исходя из анализа нового компонента, можно выделить основные методы и свойства, которыми он должен обладать. Свойства:
1. «ClickImage», «MDblClickImage», «LeftMDownImage», «RightMDownImage», «MouseUpImage», «MouseMoveImage», «MouseEnterImage», «MouseLeaveImage» - предназначены для хранения изображений, которые выводятся при соответствующих событиях мыши.
2. «PictMode» - предназначено для установки способа вывода изображения.
3. «Caption» - предназначено для хранения текста надписи.
4. «Color» - предназначено для задания цвета кнопки.
Методы:
1. Методы «SetClickImage», «SetMDblClickImage», «SetLeftMDownImage», «SetRightMDownImage», «SetMouseUpImage», «SetMouseMoveImage», «SetMouseEnterImage», «SetMouseLeaveImage» - предназначены для установки значений вышеперечисленных свойств.
2. Метод «SetPictMode» - предназначен для установки значения свойства «PictMode».
3. Метод «SetCaption» - предназначен для установки текста надписи.
4. Метод «DrawPicture» - реализует рисование изображения на кнопке.
5. Метод «DrawCaption» - реализует вывод надписи.
6. Метод «BtnDown» и «BtnUp» - задают внешний вид кнопки соответственно при нажатом и отпущенном состоянии.
7. Метод «Create» - конструктор разрабатываемого компонента.
8. Метод «Paint» - предназначен для рисования кнопки.
9. Метод «Loaded» - представляет собой последовательность действий, выполняемых программой при загрузке компонента.
10. Методы «MouseEnter», «MouseLeave», «MouseDown», «MouseUp», «MouseMove», «DblClick», «Click» - реализуют вывод изображений.
11. Методы «DelClickImage», «DelMDblClickImage», «DelLeftMDownImage», «DelRightMDownImage», «DelMouseUpImage», «DelMouseMoveImage», «DelMouseEnterImage», «DelMouseLeaveImage» - процедуры удаления изображений из свойств.
Поля и методы компонента описаны в модуле PicturedButton.pas.
Методы компонента:
Методы 1 - Установка значений свойств «ClickImage», «MDblClickImage», «LeftMDownImage», «RightMDownImage», «MouseUpImage», «MouseMoveImage», «MouseEnterImage», «MouseLeaveImage». Данные методы вызываются, когда пользователь хочет установить изображение, появляющееся при соответствующем событии мыши. Заголовки методов:
- procedure SetClickImage (Value: TBitmap);
- procedure SetDblClickImage (Value: TBitmap);
- procedure SetLeftMDownImage (Value: TBitmap);
- procedure SetRightMDownImage (Value: TBitmap);
- procedure SetMouseUpImage (Value: TBitmap);
- procedure SetMouseMoveImage (Value: TBitmap);
- procedure SetMouseEnterImage (Value: TBitmap);
- procedure SetMouseLeaveImage (Value: TBitmap).
Процедура SetClickImage предназначена для установки значения свойства ClickImage.
Процедура SetDblClickImage предназначена для установки значения свойства MDblClickImage.
Процедура SetLeftMDownImage предназначена для установки значения свойства LeftMDownImage.
Процедура SetRightMDownImage предназначена для установки значения свойства RightMDownImage.
Процедура SetMouseUpImage предназначена для установки значения свойства MouseUpImage.
Процедура SetMouseMoveImage предназначена для установки значения свойства MouseMoveImage.
Процедура SetMouseEnterImage предназначена для установки значения свойства MouseEnterImage.
Процедура SetMouseLeaveImage предназначена для установки значения свойства MouseLeaveImage.
Входным параметром данных процедур является объект класса TBitmap, который хранит определенное изображение.
Выходных параметров нет.
Рисунок 1. - Схема алгоритма метода «SetClickImage»:
Рисунок 2. - Схема алгоритма метода «SetDblClickImage»:
Рисунок 3. - Схема алгоритма метода «SetLeftMDownImage»:
Рисунок 4. - Схема алгоритма метода «SetRightMDownImage»:
Рисунок 5. - Схема алгоритма метода «SetMouseUpImage»:
Рисунок 6. - Схема алгоритма метода «SetMouseMoveImage»:
Метод 2 - Установка значения свойства «PictMode».
Заголовок метода:
Procedure SetPictMode (Value: TPictureMode);
Входным параметром является значение типа TPictureMode. Данный тип описан в модуле компонента и представляет собой набор трех значений: pmNone, pmProportional и pmStretch.
Описание типа:
TPictureMode = (pmNone, pmStretch, pmProportional);
Каждое значение определяет способ вывода изображения.
Выходных параметров нет.
Схема алгоритма процедуры представлена на рисунке 9.
Рисунок 9. - Схема алгоритма метода «SetPictMode»:
Метод 3 - Установка текста надписи.
Заголовок метода:
Procedure SetCaption(Value: string);
Входным параметром является строка (тип string).
Выходных параметров нет.
Схема алгоритма процедуры представлена на рисунке 10.
Рисунок 10. - Схема алгоритма метода «SetCaption»:
Метод 4 - Рисование изображения на кнопке.
Заголовок метода: procedure DrawPicture (Pict: TBitmap);
Данный метод предназначен для рисования изображения на кнопке.
Входным параметром является графический объект типа TBitmap. Вначале проверяется, содержит ли этот объект изображение или нет. Если содержит, то оно масштабируется и выводится. Перед выводом старое изображение стирается.
Для рисования изображения используется метод Draw свойства компонента Canvas. Координаты вывода изображения хранятся в глобальных переменных OutLeft и OutTop типа integer.
Переменные OutLeft и OutTop описаны в модуле компонента.
Поверх изображения выводится текст надписи с помощью процедуры DrawCaption.
Схема алгоритма данной процедуры представлена на рисунке 11.
Рисунок 11. - Схема алгоритма метода «DrawPicture»:
В процедуре используется вспомогательная функция «SetSizeImage».
Заголовок функции: function SetSizePicture (bmp: TBitmap): TBitmap;
Данная функция предназначена для масштабирования изображения. Также в ней устанавливаются координаты вывода изображения. Масштабирование происходит в соответствии с выбранным режимом отображения.
При режиме pmNone размеры изображения сохраняются. Если изображение меньше кнопки, то оно выводится в центре, если больше, то левые верхние углы кнопки и изображения совпадают.
При режиме pmProportional изображение полностью выводится, при этом сохраняются его пропорции.
При режиме pmStretch изображение выводится по размеру кнопки, и его пропорции не сохраняются.
В качестве входного параметра выступает переменная типа TBitmap, которая содержит исходное изображение.
Выходным параметром является отмасштабированное исходное изображение.
Схема алгоритма функции представлена на рисунке 12.
Рисунок 12. - Схема алгоритма функции «SetSizePicture»:
Метод 5 - Реализует вывод надписи.
Заголовок метода: procedure DrawCaption;
Процедура предназначена для вывода текста, указанного в свойстве «Caption».
Входные и выходные параметры отсутствуют.
Схема алгоритма процедуры представлена на рисунке 13.
Рисунок 13. - Схема алгоритма метода «DrawCaption»:
Методы 6 - Задание внешнего вида кнопки.
Заголовки методов:
- procedure BtnDown;
- procedure BtnUp.
Данные методы предназначены для задания внешнего вида кнопки.
Процедура BtnDown рисует кнопку в нажатом состоянии. Процедура BtnUp - в отпущенном. Входных и выходных параметров нет.
Схемы алгоритма данных процедур представлены на рисунках 14 - 15.
Рисунок 14. - Схема алгоритма метода «BtnDown»:
Рисунок 15. - Схема алгоритма метода «BtnUp»:
Метод 7 - Конструктор разрабатываемого компонента.
Метод предназначен для создания объекта класса и инициализации полей.
Рисунок 16. - Схема алгоритма метода «Create»:
Метод 8 - рисование кнопки.
Заголовок метода:
- procedure Paint;
- override;
Метод предназначен для обрисовки кнопки.
Входных и выходных параметров нет.
Схема алгоритма представлена на рисунке 17.
Рисунок 17. - Схема алгоритма метода «Paint»:
Метод 9 - действия при загрузке компонента.
Заголовок метода:
- procedure Loaded;
- override.
В данном методе определены действия, выполняемые при загрузке компонента.
Входных и выходных параметров нет.
Схема алгоритма представлена на рисунке 18.
Рисунок 18. - Схема алгоритма для метода «Loaded»:
Методы 10 - вывод изображений при соответствующих событиях мыши.
Заголовки методов:
- procedure MouseEnter(var msg: TMessage);
- message CM_MOUSEENTER;
- procedure MouseLeave(var msg: TMessage);
- message CM_MOUSELEAVE;
- procedure MouseDown(Button: TMouseButton; X, Y: Integer);
- override;
- procedure MouseUp(Button: TMouseButton; Shift: TShiftState);
- procedure MouseMove(Shift: TShiftState; X, Y: integer);
- override;
- procedure DblClick;override;
- procedure Click;override;
Данные методы переопределены в классе PicturedButton. Они реализуют вывод изображений в зависимости от события мыши. Метод «MouseEnter» вызывается, когда курсор мыши попадает в область компонента. Входным параметром данной процедуры является сообщение CM_MOUSEENTER. Выходных параметров нет.
Рисунок 19. - Схема алгоритма процедуры «MouseEnter»:
Метод «MouseLeave» вызывается, когда курсор мыши находится за пределами компонента. Входным параметром данной процедуры является сообщение CM_MOUSELEAVE. Выходных параметров нет.
Схема алгоритма метода представлена на рисунке 20.
Рисунок 20. - Схема алгоритма метода «MouseLeave»:
Метод «MouseDown» вызывается при нажатии кнопки мыши. У процедуры имеются входные параметры. Параметр Button определяет, какая кнопка мыши была использована.
Параметр Shift указывает, удерживалась ли при нажатии кнопки мыши модификаторная клавиша. Параметры X и Y задают позицию указателя при нажатии кнопки.
Выходных параметров нет.
Схема алгоритма метода представлена на рисунке 21.
Метод «MouseUp» при отпускании кнопки мыши. Параметры данной процедуры аналогичны параметрам предыдущей.
Схема алгоритма метода представлена на рисунке 22.
Метод «MouseMove» вызывается при перемещении курсора мыши. У процедуры имеются входные параметры.
Рисунок 21. - Схема алгоритма метода «MouseDown»:
Рисунок 22. - Схема алгоритма метода «MouseUp»:
Параметр Shift указывает, удерживалась ли при нажатии кнопки мыши модификаторная клавиша.
Параметры X и Y задают позицию указателя. Выходных параметров нет.
Схема алгоритма метода представлена на рисунке 23.
Рисунок 23. - Схема алгоритма метода «MouseMove»:
Метод «DblClick» вызывается при двойном щелчке кнопкой мыши Параметров у процедуры нет.
Схема алгоритма метода представлена на рисунке 24.
Рисунок 24. - Схема алгоритма метода «DblClick»:
Метод «Click» вызывается при щелчке кнопкой мыши. Параметров у процедуры нет.
Схема алгоритма метода представлена на рисунке 25.
Рисунок 25. - Схема алгоритма метода «Click»:
Методы 11 - удаление изображений из свойств «ClickImage», «MDblClickImage», «LeftMDownImage», «RightMDownImage», «MouseUpImage», «MouseMoveImage», «MouseEnterImage», «MouseLeaveImage».
Заголовки методов:
- procedure DelClickImage;
- procedure DelDblClickImage;
- procedure DelLeftMDownImage;
- procedure DelRightMDownImage;
- procedure DelMouseUpImage;
- procedure DelMouseMoveImage;
- procedure DelMouseEnterImage;
- procedure DelMouseLeaveImage.
Метод «DelClickImage» предназначен для удаления изображения из свойства «ClickImage».
Схема алгоритма представлена на рисунке 26.
Рисунок 26. - Схема алгоритма метода «DelClickImage»:
Метод «DelDblClickImage» предназначен для удаления изображения из свойства «MDblClickImage».
Схема алгоритма представлена на рисунке 27.
Рисунок 27. - Схема алгоритма метода «DelDblClickImage»:
Метод «DelLeftMDownImage» предназначен для удаления изображения из свойства «LeftMDownImage». Схема алгоритма представлена на рисунке 28.
Рисунок 28. - Схема алгоритма метода «DelLeftMDownImage»:
Метод «DelRightMDownImage» предназначен для удаления изображения из свойства «RightMDownImage».
Рисунок 29. - Схема алгоритма метода «DelRightMDownImage»:
Метод «DelMouseUpImage» предназначен для удаления изображения из свойства «MouseUpImage». Схема алгоритма представлена на рисунке 30.
Рисунок 30. - Схема алгоритма метода «DelMouseUpImage»:
Метод «DelMouseMoveImage» предназначен для удаления изображения из свойства «MouseMoveImage». Схема алгоритма представлена на рисунке 31.
Рисунок 31. - Схема алгоритма метода «DelMouseMoveImage»:
Метод «DelMouseEnterImage» предназначен для удаления изображения из свойства «MouseEnterImage».
Рисунок 32. - Схема алгоритма метода «DelMouseEnterImage»:
Метод «DelMouseLeaveImage» предназначен для удаления изображения из свойства «MouseLeaveImage».
Компонент TPicturedButton представлен следующими файлами:
- PicturedButton.pas - файл с текстом основного модуля;
- Button_Pack.dpk - файл пакета компонента;
- Button_Pack.res - файл ресурсов пакета компонента;
- PicturedButton.dcu - файл с иконкой компонента;
- Button_Pack.cfg - файл конфигурации компонента;
Рисунок 33. - Схема алгоритма метода «DelMouseLeaveImage»:
Логическая структура тестового приложения.
Тестирующая программа предоставляет следующие возможности:
- Загрузка и удаление изображения для конкретного события мыши.
- Задание режима вывода изображений.
- Установка размера и расположения кнопки.
- Задание текста надписи.
- Настройка шрифта для текста надписи.
- Задание цвета компонента.
- Вызов справки.
- Просмотр информации о программе.
- Выход из программы.
Интерфейс программы.
При разработке интерфейса программы использовались следующие компоненты:
- TEdit - для ввода текстовой информации,
- TButton - для загрузки и удаления изображений, вызова диалога настройки параметров шрифта и для выхода из программы,
- TLabel - для вывода информации,
- TUpDown - для установки параметров тестируемого компонента,
- TGroupBox - для распределения элементов управления по отдельным группам,
- TComboBox - для выбора свойства,
- TColorBox - для выбора цвета,
- TRadioGroup - для выбора режима вывода изображений.
Для настройки параметров шрифта использовался компонент TFontDialog.
Загрузка изображений осуществляется с помощью компонента TOpenPictureDialog.
Главная форма программы содержит меню, в котором представлены основные действия пользователя.
Для его создания использовался компонент TMainMenu.
Рассмотрим содержание пунктов более детально.
Пункт Файл содержит подпункты:
- Загрузить (реализация загрузки изображений в свойство),
- Удалить (удаление изображения из свойства),
- Выход (завершение работы программы).
Пункт Шрифт содержит подпункт:
- Настроить… (вызов диалога настройки параметров шрифта).
Пункт Помощь содержит подпункты:
- О программе (вывод информации о программе),
- Справка (вызов справки по программе).
Рассмотреть главную форму разработанной в данной работе программы, можно на представленном на рисунке 34.
Рисунок 34. - Основное окно тестирующей программы:
2.4 ИСПОЛЬЗУЕМЫЕ ТЕХНИЧЕСКИЕ СРЕДСТВА
Для установки компонента необходим персональный компьютер с установленной на нем средой программирования Borland Delphi7.
2.5 ВЫЗОВ И ЗАГРУЗКА
Для установки компонента в систему Delphi7 необходимо выполнить следующие действия:
- Запустить систему программирования Delphi7;
- Выбрать пункт меню Component - Install Component;
- В появившемся окне перейти на вкладку Into existing package;
- В поле Unit file name выбрать модуль компонента, а в поле Package file name выбрать пакет компонента. Нажать ОК.
- Если все было проделано правильно, то установленный компонент появится на вкладке Button_Pack панели инструментов.
- Дальше работа с компонентом производится точно так же как и со стандартными компонентами в Delphi7.
2.6 ВХОДНЫЕ ДАННЫЕ
Входными данными являются события мыши и соответствующие им графические изображения, которые установил пользователь.
2.7 ВЫХОДНЫЕ ДАННЫЕ
Выходными данными являются изображения, выводимые в зависимости от события мыши.
2.8 РАЗРАБОТКА СПРАВОЧНОЙ СИСТЕМЫ
Для создания справочной системы компонента использовалась программа Help and Manual version 5.2.0.
Процесс проектирования справочной системы состоял из следующих этапов:
1. Планирование справочной системы. На данном этапе были выделены разделы: Компонент PicturedButton, Установка компонента, Свойства и методы, Загрузка изображений, Режим отображения, Установка цвета и надписи, Параметры шрифта, Другие параметры.
2. Создание содержания справочной системы. Содержание представляет собой древовидную структуру, узлами которой являются заголовки тем, а листьями - конкретные разделы. При создании содержания были определены тема содержания: Справочная система по компоненту PictureButton.
Данная тема включает разделы (Topic): Компонент PicturedButton, Установка компонента, Свойства и методы, Загрузка изображений, Режим отображения, Установка цвета и надписи, Параметры шрифта, Другие параметры. Описанные разделы представлены на рисунке 35.
Рисунок 35. - Содержание справочной системы компонента:
3. Компиляция файла справочной системы.
Чтобы компилировать файл справочной системы, было использовано сочетание горячих клавиш Ctrl+F9.
В результате выводилось следующие окно компиляции, представленное на рисунке 36.
Рисунок 36. - Окно сохранения файла в формате PB_Help.chm:
2.9 РАЗРАБОТКА ЗНАЧКА КОМПОНЕНТА
Для создания значка компонента использовался встроенный редактор изображений Image Editor.
Создание включало следующие действия:
1. Открытие редактора командой Tools - Image Editor.
2. Создание нового файла ресурсов командой File - New - Component Resource File, после чего программа создает новое окно Untitled1.dcr.
3. Создание файла изображения в файле ресурсов путем выполнения команды контекстного меню New - Bitmap и переименование его в TPICTUREDBUTTON.
Результат представлен на рисунке 37.
Рисунок 37. - Добавление в файл ресурсов файла изображения:
Рисование изображения (рисунок 38).
Рисунок 38. - Рисование изображения:
5. Сохранение файла ресурсов под именем PicturedButton.dcr и закрытие редактора.
2.10 РАЗРАБОТКА УСТАНОВОЧНОЙ ПРОГРАММЫ ДЛЯ ПРОГРАММЫ ТЕСТИРОВАНИЯ
Для разработки установщика программы тестирования компонента использовалось приложение Smart Install Maker 5.02.
Созданная установочная программа помещает все файлы, необходимые для нормальной работы программы.
В каталог, указанный пользователем.
В начале разработки был создан проект PicturedButton_Demo. В настройках данного проекта были изменены следующие разделы, рассматриваемые ниже:
- Информация.
В этом разделе были изменены имя устанавливаемой программы на PicturedButton_Demo и имя компании на PB_Company.
- Файлы.
В этом разделе были выбраны файлы, которые необходимо перенести на компьютер пользователя.
- Ярлыки.
В этом разделе было указано, где создавать ярлыки при установке программы.
- Интерфейс.
В этом разделе был выбран внешний вид используемой программы-установщика.
Остальные параметры остались по умолчанию.
Рисунок 39. - Ввод основной информации:
Рисунок 40. - Выбор файлов, переносимых установочным приложением:
Рисунок 41. - Установка внешнего вида заголовка установочной программы:
Рисунок 42. - Установка логотипа для установочной программы:
Рисунок 43. - Указание ярлыков, создаваемых при установке:
Установка программы и работа с ней представлены в приложении на рисунках 39-43.
3. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ
3.1 ОБЪЕКТ ИСПЫТАНИЙ
Объектом испытаний является разработанный в курсовой работе компонент PicturedButton.
3.2 ЦЕЛЬ ИСПЫТАНИЙ
Целью испытаний является выявление возможных функциональных ошибок и сбоев, возникающих при работе данного компонента, обеспечение их устойчивого функционирования в процессе эксплуатации и подтверждение работоспособности.
3.3 ТРЕБОВАНИЯ К КОМПОНЕНТУ
Проверке в процессе тестирования подлежит функция масштабирования изображений TPicturedButton.SetSizePicture.
3.4 ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ
Введение. Описывается содержание темы курсовой работы.
Техническое задание. Раздел оформляется по ГОСТ 19.201-78.
Описание программы (ГОСТ 19.402-78).
Пояснительная записка (ГОСТ 19.404-79).
3.5 СРЕДСТВА И ПОРЯДОК ИСПЫТАНИЙ
Технические средства, используемые во время испытаний:
Персональный компьютер с процессором Intel Core i5 450M 2,4 GHz.
Объем ОЗУ: 4 Gb.
Видеоадаптер: ATI Mobility Radeon HD 5470.
Программные средства, используемые в процессе испытаний:
Тестовая программа PicturedButton_Demo.exe.
Среда программирования: Borland Delphi 7.
ОС: MS Windows 7.
Порядок испытаний:
1. Отладка компонента на контрольных примерах в тестовой программе.
2. Тестирование методами «белого ящика» и «чёрного ящика» функции масштабирования изображений TPicturedButton.SetSizePicture.
3.6 МЕТОДЫ ИСПЫТАНИЙ
1. Отладка приложения на контрольных примерах.
Первоначальное состояние программы представлено на рисунке 44.
Рисунок 44. - Начальное состояние программы:
Пример 1: Загрузка изображения для свойства ClickImage.
Входные данные:
- Графическое изображение,
- Щелчок мыши.
Ожидаемый результат:
- Появление на кнопке загруженного изображения при щелчке мышью на компоненте.
Результат работы программы после выполнения операции представлен на рисунке 45.
Рисунок 45. - Результат работы программы для контрольного примера 1:
Пример 2:
Загрузка изображения для свойства LeftMDownImage.
Входные данные:
- Графическое изображение,
- Нажатие левой кнопки мыши.
Ожидаемые результаты:
- Появление на кнопке загруженного изображения при нажатии левой кнопки мыши на компоненте.
Результат работы программы после выполнения операции представлен на рисунке 46.
Рисунок 46. - Результат работы программы для контрольного примера 2 (скриншот снят при нажатой левой кнопке мыши):
Пример 3:
Удаление изображения из свойства LeftMDownImage.
Входные данные:
- Нажатие левой кнопки мыши.
Ожидаемые результаты:
- Изображение удалено из свойства.
Результаты работы программы на после выполнения операции представлены на рисунке 47.
Рисунок 47. - Результат работы программы для контрольного примера 3:
Пример 4. Установка режима отображения в значение pmNone.
Входные данные:
- Графическое изображение.
Ожидаемые результаты:
- При наведении курсора мыши на компонент выводится изображение, имеющее свои исходные размеры.
Результаты работы программы после выполнения операции представлены на рисунке 51.
Рисунок 48. - Результат работы программы для контрольного примера 4:
Пример 5.
Установка режима отображения в значение pmProportional.
Входные данные:
- Графическое изображение.
Ожидаемые результаты:
- При наведении курсора мыши на компонент изображение полностью выводится, но сохраняет пропорции.
Рассмотрим более детально полученные в ходе работы результаты работы данной программы после выполнения операции представлены на рисунке 48.
Рисунок 49. - Результат работы программы для контрольного примера 5:
Пример 6: Установка ширины и высоты кнопки.
Входные данные:
- Ширина кнопки, равная 400 пикселей,
- Высота кнопки, равная 300 пикселей.
Ожидаемые результаты:
- Меняются ширина и высота кнопки.
Так как при заданных значениях ширины и высоты кнопка выходит за пределы рабочей области, то эти значения устанавливаются максимально возможными, т. е. таким образом, чтобы кнопка не выходила за пределы рабочей области.
Результат работы программы после выполнения операции представлен на рисунке 50.
Рисунок 50. - Результат работы программы для контрольного примера 6:
Установка координат верхнего левого угла происходит аналогично, а именно так, чтобы компонент полностью находился в пределах рабочей области.
Пример 7.
Задание цвета кнопки.
Входные данные:
- Цвет кнопки clMoneyGreen.
Ожидаемые результаты:
- Меняется цвет кнопки.
Результат работы программы после выполнения операции представлен на рисунке 51.
Рисунок 51. - Результат работы программы для контрольного примера 7:
Пример 8: Задание текста надписи.
Входные данные:
- Текстовая строка «PicturedButton».
Ожидаемые результаты:
- Текст «PicturedButton» отображается на кнопке.
Контрольные примеры не выявили наличия ошибок.
2. Тестирование функции масштабирования изображений TPicturedButton.SetSizePicture методом белого ящика (способ базового пути).
Код функции представлен на рисунке 52.
Рисунок 52:
Рисунок 53. - Потоковый граф:
Цикломатическая сложность полученного графа (3 способа):
Базовое множество независимых путей:
Тестовые варианты (ТВ), инициирующие выполнение каждого маршрута.
Тестовый вариант 1.
Исходные данные: установлен режим pmStretch. Ожидаемый результат: размер изображения равен размеру кнопки, пропорциональность изображения не сохраняется. Реальный результат: изображение выводится по размеру кнопки. Результат представлен на рисунке 54.
Рисунок 54. - Результат тестового варианта 1:
Тестовый вариант 2.
Исходные данные:
- установлен режим pmProportional,
- коэффициент пропорциональности изображения меньше коэффициента пропорциональности кнопки.
Ожидаемый результат: изображение выводится полностью, пропорциональность сохраняется, высота изображения равна высоте кнопки.
Реальный результат: изображение сохраняет пропорциональность, высота изображения равна высоте кнопки. Результат представлен на рисунке 55.
Рисунок 55. - Результат тестового варианта 2:
Тестовый вариант 3.
Исходные данные: установлен режим pmProportional, коэффициент пропорциональности изображения больше коэффициента пропорциональности кнопки. Ожидаемый результат: изображение выводится полностью, пропорциональность сохраняется, ширина изображения равна ширине кнопки. Реальный результат: изображение сохраняет пропорциональность, ширина изображения равна ширине кнопки. Результат представлен на рисунке 56.
Рисунок 56. - Результат выполнения тестового варианта 3:
Тестовый вариант 4.
Исходные данные: установлен режим pmNone, ширина и высота изображения меньше соответствующих параметров кнопки.
Ожидаемый результат: изображение выводится в центре кнопки.
Реальный результат: изображение расположено в центре кнопки. Результат представлен на рисунке 67.
Рисунок 67. - Результат тестового варианта 4:
Тестовый вариант 5.
Исходные данные: установлен режим pmNone, ширина изображения больше ширины кнопки.
Ожидаемый результат: изображение сохраняет свой исходный размер, по вертикали оно выводится в центре кнопки, по горизонтали - от левой границы кнопки.
Реальный результат: изображение расположено в центре кнопки по вертикали и начиная от левой границы кнопки по горизонтали. Результат представлен на рисунке 58.
Рисунок 58. - Результат тестового варианта 5:
Тестовый вариант 6.
Исходные данные: установлен режим pmNone, размеры изображения больше размеров кнопки. Ожидаемый результат: изображение сохраняет свой исходный размер, по вертикали оно должно выводиться, начиная от верхней границы кнопки, по горизонтали - от левой границы. Реальный результат: изображение расположено в левом верхнем углу кнопки. Результат представлен на рисунке 59.
Рисунок 59. - Результат тестового варианта 6:
Степень покрытия логики программы тестовыми вариантами равна 90%. Вывод: в процессе выполнения тестирования наличия ошибок не было выявлено.
3. Тестирование методом «чёрного ящика» функции масштабирования изображений TPicturedButton.SetSizePicture. При выполнении данной функции устанавливаются размеры некоторого исходного изображения и координаты его вывода в соответствии с выбранным способом отображения.
Рисунок 60. - Дерево разбиений:
Далее для каждого из листьев дерева составляются тестовые варианты.
Тестовый вариант 1.
Исходные данные: режим pmNone, размеры изображения больше размеров кнопки.
Результат: изображение расположено в левом верхнем углу кнопки. Результат представлен на рисунке 61.
Рисунок 61. - Результат тестового варианта 1:
Тестовый вариант 2.
Исходные данные: режим pmNone, размеры изображения меньше размеров кнопки.
Результат: изображение расположено в центре кнопки. Результат представлен на рисунке 62.
Рисунок 62. - Результат тестового варианта 2:
Тестовый вариант 3.
Исходные данные:
Режим pmStretch.
Результат:
Изображение «растянуто» по всей кнопке. Результат представлен на рисунке 63.
Рисунок 63. - Результат тестового варианта 3:
Тестовый вариант 4.
Исходные данные: режим pmProportional, коэффициент пропорциональности изображения больше коэффициента пропорциональности кнопки.
Результат: изображение расположено в центре кнопки, его пропорции сохранены, ширина изображения и ширина кнопки равны. Результат представлен на рисунке 64.
Рисунок 64. - Результат тестового варианта 4:
Тестовый вариант 5.
Исходные данные:
Режим pmProportional, коэффициент пропорциональности изображения меньше коэффициента пропорциональности кнопки.
Результат:
Изображение расположено в центре кнопки, его пропорции сохранены, высота изображения и высота кнопки равны. Результат представлен на рисунке 65.
Рисунок 65. - Результат тестового варианта 5:
В процессе выполнения тестирования наличия ошибок не было выявлено.
4. ЭКСПЛУАТАЦИОННЫЕ ДОКУМЕНТЫ
4.1 РУКОВОДСТВО ПРОГРАММИСТА
4.1.1 ОБЩИЕ СВЕДЕНИЯ О КОМПОНЕНТЕ
Компонент предназначен для работы с изображениями в системе программирования Delphi7.
4.1.2 СТРУКТУРА КОМПОНЕНТА
Компонент реализован в следующих файлах:
Button_Pack.dpk - файл пакета для установки в Delphi7. В него входят следующие файлы:
- PicturedButton.pas - модуль с кодом компонента.
- PicturedButton.dcr - файл пиктограммы компонента.
Справочная информация по компоненту:
- PB_Help.hlp - файл справочной системы компонента.
- PB_Help.cnt - файл содержания справки компонента.
Компонент устанавливается в систему программирования Delphi на вкладку Button_Pack палитры компонентов.
4.1.3 НАСТРОЙКА КОМПОНЕНТА
Компонент не нуждается в дополнительной настройке. Для начала работы его достаточно установить в систему программирования Delphi7, выполнив следующие действия:
1. Открыть файл пакета Button_Pack.
Для этого необходимо выполнить команду:
- меню File - Open Project
- в появившемся диалоговом окне выбрать файл Button_Pack.dpk (рисунок 66).
Рисунок 66. - Диалог открытия файла пакета:
2. Установить компонент в среду путем нажатия кнопки Install (рисунок 67).
Рисунок 67. - Установка пакета:
Рисунок 68. - Сообщение об установке пакета:
4.1.4 ПРОВЕРКА КОМПОНЕНТА
В случае необходимости проведения дополнительного тестирования, рекомендуется опираться на результаты тестирования в разделе 4.6 (Методы испытаний).
4.1.5 ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ КОМПОНЕНТА
Компонент имеет свойство PictMode для выбора способа вывода изображений. Также в компоненте предусмотрена возможность задания и настройки текста надписи и возможность установки цвета компонента.
4.1.6 СООБЩЕНИЯ СИСТЕМНОМУ ПРОГРАММИСТУ
Компонент PicturedButton не генерирует сообщения системному программисту, так как уровень его сложности достаточно низкий и вероятность появления ошибок минимальна.
4.2 РУКОВОДСТВО ОПЕРАТОРА (ПОЛЬЗОВАТЕЛЯ)
4.2.1 НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ КОМПОНЕНТА
Компонент реализует выполнение задания на курсовую работу, которое приведено в разделе 2 (Техническое задание). Компонент имеет дополнительные возможности (см. пункт 5.1.5. Дополнительные возможности компонента).
Компонент предназначен для реализаций функций кнопки с возможностью вставки графических изображений в системе программирования Delphi7.
Для работы программы необходим персональный компьютер с установленной операционной системой семейства Windows, монитор, клавиатура и манипулятор типа «мышь».
4.2.2 ВЫПОЛНЕНИЕ ПРОГРАММЫ ТЕСТИРОВАНИЯ КОМПОНЕНТА
Для установки программы необходимо запустить файл PB_Setup.exe. После установки запуск программы возможен несколькими способами:
- Меню Пуск - Программы - PicturedButton_Demo - PicturedButton_Demo.exe,
- Запустить файл C:\Program Files\PicturedButton_Demo\ PicturedButton_Demo.exe,
- Двойной щелчок по ярлыку PicturedButton_Demo на Рабочем столе.
После запуска программы появляется заставка, которая скрывается через 5 секунд. Также заставку можно скрыть, нажав любую клавишу или щелкнув мышью. После этого появляется главное окно программы.
Главное окно содержит следующие группы элементов:
1. Панель «Установка изображения» обеспечивает возможность выбора свойства и установки для него изображения. Выбрать свойство можно из выпадающего списка на панели (компонент TComboBox). Чтобы загрузить изображение, нужно нажать кнопку «Загрузить» или выполнить пункт меню Файл - Загрузить. Удалить изображение можно, нажав кнопку «Удалить» или выбрав пункт меню Файл - Удалить. Дополнительно на панели отображается изображение, загруженное в свойство, и подсказка, на какое событие выводится изображение.
2. На панели «Режим отображения изображений» можно выбрать один из способов вывода изображений.
3. Панель «Другие параметры» предоставляет возможности для настройки параметров компонента, таких как ширина, высота, координаты левого верхнего угла, цвет, текст надписи. Ширина, высота и координаты задаются путем введения значений в соответствующие поля или с помощью компонентов типа TUpDown. Текст надписи вводится в поле «Текст» и отображается при нажатии клавиши Enter или при смене фокуса ввода. Также имеются возможности настройки параметров шрифта надписи. Чтобы настроить шрифт, необходимо нажать кнопку «Настроить шрифт…» или выполнить пункт меню Шрифт - Настроить.
Для вызова справки необходимо выполнить пункт меню Помощь - Справка.
Завершить работу с программой можно, нажав кнопку «Выход» или выполнив пункт меню Файл - Выход.
4.2.3 ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ
Входными данными являются события мыши и соответствующие им графические изображения, которые установил пользователь.
Выходными данными являются изображения, выводимые в зависимости от события мыши.
4.2.4 СООБЩЕНИЯ ОПЕРАТОРУ
Компонент не генерирует сообщений оператору.
СПИСОК ЛИТЕРАТУРЫ
1. Засорин, С.В. Объектно-ориентированное программирование: метод. указания к курсовой работе «Объектно-ориентированное программирование» / С.В. Засорин; РГРТУ - Рязань, 2007. - 11с.
2. Архангельский, А.Я. Delphi 2006. Справочное пособие: А.Я. Архангельский - Москва, Бином-пресс, 2006. - 1152 с.
3. Справочная система Borland Delphi 7.
ПРИЛОЖЕНИЕ
ТЕКСТ ОСНОВНОГО МОДУЛЯ КОМПОНЕНТА PICTUREDBUTTON.
визуальный программирование компьютерный
Размещено на Allbest.ru
...Подобные документы
Методы грамматического разбора. Разработка структуры учебного транслятора на базовом языке программирования Object Pascal в среде объектно-ориентированного визуального программирования Borland DELPHI 6.0 с использованием операционной системы Windows XP.
курсовая работа [493,8 K], добавлен 12.05.2013Особенности и тонкости программирования в среде Delphi. Специфика перехода от алгоритмического решения к непосредственной программной реализации на языке Object Pascal с использованием всех необходимых средств данного языка. Анализ полученных результатов.
реферат [246,2 K], добавлен 17.11.2012Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.
курсовая работа [2,4 M], добавлен 27.08.2012Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое, как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.
курсовая работа [967,6 K], добавлен 20.05.2008Основные понятия и структура обработчика на языке Pascal. Элективные курсы по информатике в системе профильного обучения. Элективный курс "Программирование в среде Delphi". Методические материалы по изучению программирования на языке Object Pascal.
методичка [55,4 K], добавлен 08.12.2010Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.
отчет по практике [2,1 M], добавлен 02.05.2014Интегрированная среда разработки Delphi и элементы, входящие в ее состав. Математическая модель, алгоритм решения и его свойства. Описание операторов, процедур, функций и методов. Создание приложений по аналитической геометрии и теоретической механике.
курсовая работа [1,8 M], добавлен 26.05.2010Разработка автоматизированной информационной системы для обеспечения учета образовательных учреждений в среде Delphi на языке программирования Pascal. Создание базы данных и интерфейса для работы с АИС. Сущности и атрибуты логической модели данных.
курсовая работа [429,3 K], добавлен 15.05.2014Разработка интерфейса программы, обеспечивающего доступ ко всем возможностям среды структурно-визуального программирования. Реализация инструментальных средств, позволяющих связывать компоненты в единое приложение. Создание иерархии классов представления.
дипломная работа [2,3 M], добавлен 11.04.2012Язык программирования Pascal и его турбооболочка. Аналитический обзор игрового программного обеспечения. Функции модуля Crt. Постановка задачи создания несложной игровой программы "Турбозмей", алгоритм реализации и описание пользовательского интерфейса.
курсовая работа [100,4 K], добавлен 15.05.2014Создание приложения для просмотра графических файлов. Компоненты, объекты и операторы для отображения графической информации в библиотеке Delphi. Канва как область компонента для рисования и отображения изображений. Рисование пером, закрашивание кистью.
методичка [98,1 K], добавлен 19.06.2011Обоснование языка программирования Object Pascal и среды разработки Delphi. Создание интерфейса пользователя. Проектирование структуры и описание компонентов, использованных при разработке программного продукта. Составление инструкции пользователя.
курсовая работа [888,7 K], добавлен 20.05.2015Особенности разработки и отладки программы на языке Pascal (Delphi), в операционной системе Windows 7 Ultimate. Описание, назначение, функции, оборудование, программное обеспечение, алгоритмы, математическая основа, тесты и интерфейс программы DMC.exe.
курсовая работа [422,7 K], добавлен 28.05.2010Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Проектирование и создание пользовательского интерфейса и визуального программирования в среде Delphi. Система управления базой данных. Локальные и глобальное пользовательские представления. Анализ предметной области. Назначение форм и компонентов.
курсовая работа [758,0 K], добавлен 07.03.2014Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.
курсовая работа [1,5 M], добавлен 08.02.2011Вычисление площади геометрических фигур с помощью интегрального исчисления. Основные свойства площади как функции. Разработка алгоритма работы программы на языке Object-Pascal в среде Delphi. Текст программы, порядок ее запуска и полученный результат.
курсовая работа [281,0 K], добавлен 06.06.2013Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.
контрольная работа [703,8 K], добавлен 24.09.2012Создание компьютерной игры посредством среды программирования Delphi. Инструменты разработки, компоненты и методы для разработки программы. Логическая и физическая структуры, основные функции и элементы управления программы, ее тестирование и отладка.
курсовая работа [27,9 K], добавлен 26.07.2014Создание информационной системы обработки матриц. Общая характеристика программного обеспечения, которое реализует выполнение заданных функций. Программа разработана с использованием среды визуального программирования Delphi 7 и языка Object Pascal.
курсовая работа [373,4 K], добавлен 14.01.2011