Сохранение переменных
Следующая команда сохраняет в <файле> или <мемо-поле> с заданным именем все или часть из имеющихся к текущему моменту переменных:
SAVE TO <файл>/ТО MEMO <мемо-поле> [ALL LIKE/EXCEPT <маска>]
Если задано ALL LIKE, то сохраняются только переменные, соответствующие маске, если ALL EXCEPT - все, за исключением соответствующих маске. По умолчанию имени файла придается расширение MEM. Маска может содержать знаки, принятые в MS DOS: "?" и "*". Примеры сохранения переменных в файле FFF.MEM:
SAVE TO fff && сохраняются все переменные;
SAVE TO fff EXCEPT ??d* USE kadr &&сохраняются все переменные, кроме тех, которые в
качестве третьей буквы имени имеют D;
Если файл, в котором вы хотите сохранить переменные, уже существует, FoxPro сообщит об этом строкой
<ФАЙЛ> already exists, overwrite it? т.е. "<ФАЙЛ> уже существует, перезаписать его?". Выбором пункта меню Yes файл будет обновлен. В программе такие предупреждающие сообщения обычно подавляются (по умолчанию ON) командой
• SET SAFETY OFF
Команда действует при перезаписи не только МЕМ-файлов, но и всех других типов файлов, а также при очистке баз данных и некоторых других необратимых действиях.
Загрузка переменных в память
При необходимости работать с ранее сохраненными переменными используется команда
• RESTORE FROM <файл>/FРОМ MEMO <мемо-поле> [ADDITIVE]
Команда загружает в память все переменные из указанного файла типа MEM или <мемо-поля>. Все имеющиеся в памяти к этому времени переменные уничтожаются. Чтобы этого избежать, можно включить фразу ADDITIVE.
Пример: RESTORE FROM fff ADDITIVE
Удаление временных переменных
Активное использование временных переменных позволяет строить эффективные и быстрые системы обработки данных. Однако возможности сохранения в памяти компьютера значительного числа таких переменных ограничены ее емкостью. Ввиду этого память следует при необходимости периодически очищать от ненужных в данный момент или сохраненных в МЕМ-файлах переменных командой RELEASE:
• RELEASE <переменные>/RELEASE ALL [LIKE/EXCEPT <маска>]
Команда удаляет только указанные <переменные>, или все (ALL), или соответствующие (LIKE), или не соответствующие (EXCEPT) <маске>. Уничтожение всех переменных может быть выполнено также командой
• CLEAR MEMORY
Просмотр переменных
В любой момент при отладке программ может понадобиться просмотр переменных памяти. Использование команды "?" слишком трудоемко при просмотре большого количества переменных. Следующая команда предъявляет сразу все нужные переменные памяти:
• DISPLAY MEMORY [LIKE <маска>] [ТО PRINTER/FILE <файл>]
Команда показывает с паузами после выдачи каждых 20 строк все активные переменные и массивы, их статус (PUBLIC или PRIVATE), тип и значения. Кроме того, она показывает размер памяти, занятой под переменные, окна и меню. Если нужно просмотреть только все пользовательские переменные, введите команду DISPLAY MEMORY LIKE *. Аналогичные функции, но без остановок, выполняет команда LIST MEMORY.