Система управления базами данных Visual FoxPro5.0 - от начальных навыков к профессиональной работе. Крушель Е.Г - 66 стр.

UptoLike

Составители: 

112
&& программы, на которой она была прервана.
*Конец Головной программы
*Подпрограмма показа BROWSE
PROCEDURE start
CLEAR
CLOSE DATABASES && команда закрывает все файлы
&& баз данных (*.dbf),возможно,
&& открытые ранее
CLEAR WINDOWS
filename2="students" && Создаются переменные памяти
filename1="studolimp" && filename1,2 для хранения имен файлов.
inde2=" students"
inde1=" studolimp"
*Цикл открытия файлов и создания окон по числу файлов
i=1 && Инициализация цикловой переменной.
DO WHILE i<=2 &&
Условие возврата в цикл.
is=STR(i,1) && Преобразование в символьную строку
&& длиной 1 символ для "подсадки"
&& в имена окон w1,w2,w3.
DEFINE WINDOW w&is FROM 2+6*(i-1),3+7*(i-1);
TO 10+6*(i-1),50+7*(i-1) FOOTER "Окно w"+is;
TITLE filename&is CLOSE FLOAT GROW ZOOM && Создание окон.
ACTIVATE WINDOW w&is
SELECT &is && Выбор рабочей области
USE &filename&is
SET ORDER TO TAG ФИО IN &inde&is && и открытие в ней
&& соответствующего файла
&& (обязательно индексированного).
IF i=1 && быстрый показ служебных файлов.
BROWSE WINDOW w&is SAVE TIMEOUT 0.5
&& можно NOWAIT вместо TIMEOUT.
&& Образ окна будет
на экране после
&& его закрытия (SAVE).
&& Через 0.5 секунды программа
&& автоматически продолжится без
&& нажатия Esc (TIMEOUT 0.5).
&& NOWAIT - продолжает программу
&& без перерыва.
ENDIF
i=i+1 && наращивание цикловой переменной
ENDDO && Операторная скобка конца цикла
*В результате выполнения цикла активным остается окно w3,
* а активной базой данных - stud.dbf в рабочей области 3.
*Установление связи
между базами данных по номеру записи
SET RELATION TO ФИО INTO 1
SET SKIP TO 1 && установление связи
&& одна_запись__со_многими
BROWSE WINDOW w2 && Показ активной базы данных
&& с показом соответствующих записей
&& в служебных файлах, связанных командой
&& SET RELATION..
                                       112

                                     && программы, на которой она была прервана.
*Конец Головной программы
*Подпрограмма показа BROWSE
PROCEDURE start
CLEAR
CLOSE DATABASES                      && команда закрывает все файлы
                                     && баз данных (*.dbf),возможно,
                                     && открытые ранее
CLEAR WINDOWS
filename2="students"                 && Создаются переменные памяти
filename1="studolimp"                && filename1,2 для хранения имен файлов.
inde2=" students"
inde1=" studolimp"

*Цикл открытия файлов и создания окон по числу файлов
i=1                                       && Инициализация цикловой переменной.
DO WHILE i<=2                             && Условие возврата в цикл.
       is=STR(i,1)                        && Преобразование в символьную строку
                                          && длиной 1 символ для "подсадки"
                                          && в имена окон w1,w2,w3.
       DEFINE WINDOW w&is FROM 2+6*(i-1),3+7*(i-1);
              TO 10+6*(i-1),50+7*(i-1) FOOTER "Окно w"+is;
              TITLE filename&is CLOSE FLOAT GROW ZOOM && Создание окон.
       ACTIVATE WINDOW w&is
       SELECT &is                         && Выбор рабочей области
       USE &filename&is
       SET ORDER TO TAG ФИО IN &inde&is                && и открытие в ней
                                          && соответствующего файла
                                          && (обязательно индексированного).
       IF i=1                             && быстрый показ служебных файлов.
              BROWSE WINDOW w&is SAVE TIMEOUT 0.5
                                          && можно NOWAIT вместо TIMEOUT.
                                          && Образ окна будет на экране после
                                          && его закрытия (SAVE).
                                          && Через 0.5 секунды программа
                                          && автоматически продолжится без
                                          && нажатия Esc (TIMEOUT 0.5).
                                          && NOWAIT - продолжает программу
                                          && без перерыва.
       ENDIF
       i=i+1                              && наращивание цикловой переменной
ENDDO                                     && Операторная скобка конца цикла
*В результате выполнения цикла активным остается окно w3,
* а активной базой данных - stud.dbf в рабочей области 3.

*Установление связи между базами данных по номеру записи
SET RELATION TO ФИО INTO 1
SET SKIP TO 1                         && установление связи
                                      && одна_запись__со_многими
BROWSE WINDOW w2                      && Показ активной базы данных
                                      && с показом соответствующих записей
                                      && в служебных файлах, связанных командой
                                      && SET RELATION..