Функция EMPTY()

Определяет, является ли значение выражения пустым.

Синтаксис:

EMPTY(eExpression)

Параметры:
eExpression
Задает выражение, вычисляемое функцией EMPTY(). Это может быть выражение символьного, числового, логического типа или типа даты или имя поля типа Memo или General в открытой таблице. EMPTY() возвращает значение "истина" (.T.) в следующих случаях:

Тип выраженияВычисленное значение
CharacterПустая строка, пробелы, табуляторы, возвраты каретки, переводы строки или любая комбинация этих элементов.
Number0
Currency0
Float0
Integer0
Double0
DateПустое (например CTOD(''))
DateTimeПустое (например CTOT(''))
Logical"Ложь" (.F.)
MemoПустое (нет содержимого)
GeneralПустое (нет объекта OLE)
PictureПустое (нет рисунка)

Учтите, что с помощью функции EMPTY( ) нельзя определять, является ли пустой ссылка на объект в виде переменной памяти. Пусть переменная памяти содержит ссылку на объект для элемента управления Form. Если форма закрывается с помощью ее управляющего меню или по команде CLEAR WINDOWS, эта переменная памяти будет содержать значение NULL.

Приведенный ниже пример программы демонстрирует, как с помощью функций TYPE( ) и ISNULL( ) можно определить, является ли допустимой переменная памяти со ссылкой на объект.

goMyForm = CREATEOBJECT('Form')
WAIT WINDOW IIF(TYPE('goMyForm') = 'O' AND !ISNULL(goMyForm), ;
	'goMyForm has valid object reference',;
	'goMyForm does not have valid object reference')

Результат:
Логический.

Комментарии:
Функция EMPTY() возвращает значение "истина" (.T.), если выражение eExpression имеет пустое значение, в противном случае EMPTY( ) возвращает "ложь" (.F.).

Пример:

* В следующем примере открывается таблица customer в базе данных
* testdata. Структура FOR ... ENDFOR используется для организации цикла, в
* котором функция EMPTY( ) определяет, возвращает ли TAG( ) пустую
* строку. На экран выводится имя каждого тега структурного индекса
* вместе с статусом индекса-кандидата.

CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer	  && Open customer table

FOR nCount = 1 TO 254
	IF !EMPTY(TAG(nCount))  && Checks for empty string
	? TAG(nCount)  && Display tag name
	? CANDIDATE(nCount)  && Display candidate status
	ELSE
		EXIT  && Exit the loop when no more tags are found
	ENDIF
ENDFOR

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 12.01.2003