Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
12.65 Mб
Скачать

2.4.2. Константы

Константы различных типов данных отображаются в командах следующим образом:

  1. числовые в общепринятом десятичном виде с десятичной точкой и знаком числа при необходимости (11, 12.123, -15, -123.478);

  2. символьные константы в FoxPro выделяются апострофами, кавычками или квадратными скобками. В том случае, если сами символы-ограничители яв­ляют­ся элементами данных, вся строка должна быть заключена в другие разрешенные ограничители ([Кинотеатр “Ударник“]);

  3. константы типа дата берутся в фигурные скобки ({09.11.91}). Пустая дата может быть задана одними фигурными скобками.

  4. логические константы (.T./.F. ‑ истина/ложь) обрамляются точками.

2.4.3. Переменные

В FoxPro нет команды объявления простых переменных (они объяв­ляют­ся неявно со значением .F. при первом их использовании). Поэтому и отсутствует понятие типа переменной при ее определении (переменная может принимать зна­чение любого типа). Однако, при присвоении значения переменной, она получает соответствующий тип, который можно определить функцией VarType (<Выр>).

Переменные бывают локальные и глобальные.

Локальные пере­менные указываются командой:

{Private|Local} {<имена локальных переменных>|All |

[Like | Except <шаблон>]},

Allвсе переменные в программе являются локальными.

Like/Except <шаблон> ‑ имена локальных переменных соответствуют/не соответствуют шаблону. Шаблон может содер­жать спе­ци­аль­ные символы * и ?, аналогично маске файла (Private Like X*).

Local-переменных, которые в отличие от Private-переменных извест­ны только в процедуре или в функции, где они объявлены, и недоступны в вызываемых процедурах и функциях. Private-переменные в этих процеду­рах и функциях доступны и могут использоваться.

При выполнении программы, содержащей локальные перемен­ные, все переменные с такими же именами будут “скрыты“ от пользо­ва­те­ля до за­вер­шения программы. При завершении программы значения локальных пере­менных, “скры­тых“ командой Private, восстанавливаются.

В отличие от Public команда Private не создает временных перемен­ных или массивов, перечисленных в команде. Они сначала должны быть созданы командами Declare или Dimension.

Глобальные переменные создаются командой:

Public [ <список переменных>],...

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

Удаление из памяти переменных производится командой:

Release {<имена удаляемых переменных>|All| [Like | Except <шаблон>]},

Allудаляются все переменные программы.

Like/Except <шаблон> ‑ удаляются переменные, имена которых соответ­ству­ют/не соответствуют шаблону (Release Like X*).

2.4.4. Массивы

Массивы объявляются командами: Dimension или Declare (локаль­ные мас­си­вы) и Public (глобальные массивы):

{Dimension|Public}<имя массива>(<размерность1>[,<размерность2>]),...

Элементы массива временных переменных могут содержать дан­ные любого типа, что позволяет использовать массив в качестве записи. Когда элементы массива определяются командой, они ини­­­циализируются логическим значением .F..

Пример. Dimension А(3,8), B(4).

Здесь описываются два массива: двумерный массив А (размерностью 3 8) и одномерный В (длиной четыре элемента).

При описании массива и обращении к его элементам разрешено использовать круглые или квадратные скобки. Разрешается повторное описание существующего массива (динамические массивы), причем име­ю­щи­еся данные не будут утрачены.

Если в программе имеется переменная, одноименная полю таблицы, то приоритет поля выше. Но если имя переменной уточнить буквой “M”, то переменная будет иметь больший приоритет (М.Fam=”Иванов”).