Цель работы: приобретение навыков разработки системы меню приложения для учебной БД.
Задание к лабораторной работе, вариант 6:
Создать и заполнить БД sveden, содержащую поля: фамилия, имя, отчество студента, группа, факультет, предмет, оценка, семестр, учебник, автор, стоимость. Выполнить запросы: вывод минимального, максимального и среднего значения поля размер стипендии; вывод фамилии всех студентов кроме обучающихся на факультетах РТФ и ФТФ; выборка фамилий всех студентов факультета АВТ.
Текст программы:
* newmenu.prg
clear *Отчистка рабочей области
set talk off
set message to 20
PUSH KEY CLEAR *Установка горячих клавиш
ON KEY LABEL CTRL+N NewFile()
ON KEY LABEL CTRL+O OpenFile()
ON KEY LABEL CTRL+S SaveFale()
ON KEY LABEL CTRL+X CloseFile()
ON KEY LABEL CTRL+A EditTable()
ON KEY LABEL CTRL+D DesignerTable()
ON KEY LABEL ALT+P PreviosTable()
ON KEY LABEL ALT+C ClearAll()
ON KEY LABEL ALT+N NextTable()
ON KEY LABEL ALT+L ListAll()
dimension a(5,2) *Заполнение массивов содержащих все меню
a(1,1)=' Файл '
a(2,1)=' Правка '
a(3,1)=' Вид '
a(4,1)=' Запросы '
a(5,1)=' Выход '
a(1,2)=' Файл, файл откройся '
a(2,2)=' Сейчас мы будем что-то править '
a(3,2)=' Посмотрим, посмотрим '
a(4,2)=' Запросы '
a(5,2)=' Мне надоело! Я ухожу! '
dimension b(5)
b(1)='Создать Ctrl+N'
b(2)='Открыть Ctrl+O'
b(3)='Сохранить Ctrl+S'
b(4)='Сохранить как '
b(5)='Закрыть Ctrl+X'
dimension c(2)
c(1)='Править Таблицу Ctrl+A'
c(2)='Дизайнер Таблицы Ctrl+D'
dimension d(4)
d(1)='Предыдущая таблица ALT+P'
d(2)='Следующая таблица ALT+N'
d(3)='Отчистить ALT+C'
d(4)='Вывести таблицу ALT+L'
dimension e(6)
e(1)='Максималная стипендия'
e(2)='Минимальная стипендия'
e(3)='Средняя степендия'
e(4)='Степендия от 100 до 300'
e(5)='Студенты РТФ и ФТФ'
e(6)='Студенты АВТ'
maxTable=4 && Максимальное количество таблиц
dimension gcTable(maxTable)
curTable=0 && текущая открытая таблица
numTable=0 && сколько таблиц открыто
pos=70 &&позиция хелпа
menu bar a,5 *Инициализация меню
menu 1,b,5
menu 2,c,2
menu 3,d,4
menu 4,e,6
x=1
y=1
do while .T.
read menu bar to x,y *Обработка сообщений от меню
do case
case x=1 *И вызов соответствующих процедур
do case
case y=1
NewFile()
case y=2
OpenFile()
case y=3
SaveFile()
case y=4
SaveAsFile()
case y=5 &&закрыть
CloseFile()
endcase
case x=2
do case
case y=1
EditTable()
case y=2
DesignerTable()
endcase
case x=3
do case
case y=1 &&пред
PreviosTable()
case y=2 &&след
NextTable()
case y=3
ClearAll() &&очистить
case y=4
ListAll()
endcase
case x=4
do case
case y=1
Query1()
case y=2
Query2()
case y=3
Query3()
case y=4
Query4()
case y=5
Query5()
case y=6
Query6()
endcase
case x=5 && Тут реакция на выбранные
MenuExit()
endcase
enddo
*Собственно процедуры обработки пунктов меню
PROCEDURE NewFile
if numTable<maxTable &&создать
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.