Разработка системы меню приложения для учебной БД "Sveden", содержащей поля: фамилия, имя, отчество студента, группа, факультет, предмет, оценка, семестр, учебник, автор, стоимость

Страницы работы

Содержание работы

Цель работы: приобретение навыков разработки системы меню приложения для учебной БД.

Задание к лабораторной работе, вариант 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 &&создать

Похожие материалы

Информация о работе