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

     gcTable(curTable+1) = GETFILE('DBF', 'Файл', 'Создать' ,0)

     if !EMPTY(gcTable(curTable+1))

       curTable = curTable+1

      numTable = numTable+1

      CREATE (gcTable(curTable))

      clear

      @0,pos say 'Текущая таблица: '+gcTable(curTable)

      endif

    endif

ENDPROC

PROCEDURE OpenFile

  if numTable<maxTable

   gcTable(curTable+1) = GETFILE('DBF', 'Файл', 'Открыть' ,0)

     if  !EMPTY(gcTable(curTable+1))

     curTable = curTable+1

     numTable = numTable+1

     USE (gcTable(curTable))

             clear

     @0,pos say 'Текущая таблица: '+gcTable(curTable)

     endif

   endif 

ENDPROC

PROCEDURE SaveFile

     if numTable>0

       save gcTable(curTable)

     endif

ENDPROC

PROCEDURE SaveAsFile

if numTable>0

     gcTable(curTable) = GETFILE('DBF', 'Файл', 'Изменить' ,0)

     if !EMPTY(gcTable(curTable))

      save gcTable(curTable)

       endif        

  endif                

ENDPROC

PROCEDURE CloseFile

         if curTable>0

                    use

              for i=curTable to numTable step 1

                     gcTable(i)=gcTable(i+1)

              endfor

               if curTable>1

                curTable = curTable-1

                   endif

                   numTable = numTable-1

                   if curTable>numTable

               curTable = curTable-1

                   endif

                  ClearAll()

         endif

ENDPROC

PROCEDURE EditTable

 if curTable>0

   browse

 endif 

ENDPROC

PROCEDURE DesignerTable()

  if curTable>0

  MODIFY STRUCTURE

  endif   

ENDPROC

PROCEDURE PreviosTable

if curTable>1

       curTable = curTable-1

       USE (gcTable(curTable))

       clear

       @0,pos say 'Текущая таблица: '+gcTable(curTable)

endif

ENDPROC

PROCEDURE NextTable          

if curTable<numTable

curTable = curTable+1

USE (gcTable(curTable))

clear

@0,pos say 'Текущая таблица: '+gcTable(curTable)

endif

ENDPROC

PROCEDURE ListAll

 clear

 if curTable>0

 use gcTable(curTable)

 @0,pos say 'Текущая таблица: '+gcTable(curTable)

 list all &&Вывести все

endif

ENDPROC

PROCEDURE ClearAll

clear

 if curTable>0

 @0,pos say 'Текущая таблица: '+gcTable(curTable)

endif

ENDPROC

PROCEDURE MenuExit

  if curTable>0   && выход

  for j=1 to numTable step 1     

  use

     for i=curTable to numTable step 1

     gcTable(i)=gcTable(i+1)

     endfor

      if curTable>1

      curTable = curTable-1

      endif

     numTable = numTable-1

     if curTable>numTable

     curTable = curTable-1

     endif

     endfor

  endif 

  clear

 ? 'Art Group A&N'

 ? 'Новосибирск 2001'

 PUSH KEY CLEAR    

 cancel      && пункты меню

ENDPROC

*Здесь тексты запросов

PROCEDURE Query1

 go top

stepmax=степендия

SCAN FOR степендия>stepmax

   stepmax=степендия

ENDSCAN

 ClearAll()

? ' '

? ' '

 ? 'Максимальная степендия : '

 ? stepmax

ENDPROC

PROCEDURE Query2

 go top

stepmin=степендия

SCAN FOR степендия<stepmin

   stepmin=степендия

ENDSCAN

 ClearAll()

? ' '

? ' '

 ? 'Минимальная степендия : '

 ? stepmin

ENDPROC

PROCEDURE Query3

 go top

 ClearAll()

? ' '

? ' '

? 'Средняя степендия '

st=0

SCAN

st=st+степендия

*   ? степендия

ENDSCAN

   ? INT(st/reccount())

ENDPROC

PROCEDURE Query4

 go top

 ClearAll()

? ' '

? ' '

? 'Степендия от 100 до 300'

SCAN FOR степендия>100 AND степендия<300

   ? фамилия,степендия

*   ? степендия

ENDSCAN

ENDPROC

PROCEDURE Query5

 go top

 ClearAll()

? ' '

? ' '

? 'Студенты РТФ и ФТФ'

SCAN FOR факультет='РТФ' OR факультет='ФТФ'

   ? фамилия,факультет

ENDSCAN

ENDPROC

PROCEDURE Query6

 go top

 ClearAll()

? ' '

? ' '

? 'Студенты АВТ'

SCAN FOR факультет='АВТ'

   ? фамилия,факультет

ENDSCAN

ENDPROC

* конец файла newmenu.prg