ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 6868
Скачиваний: 51
526
нию рамки заданными символами. Для этого задается список символов для определения рамки.
Можно задать различные символы для сторон и углов рамки. В этом случае символы разделяются
запятыми и располагаются в следующем порядке: f, b, 1, r, fl, fr, bl, br, где f - верх; b - низ; 1 - левая
сторона; г - правая сторона; fl -левый верхний угол; fr - правый верхний угол; bl - левый нижний
угол; br -правый нижний угол.
Пример.
@ 5,13 ТО 10,40 DOUBLE COLOR R/BG Д
Для
полной очистки всего экрана
используется команда
CLEAR [ALL/FIELDS/GETS/MEMORY/MENUS/
POPUPS/TYPEAHEAD/WINDOWS]
Она очищает экран, устанавливает курсор в левый нижний угол экрана и освобождает все
незаконченные опции GET команды @... SAY. ..GET. Различные опции этой команды также за-
крывают файлы БД, очищают переменные, списки полей, окна, горизонтальные и вертикальные
меню и буфер клавиатуры.
Команда @... SAY. ..GET является универсальной для
организации ввода и вывода инфор-
мации
на экране. В программах нередко требуется вводить с клавиатуры данные для обеспечения
процесса обработки информации, например имя файла БД, данные для ветвления программы, по-
исковые значения и т.д. Для этого предусмотрена специальная команда
ACCEPT [<сообщение>] ТО <переменная>
которая позволяет вводить с клавиатуры данные символьного типа в переменную. Перед
полем переменной можно высветить сообщение, например, о характере вводимых данных.
Кроме этой команды для
ввода данных с клавиатуры
можно использовать команду
INPUT [<сообщение>] ТО <переменная>
которая выполняет аналогичные функции, но позволяет вводить в переменную с клавиатуры дан-
ные не только символьного, но и других типов, а также в виде заданного выражения, что не до-
пускается в команде ACCEPT. Тип выражения определяет тип переменной, в которую вводится
значение. После набора выражения с клавиатуры для ввода его в переменную надо нажать клави-
шу Enter.
Кроме универсальной команды SAY существует команда, специально предназначенная для
вывода данных на экран и принтер:
?/??
[<выр.1> [PICTURE <выр.С>]
[FUNCTION <список функций>] [AT <выр.N>]
[STYLE <номер шрифта>]] [,<выр.2>...] [,]
которая выводит значение одного или более заданных символьных выражений. Если уста-
новлено состояние SET PRINT ON. то выполняется вывод на принтер, если SET PRINT OFF, то на
экран. Эта команда в форме ? выводит каждое выражение на следующей строке, а в форме ?? все
выражения на одной строке.
Для
печати отчета
используется команда
REPORT FORM <имя файла отчета>/?
[<границы>] [WHILE <условие>]
[FOR <условие>] [PLAIN]
[HEADING <выр С>] [NOEJECT]
[ТО PRINTER/TO FILE <имя файла>] [SUMMARY]
527
которая запускает программу печати отчета (файл отчета), созданную командой CRE-
ATE/MODIFY REPORT.
Для
создания исходных программных файлов
используются обычные текстовые редакторы,
например встроенный редактор dBASE, который вызывается командой
MODIFY COMMAND/FILE <имя файла> [WINDOW <имя окна>]
Прикладная программа обычно состоит из главной процедуры и вызываемых из нее проце-
дур, например:
<команды>
&& Начало главной процедуры
DO Proс1
DO Proc2
DO Ргос3
RETURN
&& Конец главной процедуры
PROCEDURE Proс1
&& Начало Proс1
<команды>
RETURN
&& Конец Proс1
PROCEDURE Proс2
&& Начало Proc2
<команды>
RETURN
&& Конец Proc2
PROCEDURE Ргос3
&& Начало Ргос3
<команды>
RETURN
&& Конец Рrос3
Процедура
представляет собой программный модуль, который выполняет определенную
задачу. После ее выполнения управление передается в вызвавшую или главную процедуру. Про-
цедура так же, как и программа, вызывается и выполняется командой
DO <имя программы>/<имя процедуры> [WITH <список параметров>]
Опция WITH передает в вызываемую процедуру параметры (до 64).
Каждая процедура, размещаемая в файле процедур или в программном файле, должна на-
чинаться с команды
PROCEDURE <имя процедуры>
и завершаться командой
RETURN [<выражение>/ТО MASTER/TO <имя процедуры>]
Команда RETURN удаляет все переменные, которые были определены в процедуре как
PRIVATE (переменные, определенные как PUBLIC, остаются без изменения).
Командой DO в процедуру можно передавать из вызывающей программы и обратно пара-
метры, которые в самой процедуре определяются командой
PARAMETERS <список параметров>
которая должна быть первой исполняемой командой в теле процедуры. В качестве пара-
метра в списке может быть любое допустимое выражение, определяющее переменную, в которую
передаются данные из соответствующего параметра вызывающей программы. Если эта перемен-
ная не объявлена глобальной (PUBLIC), то автоматически она имеет статус локальной (PRIVATE).
Определение переменных как локальных выполняется командой
PRIVATE <список переменных> / [ALL [LIKE/EXCEPT <шаблон>]]
528
Глобальные переменные можно использовать повсюду а программе и в вызываемых ею
процедурах. Для объявления переменных и элементов массива глобальными используется команда
PUBLIC <список переменных>/ [ARRAY <список элементов массива>]
2.3.6. Организация системы меню
Чтобы организовать в dBASE систему меню, сначала надо определить
его
отдельные ком-
поненты - меню вертикального и горизонтального типа. Для этого используются специальные ко-
манды, начинающиеся словом DEFINE - определить. Определение горизонтального меню выпол-
няется командой
DEFINE MENU <имя меню> [MESSAGE <выр.С>]
Эта команда еще не создает горизонтальное меню, а только назначает ему имя и, если тре-
буется, сообщение, которое будет высвечиваться в нижней строке экрана (строке сообщений). Для
определения позиций горизонтального меню используется команда
DEFINE PAD <имя позиции>
OF <имя меню> PROMPT <выр.С>
[AT <строка>,<колонка>] [MESSAGE <выр.С>]
которая определяет одну позицию горизонтального меню. Для задания нескольких позиций
данная команда повторяется соответствующее число раз. Вертикальное меню определяется ко-
мандой
DEFINE POPUP <имя меню>
FROM <строка 1>,<колонка 1>
[ТО <строка 2>,<колонка 2>]
[PROMPT FIELD <имя поля>]
/PROMPT FILES [LIKE <шаблон>]
/PROMPT STRUCTURE]
[MESSAGE <выр.С>]
которая устанавливает его имя (записывается по тем же правилам, что и для горизонталь-
ного меню) и координаты окна меню на экране. Опции FROM и ТО определяют координаты лево-
го верхнего и правого нижнего углов окна меню.
Назначение текста и других атрибутов одной позиции ранее определенного вертикального
меню осуществляется командой
DEFINE BAR <номер строки> OF <имя меню>
PROMPT <выр.С>
[MESSAGE <выр.С>]
[SKIP [FOR <условие>]]
Чтобы определить нескольких позиций, надо эту команду повторить соответствующее чис-
ло раз.
После того как определены позиции меню, обычно требуется назначить им определенные
действия, которые будут выполняться при их выборе. Эти действия для позиций горизонтального
меню назначаются командой
ON SELECTION PAD <имя позиции горизонтального меню>
OF <имя горизонтального меню> [<команда>]
529
которая выполняет заданную команду при выборе указанной позиции горизонтального ме-
ню. В качестве команды может быть любая команда dBASE IV, в том числе команда вызова про-
грамм и процедур.
Для назначения действий позициям вертикального меню используется команда
ON SELECTION POPUP <имя позиции вертикального меню>/ALL [<команда>]
которая выполняет заданную команду или процедуру при выборе позиции вертикального
меню.
Обычно для назначения позициям меню каких-либо действий используется выход на про-
цедуру, в которой помещаются команды для выполнения этих действий. В такой процедуре чаще
всего применяется команда
DO
CASE
CASE <условие>
<команды>
[CASE <условие>]
<команды>
[OTHERWISE]
<команды>
ENDCASE
Можно формировать вложенные структуры этой команды, т.е. внутри команды после клю-
чевого слова CASE помещать другую команду DO CASE, а также любые другие команды ветвле-
ния и выполнения циклов, например IF...ENDIF, DO WHILE...ENDDO и др.
Пример.
DO
CASE
CASEVal> 1000
<команды>
CASEVal> 100
<команды>
CASEVal>10
<команды>
OTHERWISE
<команды>
ENDCASE
Если требуется разветвить процесс только на два направления, можно использовать коман-
ду
IF <условие> <команды> [ELSE] <команды> ENDIF
При реализации операций, назначаемых позициям меню, нередко требуется организовать
циклы повторяющихся действий, например организовать обработку файла БД и др. Это можно
сделать с помощью ряда команд и их комбинаций. Одной из таких является команда
DO WHILE
<условие>
<команды>
[EXIT]
<команды>
[LOOP]
<команды>
ENDDO
которая обеспечивает повторение последовательности команд, заключенной между слова-
530
ми DO WHILE и ENDDO до тех пор, пока заданное условие истинно. Если встречается слово
LOOP, то управление передается в начало цикла команд, а при встрече слова EXIT осуществляется
выход из команды и управление передается на первую команду после слова ENDDO, завершаю-
щего данную команду.
Предыдущие команды позволяют определить меню и атрибуты их позиций. Для того чтобы
активизировать горизонтальное и вертикальное меню (а также списки), используются команды
ACTIVATE MENU <имя меню> [PAD <имя позиции>]
и
ACTIVATE POPUP <имя меню>
которые вызывают на экран предварительно определенные меню.
2.3.7. Пример создания информационной системы с помощью СУБД типа dBASE
Рассмотрим пример создания информационной системы обработки школьной информации
«Всеобуч» с помощью СУБД типа dBASE. Проследим основные этапы работы.
1. Постановочная часть.
1. 1. Цель функционирования ИС.
1.2. Структурирование общей задачи.
1.3. Анализ входной информации.
1.4. Анализ переработки информации.
1.5. Анализ выходной информации (структура БД, формат экрана для выходных данных,
выходные формы информации, стандартные запросы, командные файлы и т.д.)
2. Создание БД.
2.1. Проектирование структуры БД.
2.2. Создание файла БД.
2.3. Заполнение файла БД записями.
3. Создание комплекса вспомогательных сервисных файлов.
3.1. Файл формата экрана.
3.2. Файлы выходных форм документов.
3.3. Индексированные файлы.
3.4. Файлы стандартных запросов.
3.5. Комплекс командных файлов.
4. Эксплуатация созданной ИС.
4.1. Поддержка информации в БД.
4.2. Получение необходимой информации через файлы запросов.
Согласно этим этапам разработаем прикладную программу, которая иллюстрирует возмож-
ности СУБД в автоматизации управления школой.
Постановка задачи.
Цель разработки этого программного средства
-
автоматизация работы
завуча средней школы по одной из форм отчета всеобуча.
Предполагается получение информации в виде табл. 6.3 и табл.
6.4.
Таблица 6.3
Информация для отчета завуча школы
Класс Сохранение кон-
тингента
Неуспеваю-
щие
Второ-
годники,
их успе-
ваем.
Пропуски
Работа с трудными
учащимися и их
семьями
Конец
года
Четверти
1 2 3 4
Четверти
1 2 3 4
Четверти
1 2 3 4
Без ув.
причин
По бо-
лезни
Состоящ.
на учете
Трудные
семьи