Программное обеспечение пункта обмена валюты банкаРефераты >> Программирование и компьютеры >> Программное обеспечение пункта обмена валюты банка
В нашей системе примем за основу экранного интерфейса, идеологию фирмы Borland. В этой идеологии выдержано большинство автоматизированных банковских систем, поэтому наша программа органично впишется в их ряд.
Система проектирования CA-Clipper предоставляет разработчику достаточно обширную гамму функций, позволяющих осуществлять разработку экранного интерфейса, однако программы, в которых используются только штатные средства системы оказываются довольно сильно загруженными второстепенными операторами, обеспечивающими вывод на монитор экранных объектов, рамок, установку цвета и т.п. Целесообразно разработать комплекс функций экранного интерфейса, выполняющих макрооперации, таких, к примеру, как вывод в заданных координатах рамки с заголовком и тенью в указанной цветовой гамме и сохранение области вывода в буфере для последующего восстановления внешнего вида экрана. Все функции экранного интерфейса можно объединить в библиотеку, с тем, чтобы в последующей работе не загружать исходный код программы их описанием.
Перечень функций экранного интерфейса
Для формирования библиотеки экранных функций, приведем перечень процедур, относящихся к созданию внешнего облика программы и связи программы с конечным пользователем:
· создание горизонтального меню в указанных координатах
· создание вертикального меню в указанных координатах
· вывод окна с рамкой и тенью или без таковых в указанных координатах и цвете
· вывод окна с рамкой и тенью или без таковых в указанных координатах и цвете с эффектом раскрытия
· вывод строки подсказки
· вывод сообщения с ожиданием реакции пользователя
· вывод сообщения и ожидание выбора пользователя
· вывод линейного индикатора процесса и его обновление
· вывод транспаранта ожидания
Наиболее сложными и важными функциями из перечисленных, являются функции создания меню, а самыми употребительными функции вывода окон. Таким образом, необходимо в первую очередь спроектировать именно эти функции.
Проектирование функциональных модулей.
Существует множество методов построения программ и каждый разработчик выбирает из всего многообразия наиболее приемлемый для себя или вообще руководствуется своими личными соображениями. При проектировании нашей системы можно разбить весь процесс на несколько частей:
· Создание функций экранного интерфейса
· Проектирование системы меню программы
· Разработка функциональных модулей и подключение их к основной программе
· Комплексная отладка и тестирование программы в процессе опытной эксплуатации
· Окончательная доводка программного продукта и сдача его в эксплуатацию.
Создание в первую очередь процедур и функций экранного интерфейса объясняется тем, что эти функции составят “скелет” программы к которому в дальнейшем будут подключаться рабочие процедуры, таким образом мы будем вести разработку методом “Сверху вниз”. Этот метод позволяет в короткие сроки получить работающую систему с ограниченным (и в процессе работы все более полным) набором функциональных возможностей.
Разработка интерфейсных функций
Функция вывода меню в указанных координатах
Для упрощения программы в целом возложим на эту процедуру следующие задачи:
· Вывод горизонтального, или вертикального меню, в зависимости от передаваемого параметра
· Возврат номера выбора пользователя, или 0 при прерывании выбора по клавише “Escape”
· Вывод списка выборов в экранных координатах, передаваемых в функцию в качестве параметра
· Вывод списка выборов в цветовой гамме, передаваемой в функцию в качестве параметра
· Выделение “горячих” клавиш в списке выборов и их обработка
· Возможность перемещения по списку выборов с помощью манипулятора “Мышь”.
Определимся с параметрами функции.
1. Флаг вывода меню в горизонтальном или вертикальном виде (Logic)
2. Список выборов (Array)
3. Список координат (Array)
4. Список строк подсказок (Array)
5. Дополнительная координата (Numeric)
6. Цвет активного выбора (String)
7. Цвет неактивного выбора (String)
8. Цвет “горячей” клавиши
Дополнительная координата и массив координат выборов будут выполнять двойную роль: при выводе горизонтального меню массив содержит номера колонок для каждого выбора, а дополнительная координата определяет строку вывода, при выводе вертикального меню в массиве будем иметь номера строк для каждого выбора, а дополнительная координата определит столбец вывода. Для отображения “горячей” клавиши необходимо определить в строке выбора какой-либо маркер, символ, следующий за ним, будет использоваться в качестве “горячей” клавиши и отображаться с выделением (рис.6)
Рис.6 Фрагмент меню
Рис 7. Алгоритм функции выбора из меню
Функция вывода окна в указанных координатах
Данная функция должна быть универсальной, следовательно, нужно иметь возможность, при вызове функции, определять параметры будущего
Рис.8 Параметры оконного объекта |
оконного объекта. К таким параметрам относятся:
· экранные координаты окна (стандартно это строка и столбец левого верхнего и правого нижнего углов окна)
· цвет оконной области
· символы обрамления и заполнения окна
· цвет символов обрамления и заполнения
Экранные координаты передаются в виде числовых величин в порядке, принятом для команд BOX, CLEAR и т.п. YL,XL - левый верхний, YR,XR - правый нижний угол. Символы заполнения передаются в виде строковой переменной, содержащей последовательно символы обрамления, начиная с верхнего левого угла по часовой стрелке. Последним в последовательности является символ заполнения внутренней области окна. Цветовая гамма устанавливается по умолчанию по текущим установкам.
Вывод оконного объекта с эффектом раскрытия осуществляется путем циклического вызова предыдущей функции с задержкой и изменением координат на единицу от Х1=(ХR-XL)/2, Y1=(YR-YL)/2 до переданных в качестве параметра.
Вывод строки подсказки
Особенностью данной функции является необходимость вывода подсказки в виде этикеток к функциональным клавишам в нижнюю строку экрана и фиксация этих данных на время работы какой-либо процедуры, а затем восстановление области экрана, занятой строкой подсказки. Кроме того, необходимо выводить этикетки только для клавиш, задействованных в данной процедуре.
Рис.9 Строка подсказки |