Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Проектирование интерфейса программы.
В данной главе описывается примерный алгоритм работы программы начиная от запуска до завершения работы. Отображаются все возможные реакции программы на выбор пользователя. Для программы с интерфейсом Windows приводится описание формы, в которой будет производиться редактирование. · Интерфейс DOS. Существует множество интерфейсов, которые можно реализовать в редакторе. Самый простой с точки зрения реализации является интерфейс командной строки. В данном интерфейсе. Пользователю выводится нумерованный список действий и пользователю предлагается ввести номер действия. Когда пользователь ввёл номер действия – идёт выполнение действия или вывод подменю, чтобы пользователь мог пояснить данные для действия. Достоинства интерфейса: · простота реализации с помощью встроенных процедур вывода и ввода данных (при этом это является и недостатком при портировании в другой язык программирования). · возможность реализации как непосредственного числового ввода параметров так и относительное изменение параметров редактирования. Недостатки интерфейса: · некоторая топорность, допотопность интерфейса, в отличии от интерфейса Windows. · невозможность оперативного просмотра результата ввода (интерфейс работает в текстовом режиме, в то время, как отрисовка производится в графическом режиме. · Трудность использования Мыши
Алгоритм данного интерфейса выглядит примерно следующим образом: 1. Инициализация 2. Вывод на экран текстового меню. 3. Запрос действия 4. Выполнение действия 5. если был выбран не выход, перейти к пункту 2. 6. Деинициализация.
Второй вариант интерфейса DOS – это изменение параметров объекта определёнными клавишами или их сочетаниями (увеличение или уменьшение). Каждой клавише на клавиатуре назначается определённое действие. И в зависимости от нажатой клавиши выполняется увеличение или уменьшение параметра, загрузка и сохранение данных, вывод справки и т.д.
Достоинства интерфейса: · Сразу видно все изменения производимые пользователем. · Относительная простота реализации (ненамного сложнее интерфейса командной строки) Недостатки интерфейса: · Невозможность непосредственного ввода данных с клавиатуры. · Ввод строкового значения требует или использования стандартной процедуры ввода в текстовом режиме, или реализации собственной процедуры, для ввода в графическом режиме. · Трудно запомнить горячие клавиши при большом количестве вводимых параметров (на каждый параметр используется 2 клавиши – увеличить и уменьшить) Алгоритм данного интерфейса выглядит примерно следующим образом: 1. Инициализация 2. Вывод на экран параметров и самого объекта редактирования. 3. Ожидание нажатия клавиши 4. Выполнение действия согласно клавише 5. Если на была нажата клавиша выхода, перейти к пункту 2. 6. Деинициализация. Третий вариант интерфейса DOS – это реализация полей ввода. В данном интерфейсе появляется такое понятие, как текущее поле ввода, и пользователь может посредством определённых клавиш переключаться между ними. Поля могут быть совершенно различными, в зависимости от назначения. Список возможных: · пункты меню (или кнопки), которые выполняют действие при нажатии ENTER · Поле ввода целых или дробных чисел. В данном поле реализован как ввод данных с клавиатуры и относительное изменение значения. · Поле ввода текста. В данном поле реализован ввод текста. · Логическое поле. В данном поле реализована возможность изменения логического значения по нажатию определённых клавиш. · Поле для ввода только определенных значений. В данном поле реализовано переключение параметра среди одного из возможных значений. Ввод значения с клавиатуры не предусмотрен. · Цветовое поле – поле для редактирования цвета с отображением цвета вместо числа.
Достоинства интерфейса: · Возможно реализовать самый удобный интерфейс. · Сразу видно все изменения производимые пользователем. Недостатки интерфейса: · Сложно программировать. При большом количестве полей рекомендуется использовать ООП.
Алгоритм данного интерфейса выглядит примерно следующим образом: 1. Инициализация 2. Вывод на экран всех полей, пунктов меню и самого объекта редактирования. 3. Ожидание нажатия клавиши 4. Выполнение действия в зависимости от того, кукое поле является текущим и какая была нажата клавиша. 5. Если не была нажата клавиша выхода (или не выбран пункт меню «Выход»), перейти к пункту 2. 6. Деинициализация.
Разработка ядра программы В данной главе разрабатывается программа и алгоритм работы объекта редактирования. В целях минимизации работы рекомендуется использовать принципы ООП. · Описание базового класса объекта редактирования. Показываются поля и методы класса необходимые для реализации платформенно-независимых и интерфейсо-независимых действий объекта. Допускается создание пустых методов класса, для платформенно-зависимых операций (подразумевается, что они будут изменены в потомках класса). · Описание класса, который наследуется из базового класса для интерфейса DOS. · Описание класса, который наследуется из базового класса для интерфейса WINDOWS.
Разработка алгоритма программы. В данной главе производится разработка алгоритма работы программы для выбранного типа интерфейса. Приводятся основные процедуры и функции реализующие ввод данных с клавиатуры, проверку ввода, вывод меню для пользователя и т.д. Для интерфейса Windows приводится фотография формы с описанием используемых компонентов.
Портирование программы на язык СИ (Borland С и Borland С builder соответственно). В данной главе приводятся основные отличия программы на си от программы на паскале. Приводится форма и показываются объекты на форме в Borland C builder. Заключение.
Приложение · Блок схема алгоритма основной программы и всех процедур согласно ГОСТ. · Листинг всех модулей для программы с интерфейсом DOS (Borland Pascal). · Листинг всех модулей (кроме общих для DOS) для программы с интерфейсом Windows (Borland Delphi). · Листинг всех модулей для программы с интерфейсом DOS (Borland C). · Листинг всех модулей (кроме общих для DOS) для программы с интерфейсом Windows (Borland C Builder).
Пример курсовой работы.
Задание на работу: разработать редактор квадрата. Действие – вычисление площади квадрата и его периметра.
Анализ объекта редактирования Параметры редактирования В данной работе необходимо разработать редактор квадрата. По согласованию с руководителем (а в будущем и заказчика), программа должна уметь редактировать размеры основной стороны квадрата, должна присутствовать возможность поворота квадрата на определённый угол относительно центра. Должна присутствовать возможность установки цвета линии и заливки квадрата. Кроме того, необходимо сделать возможность включения и отключения диагоналей в квадрате.
Подпись «циклически» подразумевает, что увеличение максимально возможного значения для данного параметра на 1 приведёт к установке минимального значения. (для угла 180+1 = 181 → -179) и наоборот. Что касается цвета, то для обеспечения платформенной независимости цвет хранится в формате RGB: Color = Red + Green*256 + Blue*65536 где Red, Green и Blue – интенсивности красного, зелёного и синего соответственно (0..255). Формат файла. Данные в файле можно хранить множеством способов. 2 самых распространённых и простых в реализации– это простой бинарный и текстовый файлы. Для проверки валидности файла, используют специальные сигнатуры, которые добавляют в начало (например, для файла рисунка (*.bmp) это 2 символа «BM»). Будем использовать сигнатуру «SQR0» Возьмём к примеру следующие данные:
Тогда бинарный файл будет выглядеть следующим образом (HEX дамп): 53 51 52 30 2D 00 1E 00 01 FF FF 00 00 FF 00 00 00 А текстовый файл будет выглядеть следующим образом (простой текст): «SQR0 45 30 1 65536 255 » INI файл ini-файлы — это обычные текстовые файлы, которые можно редактировать и просматривать при помощи любого текстового редактора. ini-файлы имеют следующий формат:
; некоторый комментарий [Section1] ; комментарий о разделе var1 = значение_1; иногда допускается комментарий к отдельному параметру var2 = значение_2
[Section2] var1 = значение_1 var2 = значение_2
Для представленного выше примера, INI файл будет выглядеть следующим образом: [SQR0] length = 45 angle = 30 diagonal = 1 LineColor = 65535 FillColor = 255
Отображение на экране
На рисунке ниже показано, как должен изображаться объект редактирования Рис. 1. Отображение редактируемого квадрата
Положение объекта никак не редактируется, поэтому если размеры рабочей области соответствуют width и height, то координаты точки O(Ox, Oy) соответствуют (ClientWidth/2, ClientHeight/2) Т.к. размеры квадрата определяются длиной стороны квадрата, то масштабировать квадрат по рабочей зоне не требуется. Таким образом определим координаты всех остальных точек: Ax = Ox+(length/2*(-cos(angle*π /180)+sin(angle*π /180))) Ay = Oy+(length/2*(-sin(angle*π /180)-cos(angle*π /180))) Bx = Ox+(length/2*(+cos(angle*π /180)-sin(angle*π /180))) By = Oy+(length/2*(-sin(angle*π /180)-cos(angle*π /180))) Cx = Ox+(length/2*(+cos(angle*π /180)-sin(angle*π /180))) Cy = Oy+(length/2*(+sin(angle*π /180)+cos(angle*π /180))) Dx = Ox+(length/2*(-cos(angle*π /180)+sin(angle*π /180))) Dy = Oy+(length/2*(+sin(angle*π /180)+cos(angle*π /180))) Если координаты левого верхнего угла рабочей области не (0, 0), то ко всем точкам необходимо прибавить эти координаты. Отрисовка квадрата производится в следующей последовательности: · Установить цвет линии в LineColor. · Установить цвет заливки в FillColor. · Отрисовка полигона ABCD. · Если нужно рисовать diagonals, то рисовать линии AC и BD. |
Последнее изменение этой страницы: 2017-04-12; Просмотров: 743; Нарушение авторского права страницы