Распечатать страницу

Инициализация переменных в Visual FoxPro

« Назад

Команды

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)                   && Генерируется ошибка