Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL / L3_BD.RTF
Скачиваний:
21
Добавлен:
15.06.2014
Размер:
50.04 Кб
Скачать

Лабораторная работа № 3 Тема: Разработка многоуровневого меню для работы с базой данных.

Меню является основной формой диалога в прикладных системах обработки данных.

В FoxPro имеются две альтернативные технологии построения меню - концепция, продолжающаяся из предыдущих версий СУБД FoxBase 2.1, и концепция, позаимствованная из СУБД dBASE IV.

Важнейшее различие между FoxPro и dBASE-меню может быть определено терминами "меню-программа" и "меню-объекты". Fox-меню, является только частью программы, где оно создаётся, используется и уничтожается. dBASE-меню после своего определения остаётся независимым и "живым" объектом, к которому можно обратиться из любого места прикладной системы.

Большинство из реализованных в языке меню является по существу окнами, т.е. они могут проектироваться на видимую часть экрана без "порчи" изображения под ними. При редактировании меню экран автоматически восстанавливается.

DBase-меню

dBase-меню имеет два типа элементарных меню:

1. Вертикальное ("всплывающее", или POPUP-меню);

2. Горизонтальное (BAR-меню).

На их основе можно строить иерархическое меню практически любой сложности (вложенности)

Технология создания любого типа меню включает следующие этапы:

  • Определение меню(может быть сделано один раз в начале программы);

  • Активизация меню(команды/клавиши предъявляют его на экране и делают его чувствительным к выбору пользователя);

  • Деактивация меню(удаление его с экрана, сохраняя в памяти для следующего его использования);

  • Удаление меню(очищает память от определения меню).

BAR и POPUP-меню могут использоваться отдельно, а могут быть связаны:

BAR-меню:

PAD-пункт

PAD-пункт

………

POPUP-меню:

BAR-пункт

……………………

BAR-пункт

Вертикальное POPUP-меню(“всплывающее”)

Определение:

DEFINE POPUP <POPUP-меню>

[FROM <Y1>,<X1>][TO <Y2>,<X2>]

[PROMPT FIELD <выражение>/

PROMPT FILES [LIKE <маска>]/

PROMPT STRUCTURE]

[MARGIN][IN [WINDOW] <окно>/IN SCREEN]

[FOOTER <выр.>] [KEY <имя клавиши>] [TITLE <выр.>]

Здесь:

<POPUP-меню> - имя POPUP-меню которое определяется в программе;

FROM <Y1>,<X1> TO <Y2>,<X2> - координаты левого верхнего и правого нижнего углов POPUP-меню на экране/окне;

PROMPT FIELD <выражение> - элементами меню будут записи из открытой базы данных, содержащие заданное поле - выражение;

<выражение> - может содержать одно или несколько полей, соединённых знаком “+”, в том числе из других открытых баз(в этом случае они должны быть приведены к одному символьному типу);

PROMPT FILES [LIKE <маска>] - элементами будут названия файлов, возможно, ограниченные маской;

PROMPT STRUCTURE - в качестве элементов меню будет предъявлена структура открытой базы данных;

MARGIN - устанавливает пробелы справа и слева от приглашений меню;

FOOTER <выр1> и TITLE <выр1> - заголовки меню, располагаемые в центре нижней и верхней границ области меню.

Пример:

Пусть требуется построить меню из полей FAM, DTR и DET базы данных KADR.DBF. Причем из даты нужен только год рождения. Поле FAM сократить до 12 символов. Необходимо установить кандидатов на материальную помощь. Пусть помощь назначается из расчета 40 тыс. руб. на 1 ребёнка, но не более 100 тыс. руб. Вычисляемое поле должно отображаться в меню.

Пример программы:

USE KADR

DEFINE POPUP KADR 1,1 TO 5,40;

TITLE ‘Фамилия| Год рождения| Детей| Помощь’;

PROMPT FIELD LEFT(FAM,12) +’1’+STR(YEAR(DTR),4)+;

‘|’+STR(DET,2)+’|’+STR(MIN(DET*40.000,100.000)),4

ACTIVATE POPUP KADR

Здесь:

LEFT(<выр1>,<выр2>) - выделение из строки <выр1> указанного в <выр2> числа символов слева;

YEAR(<выр>) - определяет числовое значение года по выражению;

STR(<выр>,[<длина>],[<десятичные знаки>]) - преобразует числовое выражение в символьную строку;

MIN() - возвращает минимальное значение из списка аргументов.

Теперь можно выбрать кандидатов, которым необходима материальная помощь:

Фамилия

Год рождения

Детей

Помощь

Романова М.С.

1966

0

0

Потапов Д.П.

1960

3

100

Яковлев А.Н.

1955

2

80

Описание элементов POPUP-меню (команда описывает BAR-пункты POPUP-меню, когда используется после команды DEFINE POPUP):

DEFINE BAR <выр1> OF <POPUP-меню> PROMPT <выр2>

……………………….

Соседние файлы в папке SQL