Программное обеспечение пункта обмена валюты банкаРефераты >> Программирование и компьютеры >> Программное обеспечение пункта обмена валюты банка
Целесообразно в главном модуле программы определить массив с этикетками для каждой функциональной клавиши, а в функцию передавать только номера или позиции подлежащих отображению этикеток. В качестве параметра удобно использовать символьное выражение битовой строки вида “1000001001”, показывающее, что необходимо вывести в строку подсказки элементы массива с номерами 1, 7 и 10, а в остальных позициях вывести блоки пробелов. Поскольку в строку необходимо выводить десять элементов массива с обозначением номера функциональной клавиши и разделителями, легко подсчитать, что длина одного элемента составит 6 символов. Примерный вид фрагмента строки приведен на рис.
Вывод сообщения с ожиданием реакции или выбора пользователя
Поскольку данные функции, написанные, как самостоятельные модули во многом будут похожи, есть смысл объединить их в одну универсальную процедуру. Условимся обрабатывать максимально три строки сообщения и до трех вариантов выбора. При отсутствии в передаваемых параметрах вариантов выбора, предполагается ожидание нажатия на любую клавишу.
Таким образом, список параметров функции будет следующим:
· Координаты вывода окна объекта
· Строка сообщения 1
· Строка сообщения 2
· Строка сообщения 3
· Строка выбора 1
а) |
· Строка выбора 2
· Строка выбора 3
б)
в) Рис.10 Примеры работы функции при передаче различного количества параметров. а - одна строка сообщения б - две строки сообщения и две строки выбора, в - Одна строка сообщения и три строки выбора. |
При вызове функции условимся отсутствующие параметры передавать в виде пустой строки -«», таким образом упростится анализ переданных параметров в функции.
Вид выводимого сообщения при передаче в функцию различного количества параметров приведен на рис.
Алгоритм функции и исходный текст приведен в приложении.
Вывод линейного индикатора процесса и его обновление
Вид линейного индикатора приведен на рис. Использование индикатора позволяет визуально оценить процент выполнения какой-либо операции в процессе работы. Для отображения шкалы необходимо иметь следующие данные:
· Количество вычисляемых единиц в 100% шкалы индикатора
Рис.11 Линейный индикатор процесса |
· Длина шкалы в экранных единицах
· Количество вычисляемых единиц в активной зоне шкалы
Алгоритм функции и исходный текст приведен в приложении.
Вывод транспаранта ожидания
Транспарант ожидания должен выводиться в указанных координатах на время работы процедуры и иметь обязательную строку “Ожидайте окончания операции .”, кроме того, можно в качестве параметра передать дополнительную информацию. Область экрана, занятую сообщением, и ее координаты необходимо сохранить в переменных для последующего восстановления. Общий вид транспаранта приведен на рис.
Рис.12 Транспарант ожидания |
Вспомогательные функции
ФУНКЦИЯ ПЕРЕКЛЮЧЕНИЯ ВИДА КУРСОРА
Данная функция должна обеспечивать отображение курсора ввода в виде линии при режиме «ЗАМЕНА» и в виде блока в режиме «ВСТАВКА». Для отслеживания состояния курсора необходима глобальная переменная, которая принимает значения 1 или 2. Функция должна быть приписана к клавише «Insert» командой SET KEY.
ФУНКЦИЯ ПЕРЕВОДА СТРОКИ В ВЕРХНИЙ РЕГИСТР
Поскольку в составе Clipper 5.02 не имеется функции Upper, работающей с символами кириллицы, необходимо обеспечить программу эквивалентной процедурой. Наиболее просто реализовать функцию путем объявления двух массивов - исходных символов и символов преобразования с однозначным соответствием. Поиск исходного символа в первом массиве дает нам индекс символа преобразования из второго. При отсутствии эквивалента, символ транслируется без изменения.
ФУНКЦИЯ КОНТРОЛЯ ВЫХОДА
Для корректного закрытия БД и завершения работы необходимо проконтролировать запросом попытку пользователя выйти из программы. Данная функция будет содержать обычный запрос на подтверждение выхода, и при положительном ответе осуществит закрытие всех активных файлов БД и возврат в ДОС.
ФУНКЦИЯ ПЕРЕВОДА ЧИСЛОВОЙ ВЕЛИЧИНЫ В СТРОКУ «СУММА ПРОПИСЬЮ»
Функция небходима для получения строки, содержащей символьное выражение числа. Преобразование должно осуществляться с соблюдением правил грамматики, падежей и склонений. Первая буква строки прописная. Дробная часть не преобразуется. При переводе валюты в функцию должен быть передан в качестве параметра код валюты и строка дополнена псевдонимом валюты. Псевдоним, или краткое наименование извлекается из БД валют по коду валюты, переданному в функцию в качестве параметра. По умолчанию предполагается валюта - Российский рубль (код 000 или 002)
Пример:
123456 код валюты 048
Сто двадцать три тысячи четыреста пятьдесят шесть DEM
52567478 без параметра
Пятьдесят два миллиона пятьсот шестьдесят семь тысяч четыреста семьдесят восемь руб. 00 коп.
Разработка головного модуля программы
Структура функции MAIN
При написании головной функции необходимо описать именно в ней все массивы и переменные, имеющие статус глобальных - «Public». В этом случае к ним можно получить доступ из всех процедур и функций системы, использовать их в качестве объектов для неявной передачи параметров и возврата значений или результатов работы. Кроме того в головном модуле необходимо произвести настройку общих параметров Clipper’а, таких, как формат даты, режим поиска в БД, параметры поиска и сравнения строк и т.п.
Для обеспечения возможности корректировки пользователем цветовой палитры системы следует определить комплекс переменных, в которых будут храниться цветовые установки. Количество переменных определится количеством групп процедур, и числом изменяемых цветов в каждой из них. Распределить функции на группы можно по следующему принципу:
· Функция главного меню системы
· Функции меню нижних уровней
· Функции ввода данных
· Функции вывода данных
· Функции запросов
· Строка подсказки
Набор переменных цвета должен обеспечить хранение цветовых установок для прорисовки окна, нормального текста, выделенных и невыделенных объектов для каждой группы функций. Цветовые установки будут иметь символьное выражение вида «+GR/B», что позволит производить непосредственную подстановку переменных в функцию SETCOLOR. Хранение переменных необходимо осуществить в специальном файле memo - переменных.