Использование переменных

Сейчас мы поговорим об еще одном типе данных, широко используемом в Visual FoxPro. Это переменные памяти. При их использовании необходимо соблюдать некоторые правила:

• имя переменной не может содержать более 255 символов;
• имя переменной должно начинаться с буквы;
• в именах переменных не допускается использование пробелов и специальных символов (использование цифр и знаков подчеркивания допустимо);
• имя переменной не должно совпадать с зарезервированными словами FoxPro. Зарезервированные слова — название команд языка, например уже знакомая нам replace и т. д.

Да уж, в первом пункте (255 символов) разработчики явно расщедрились. Вероятно, это сделано специально для фанатов машинописи…

Так что такое переменная памяти?

MyVar =456, где MyVar — это имя переменной. Используя знак равенства, мы присваиваем ей значение 456.

В отличие от полей таблиц, нам не нужно заранее определять тип используемых переменных. Дело в том, что переменные в Visual FoxPro имеют “слабую типизацию”. Это означает, что при определенных условиях одна и та же переменная может использовать данные различных типов. Например:

MyVar = 456 && в этом случае в переменной хранится число 456

MyVar = “Fox Pro” && а теперь в этой же переменной находится && строка символов

Хорошо это или плохо? Однозначно ответить трудно. Для разработчиков Приложений в среде Visual FoxPro это, возможно, удобно — нет необходимости заранее определять типы переменных, которых может быть довольно много. Но с другой стороны, возникает проблема совместимости с другими языками высокого уровня, например в C++ необходимо заранее определить типы используемых переменных.

Ты спросишь: “И что, одну и ту же переменную можно использовать во всем приложении?” Не всегда, дружок, не всегда… За это отвечает параметр, определяющий так называемую область видимости переменной и принимающий следующие значения: Public, Private, Local.

Переменная, объявленная как Public (Глобальная), “видна” в любой программе приложения. Под программой подразумевается любой файл, входящий в состав проекта.

Переменная с областью видимости Private (Закрытая) используется только в текущей программе (процедуре, методе).

Переменная Local (Локальная) будет работать только в текущей процедуре.

Объявление области видимости происходит так:

Local MyVar, MyVarl,…, MyVarn

т. е. перед именем переменных указываем необходимый параметр.

Как задать переменной то или иное значение? Можно использовать, как показано ранее, знак равенства. Но если предполагается использовать несколько переменных с одинаковыми значениями, то удобнее применять команду STORE. Синтаксис следующий:

1
STORE 456 ТО MyVar, MyVarl, MyVar2

В случае символьных строк необходимо использовать кавычки:

1
STORE "Moscow" TO MyCity, MyTown, MyRegion, Adress

В отличие от “долгожителей” — таблиц, переменные памяти “живут” только во время работы приложения или сеанса Visual FoxPro. Именно поэтому они в основном используются для промежуточных вычислений, хотя доступ к ним осуществляется намного быстрее, чем к полям таблиц.

И еще немного об именах переменных и полей таблиц. Конечно, ты можешь называть их как угодно, главное — соблюдать известные правила. Но в последнее время среди программистов принято негласное соглашение о присвоении имен. Все просто — перед именем переменной или поля следует указывать префикс из двух прописных букв, показывающих область видимости и тип переменной. Например, переменную, объявленную как Local и хранящую числовые значения, можно назвать как lnMyVar, где i — Local, an— Numeric.

Для чего все это делается? В первую очередь для тебя самого: приложения могут быть очень большими, содержащими огромное количество различных переменных, и не исключено, что ты сам в них запутаешься. Во-вторых, когда приложение разрабатывается группой людей, использование префиксов является более чем обоснованным.

Использование префиксов не является обязательным условием, это твое личное дело, но следование этим правилам считается “хорошим тоном” программирования.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100