Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Проектирование интерфейса программы.



В данной главе описывается примерный алгоритм работы программы начиная от запуска до завершения работы. Отображаются все возможные реакции программы на выбор пользователя. Для программы с интерфейсом 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).

 

Пример курсовой работы.

 

Задание на работу: разработать редактор квадрата. Действие – вычисление площади квадрата и его периметра.

 

Анализ объекта редактирования

Параметры редактирования

В данной работе необходимо разработать редактор квадрата. По согласованию с руководителем (а в будущем и заказчика), программа должна уметь редактировать размеры основной стороны квадрата, должна присутствовать возможность поворота квадрата на определённый угол относительно центра. Должна присутствовать возможность установки цвета линии и заливки квадрата. Кроме того, необходимо сделать возможность включения и отключения диагоналей в квадрате.

 

Редактируемый параметр Переменная Тип Диапазон
Размер стороны квадрата Length Целочисленный (2 байта) 0..400
Угол поворота Angle Целочисленный (2 байта) -179..180 (циклически)
Диагонали Diagonals Логический (1 байт) Присутствуют/Отсутствуют
Цвет линии LineColor Целочисленный (4 байта) Цвет в формате RGB
Цвет заливки FillColor Целочисленный (4 байта) Цвет в формате RGB

 

Подпись «циклически» подразумевает, что увеличение максимально возможного значения для данного параметра на 1 приведёт к установке минимального значения. (для угла 180+1 = 181 → -179) и наоборот. Что касается цвета, то для обеспечения платформенной независимости цвет хранится в формате RGB:

Color = Red + Green*256 + Blue*65536

где Red, Green и Blue – интенсивности красного, зелёного и синего соответственно (0..255).

Формат файла.

Данные в файле можно хранить множеством способов. 2 самых распространённых и простых в реализации– это простой бинарный и текстовый файлы. Для проверки валидности файла, используют специальные сигнатуры, которые добавляют в начало (например, для файла рисунка (*.bmp) это 2 символа «BM»). Будем использовать сигнатуру «SQR0»

Возьмём к примеру следующие данные:

Редактируемый параметр Примерное значение
Размер стороны квадрата
Угол поворота
Диагонали Есть
Цвет линии 65535 (Жёлтый)
Цвет фона 255 (Красный)

Тогда бинарный файл будет выглядеть следующим образом (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; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь