Файл: Базы данных УМП-2.pdf

Добавлен: 28.11.2018

Просмотров: 2809

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

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 и  нажмите 
<ВВОД>. Появится меню, состоящее из четырех пунктов, каждый из кото-
рых определяет тип действия. Доступны следующие типы действий: 


background image

 

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.  


background image

 

28

 

Рис. 4.18 

 

Здесь можно установить следующие опции для элементов меню: 
Shortcut — назначение клавиш быстрого вызова данного пункта меню. 
Mark — указание символов пометки выбранных пунктов. 
Skip For — условие, исключающее доступ к данному пункту. 
Pad Name/Bar # — собственное имя заголовка, номер строки меню.  
При разработке меню удобнее задавать собственные имена пунктов, 

а не предлагаемые генератором. 

В правом верхнем углу планшета отображено скрытое POPUP меню, 

где показано имя текущего уровня меню. Там же можно выбрать нужный 
уровень из уже заданых. 

Остальные кнопки имеют следующий смысл: 
Try it — просмотр текущего меню в действии. 
Insert — вставка нового пункта меню. 
Delete — удаление пункта меню. 

 

Пункт меню MENU 
Ниже описаны значения его пунктов. 
Пункт  General Options  открывает  диалоговое  окно,  показанное  на 

рис. 4.19. 

 

Рис. 4.19 


background image

 

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


background image

 

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  позволяет  делать  название  полей  составными. 

Это необходимо тогда, когда на экране отображаются поля из нескольких 
баз данных.