Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

5.5.2.6. Инициализация переменных

Команды

STORE eExpression TO VarNameList | ArrayNameList

или

VarName | ArrayName = eExpression

определяют значения переменных (заносят в них значения).

Параметры:

eExpression – выражение, значение которого заносится в переменную, скалярную или массив. В качестве имени переменной может быть указан элемент массива.

VarNameList – список имен определяемых переменных. Имена переменных разделяются запятыми.

ArrayNameList – список имен существующих массивов, элементы которых получат значение eExpression. Инициализации массива будет выполнена, если SET COMPATIBLE установлен в OFF. Если SET COMPATIBLE установлен в ON, то команда STORE или = создаст скалярные переменные, имена которых совпадают с именами массивов. Массивы из памяти будут удалены.

Максимально допустимое число скалярных переменных и массивов в VFP ограничено (табл. 5.2).

Таблица 5.2

Ограничения на скалярные переменные и массивы

Характеристика

Значение

Максимальное число скалярных переменных

65000

Максимальное число массивов

65000

Максимальный размер памяти, занимаемый массивом

2 ГБ

Данные взяты из справки VFP, раздел System Capacities.

Пример 1. Инициализируются переменные разных типов.

store Date( ) to gdDate1, gdDate2

store 50 to gnNumeric && или: gnNumeric = 50

store 'Hello' to gcCharacter

store .T. to glLogical

store $19.99 to gyCurrency

&&

dimension gaMyArray(2,2)

set compatible off

store 2 to gaMyArray

&&

clear

display memory like g*

Пример 2. Демонстрация влияния установки SET COMPATIBLE.

set compatible off

declare someArray(5)

someArray = 2.5 && или: store 2.5 to someArray

someArray(3) = 3.5

? someArray(3), someArray(4) && Напечатает: 2.5 3.5

set compatible on

&& После следующего присваивания someArray – это скалярная переменная

someArray = 2.5

? someArray && Напечатает: 2.5

? someArray(3) && Генерируется ошибка

5.5.2.7. Освобождение переменных

Команды

RELEASE MemVarList

или

RELEASE ALL [EXTENDED]

или

RELEASE ALL [LIKE Skeleton | EXCEPT Skeleton]

удаляют переменные (скалярные и массивы) из памяти.

Опции и параметры:

MemVarList – список освобождаемых переменных. Имена переменных в списке разделяются запятыми.

ALL – освобождаются все переменные. При употреблении в программе глобальные переменные не освобождаются.

EXTENDED – обеспечивает при вызове в программе удаление из памяти глобальных переменных.

LIKE Skeleton | EXCEPT Skeleton – освобождают переменные, отвечающие маске Skeleton, или ей не отвечающие. Маска может содержать символы ? и *. При употреблении в программе глобальные переменные не освобождаются.

Команда

CLEAR ALL

освобождает из памяти все переменные (скалярные и массивы), определения пользовательских меню и окон, а также функции, зарегистрированные DECLARE – DLL.

Выполнение команды в обработчике события или методе активного элемента управления вызовет ошибку VFP: переменная типа Object не может быть освобождена, когда ассоциированный с ней элемент управления или объект является активным.

Команда

CLEAR MEMORY

освобождает из памяти все глобальные и частные переменные (скалярные и массивы). Системные переменные не освобождаются.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]