ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 3112
Скачиваний: 9
26
3.
Написать отчет, демонстрирующий работоспособность процедур поис-
ка в соответствии с пунктом 2.
4.
На проверку необходимо отправить отчет, программные файлы, файлы
БД и индексные.
4.2
Лабораторная
работа
№
2.
Использование
генератора
приложений
В СУБД FoxPro имеются развитые генераторы приложений, позво-
ляющие быстро создавать, почти не прибегая к непосредственному про-
граммированию, некоторые заготовки. Это генераторы отчетов, экранов и
меню. Здесь программист во многом освобожден от рутинного и утоми-
тельного труда по расчету положений видимых объектов (текстов, полей,
рамок, меню и др.) на экране. Все проектирование сводится к физическому
размещению нужных элементов в специальном окне проектирования —
планшете, облик которого полностью соответствует будущему виду экрана.
В FoxPro для облегчения создания собственного многоуровневого
меню предусмотрен генератор меню. Для запуска генератора воспользуй-
тесь пунктом NEW из меню FILE. В появившемся диалоговом окне выберите
пункт MENU и на экране появится пустой планшет (рис. 4.17). Второй спо-
соб запуска генератора меню — написать в командном окне команду:
CREATE MENU <имя MNX файла> или
MODIFY MENU <имя MNX файла>
Рис. 4.17
Рабочая часть планшета имеет четыре столбца:
В столбец Prompt заносятся пункты-приглашения создаваемых меню.
При этом для первого уровня меню генерируется команда вида DEFINE
PAD <имя PAD пункта> OF _MSYSMENU PROMPT <приглашение>
В столбец Result указываются действия, которые вызовет выбор
пункта. Выбрать тип действия можно с помощью всплывающего меню.
Для его вызова наведите курсор на надпись SUBMENU и нажмите
<ВВОД>. Появится меню, состоящее из четырех пунктов, каждый из кото-
рых определяет тип действия. Доступны следующие типы действий:
27
Command позволяет задать некоторую команду, которая будет вы-
полняться при выборе данного пункта меню. Если это пункт меню первого
уровня, то в меню-программу добавляется команда вида
ON SELECTION PAD <имя PAD пункта> OF _MSYSMENU <команда>
Или для POPUP меню следующих уровней
ON SELECTION BAR <номер пункта POPUP меню> OF <имя
POPUP меню> <команда>
Submenu дает возможность вставить вспомогательное POPUP меню.
В программу для горизонтального меню добавляется команда
ON PAD <имя PAD пункта> OF _MSYSMENU ACTIVATE POPUP
<имя POPUP меню>
Или для пункта POPUP меню команда ON BAR <номер пункта> OF
<имя POPUP меню> ACTIVATE POPUP <имя POPUP меню>
Pad name позволяет задать собственное, а не генерируемое автомати-
чески имя PAD пункта в команде вида
DEFINE PAD <имя PAD пункта> OF _MSYSMENU PROMPT <при-
глашение>
Здесь подразумевается имя одного из PAD пунктов системного ме-
ню, которое вы хотите использовать в конструируемом меню. Каждый
элемент системного меню имеет свое специальное имя, которое можно вы-
яснить, например, воспользовавшись пунктом Quick Menu из меню MENU.
Bar # (отсутствует в меню первого уровня) позволяет задать в каче-
стве строки создаваемого POPUP меню элемента одного из системных
POPUP меню.
Proc. позволяет задать процедуру, которая закрепляется за соответст-
вующим пунктом меню. Для горизонтального меню к программе добавля-
ется команда
ON SELECTION PAD <имя PAD пункта> OF _MSYSMENU DO
<имя процедуры> IN <имя программы, содержащей процедуру>
Для POPUP меню добавляется команда вида
ON SELECTION BAR <номер пункта> OF <имя POPUP меню> DO
<имя процедуры> IN <имя программы, содержащей процедуру>
Здесь <имя процедуры> — уникальное имя, назаначаемое генерато-
ром меню. Сама процедура может быть написана непосредственно тут же.
В зависимости от того, какой объект задан, в этом же столбце (находящем-
ся чуть левее POPUP меню) откроется доступ к их созда-
нию/редактированию через кнопку CREATE/EDIT, либо, если выбран
пункт Command, — появится возможность сделать непосредственный ввод
команды.
Столбец OPTIONS открывает доступ к окну, показанному на
рис. 4.18.
28
Рис. 4.18
Здесь можно установить следующие опции для элементов меню:
Shortcut — назначение клавиш быстрого вызова данного пункта меню.
Mark — указание символов пометки выбранных пунктов.
Skip For — условие, исключающее доступ к данному пункту.
Pad Name/Bar # — собственное имя заголовка, номер строки меню.
При разработке меню удобнее задавать собственные имена пунктов,
а не предлагаемые генератором.
В правом верхнем углу планшета отображено скрытое POPUP меню,
где показано имя текущего уровня меню. Там же можно выбрать нужный
уровень из уже заданых.
Остальные кнопки имеют следующий смысл:
Try it — просмотр текущего меню в действии.
Insert — вставка нового пункта меню.
Delete — удаление пункта меню.
Пункт меню MENU
Ниже описаны значения его пунктов.
Пункт General Options открывает диалоговое окно, показанное на
рис. 4.19.
Рис. 4.19
29
Здесь кнопки Replace и Append в разделе Location устанавливают
создаваемое меню вместо системного или дополнительно к нему. Кнопки
Before и After — перед или после выбранного пункта системного меню.
В разделе Menu Code можно ввести команды, предваряющие (Setup)
или завершающие (Cleanup) установку меню.
Кнопка Mark дает возможность установить вид символа пометки вы-
бранных пунктов.
В окне Procedure через кнопку Edit можно ввести команду, которая
будет включена в команду вида ON SELECTION MENU _MSYSMENU
<команда>
При выборе пункта Quick Menu для редактирования предлагается
системное меню, которое можно приспособить для своих целей.
Генерация программы меню
После окончания формирования меню с помощью пункта GENER-
ATE из меню PROGRAM сгенерируйте файл (он будет иметь расширение
MPR), запуск которого приведет к созданию меню. Для вызова этого меню
воспользуйтесь командой ACTIVATE MENU <имя меню>.
Задание
на
лабораторную
работу
№
2
1.
С помощью генератора меню разработать программу, реализующую
меню.
2.
Меню должно обеспечивать просмотр исходных данных в таблицах с
выбором индекса (упорядочения) и вызов реализованных процедур по-
иска из предыдущей работы, а также выход из системы.
3.
На проверку выслать все файлы.
4.3
Лабораторная
работа
№
3.
Разработка
экранных
форм
Одной из задач систем работы с базами данных — организация дру-
жественного интерфейса, т. е. представление на экране информации в виде
удобном для восприятия и изменения.
Для данных целей в СУБД FoxPro существует встроенный генератор
экранных форм, позволяющий легко и быстро построить экран для ото-
бражения данных, а затем получить программный код построения экрана
для его последующей модификации.
4.3.1 Запуск генератора экранов
Запуск генератора экранов можно осуществить двумя способами:
Способ 1: В меню FILE выбрать пункт NEW, затем в появившемся
окне выбрать кнопку SCREEN и нажать Ok.
30
Способ 2: В командном окне набрать команду CREATE SCREEN
<ИМЯ ФАЙЛА> и нажать ENTER.
Для редактирования уже существующего экрана можно использовать
меню FILE пункт OPEN либо выполнить команду MODIFY SCREEN
<Имя SCX-Файла>
После этих действий на экране появится окно генератора экрана (бу-
дем называть его планшет), а в главное меню добавится пункт SCREEN.
4.3.2 Размещение полей ввода/вывода
Воспользуемся пунктом QUICK SCREEN из меню SCREEN. После
выбора этого пункта на экране появится диалоговое окно (см. рис. 4.20), в
котором вы должны выбрать базу данных, для которой надо сформировать
экран. Далее появится другое диалоговое окно, через меню которого мож-
но определить исходный вид экрана. Сначала определим способ располо-
жения полей на экране — одной или несколькими колонками. Для этого
выберем Ву.
Рис. 4.20
Column или By Row Layout соответственно. Ниже расположен ряд
кнопок, имеющих следующее назначение:
Кнопка TITLES позволяет делать заголовками названия полей.
Кнопка FIELDS инициализирует меню выбора полей, используемых
на экране.
Кнопка ADD ALIAS позволяет делать название полей составными.
Это необходимо тогда, когда на экране отображаются поля из нескольких
баз данных.