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

Команды, функции и объекты в Visual FoxPro

« Назад

Команды и функции разделены на две категории. Для команд и функций первой категории даются их полные описания, команд и функций второй – только назначение. И в первом и во втором случаях изложение сопровождается примерами. Сокращенный вариант представления команд и функций используется по одной причине – сокращение размера пособия.

Свойства, методы и события объектов рассматриваются, как правило, на примерах их употребления. В редких случаях даются их развернутые описания.

В пособии не описываются команды, функции и свойства объектов, сохраненные в VFP для совместимости с предыдущими версиями программы.

Команда VFP в общем случае имеет имя, опции и параметры, например в команде

APPEND [BLANK] [IN nWorkArea | cTableAlias] [NOMENU]

APPEND – имя команды;

BLANK, IN и NOMENU – опции команды;

nWorkArea и cTableAlias – параметры команды.

Функция VFP в общем случае имеет имя и параметры, например:

TAGNO ([IndexName [, CDXFileName [, nWorkArea | cTableAlias]])

Необязательные опции и параметры заключаются в квадратные скобки, например [BLANK] – эта опция может быть опущена. Также могут быть опущены все параметры функции TAGNO( ).

Взаимозаменяемые опции и параметры разделяются вертикальной, интерпретируемой как "или" чертой, например nWorkArea | cTableAlias. Иными словами команда APPEND может быть употреблена либо с параметром nWorkArea, либо с параметром cTableAlias, например:

close tables

use Authors in 1

append in 1

&& или:

append in Authors

Тип параметра в определениях команд и функций записывается по следующей схеме:

typeName

в которой type – это символ, указывающий на тип параметра (табл. 1.5).

Таблица 1.5

Возможные значения type

type

Описание

Пример

c

Character (символьный тип)

cTableAlias

m

Currency (валюта)

mExpression

d

Date (дата)

dExpression

t

DateTime (дата и время)

tExpression

n

Любой числовой

nExpression

o

Object

oObjectName

e

Любой тип

eExpression

Например, в следующем определении функции

ADDPROPERTY(oObjectName, cPropertyName, [, eNewValue])

первый и второй параметры имеют соответственно тип Object и Character, а третий параметр может быть любого типа.

Параметр функции – это выражение, в качестве которого может, в частности, употребляться переменная или константа, например:

x = 0.5

y = Sin(x)                            && Параметр функции – переменная

y = Sin(0.5)                         && Параметр функции – константа

&& Параметры функций Sin( ), Max( ) и Sqrt( ) – выражения

y = Sin(Max(Sqrt(2 * x), 1.2))

Параметры команд – это литералы, то есть используемые без кавычек значения констант. Если в качестве параметра в команде нужно подставить выражение, то употребляется макроподстановка или выражение c именем, например:

close tables

tableName = 'd:\HomeLibrary\Authors'

var1 = 10

nWorkArea = var1 / 2

cTableAlias = 'Authors'

&& Применяем выражения с именем

use (tableName) in (nWorkArea)

&& Применяем макроподстановку или выражение с именем

append in &cTableAlias     && или: append in (cTableAlias)

Во многих примерах используется описанный в разд. 2.2 проект HomeLibrary. Путь к проекту и его файлам указывается явно, например d:\HomeLibrary. Поэтому, если пример будет воспроизводиться на другом компьютере, придется, скорее всего, откорректировать имена файлов.

Тестовые файлы разных видов, не входящие в проект HomeLibrary, размещаются в корневой директории диска d:\. Поэтому, если такой файл создается заимствованным из справки VFP примером, в его имя вносятся соответствующие изменения.

Некоторые взятые из справки примеры адресуют поставляемую с системой тестовую базу данных TestData. Поскольку расположение базы и значение системной переменной _SAMPLES сохранены, то для открытия базы данных употребляется, как и в примерах справки VFP, команда

open database (Home(2) + 'Data\TestData')