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

Имя переменной в Visual FoxPro

« Назад

Имя переменной может включать буквы (английского и/или русского алфавита), цифры и знаки подчеркивания и начинаться либо с буквы, либо со знака подчеркивания. Принципы формирования имен переменных приведены в разд. 1.1.3.1.

Если имя переменной (константы) совпадает с одним из зарезервированных имен VFP, то его начертание в текстовом окне VFP примет синей цвет, или черный – в противном случае.

Примеры допустимых имен переменных:

varName = 5.2

_var_Name = 5.2

перемИмя = 5.2

? varName, _var_Name, перемИмя         && Напечатает: 5.20   5.20   5.20

Замечание. В VFP определены многочисленные так называемые системные переменные, хранящие употребляемые для системных нужд значения. Например, системная переменная _DIARYDATE содержит дату системного календаря VFP (см. разд. 3.9.9.2). При начале работы приложения системные переменные инициализируются значениями по умолчанию. Так, системная переменная _DIARYDATE при запуске приложения получает значения текущей (системной) даты. В процессе исполнения значения системных переменных могут быть изменены как VFP, так и пользователем. Имена системных переменных начинаются со знака подчеркивания.

Регистр букв в имени переменных не имеет значения. То есть имена VARName, VARNAME и varname трактуются VFP как имя одной и той же переменной.

Имени переменной может предшествовать буква m с последующей точкой, например:

local m.lVar1, lVar2     && Употребляем префикс m. для переменной lVar1

? lVar1, m.lVar2  && Употребляем префикс m. для переменной lVar2

Такой префикс необходим, когда переменные создаются командой SCATTER: он позволяет отличить их от одноименных полей таблицы. Тип переменных, созданных SCATTER, совпадает с типом соответствующих полей таблицы.

&& Таблица Books должна быть открыта

select Books

&& Таблица Books имеет поля BookId, Book и Price

&& Создаются переменные m.BookId, m.Book и m.Price,

&& имеющие пустые значения (поскольку указана опция BLANK)

&& Тип переменных совпадает с типом породивших их полей таблицы

scatter memvar blank

&& Тестируем значения переменных, созданных командой SCATTER

? Empty(m.BookId), Empty(m.Book)      && Напечатает:  .T.  .T.

&& Тестируем значения полей таблицы Books

? Empty(BookId), Empty(Book)     && Напечатает:  .F.  .F.