Переменные
существуют, пока выполняется приложение или продолжается сеанс Visual FoxPro, в котором они были созданы. Чтобы задать
область видимости переменной, употребляются ключевые слова LOCAL, PRIVATE и PUBLIC.
· Ключевое слово LOCAL создает локальные переменные, которые
могут использоваться и модифицироваться только в той программе, где были
созданы, и которые недоступны в программах более высокого или более низкого
уровня. Локальные переменные и массивы освобождаются при прекращении выполнения
содержащей их программы.
· Ключевое слово PRIVATE скрывает от текущей программы переменные
и массивы, определенные в вызывающей программе. Имена таких переменных можно
использовать в текущей программе, не влияя на исходные переменные. Когда
программа, содержащая объявление с ключевым словом PRIVATE, оканчивается, все скрытые переменные и
массивы снова становятся доступными.
· Ключевое слово PUBLIC определяет глобальные переменные или
массивы. Глобальные переменные и массивы могут использоваться и
модифицироваться из любой программы, запускаемой в текущем сеансе Visual FoxPro. Все переменные и массивы, создаваемые в
окне Command, являются
глобальными.
Если
переменная имеет то же имя, что и поле, Visual FoxPro всегда отдает предпочтение имени поля.
Для того, чтобы знать какие переменные находятся в памяти в данный
момент и чему равно их значение, воспользуйтесь процедурой DisplayMemory.
Для вызова ее в нужный момент времени включите в текст головного модуля
строчку: ON KEY LABEL F2 DO DisplayMemory. Теперь при нажатии клавиши F2 всегда можно получить карту состояния
памяти (рис. 4.30).
Текст процедуры
размещен в процедурном файле FileProc:
PROCEDURE DisplayMemory && Состояние памяти
PRIVATE FileName
* Имя временного файла - Display.txt
FileName='C:\WINNT\TEMP\Display.txt'
* Разместить состояние памяти в файле
DISPLAY MEMORY TO FILE &FileName NOCONSOLE
* Просмотреть при помощи программы Блокнот
RUN /N1 NOTEPAD.EXE &FileName
* Удалить временный файл
DELETE FILE &FileName
RETURN