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

EMPTY(eExpression)

Параметры

eExpression

Определяет выражение, как параметр функции EMPTY( ). Вы можете задавать выражения следующих типов: Character, Numeric, Date, Varbinary, Blob, или Logical, или имя поля таблицы типаMemo или General.

Expand imageВозвращаемое Значение

Логическое. EMPTY( ) возвращает True (.T.) если выражение eExpression - пустое; в противном случае, EMPTY( ) возвращает False (.F.).

Функция EMPTY( ) возвращает значение True (.T.) в следующих случаях:

Тип выражения Его значение

Blob

Пусто (0h) или содержит нулевые значения, например, 0h00, 0h000000, и так далее...

Character

Пустая строка, пробелы, табуляция, перевод строка, возврат коретки, или их комбинации

Currency

0

Date

Пустая дата, например, CTOD('')

DateTime

Пустое время, например, CTOT('')

Double

0

Float

0

General

Пустой объект (не OLE объект)

Integer

0

Logical

False (.F.)

Memo

Пусто (без данных)

Numeric

0

Varbinary

Пусто (0h) или содержит нулевые значения, например, 0h00, 0h000000, и так далее...

Expand imageКомментарии

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

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

  CopyCode imageКопировать Код
goMyForm = CREATEOBJECT('Form')
WAIT WINDOW IIF(TYPE('goMyForm') = 'O' AND !ISNULL(goMyForm), ;
'goMyForm has valid object reference',;
'goMyForm does not have valid object reference')

Expand imageПример

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

  CopyCode imageКопировать Код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Open customer table

FOR nCount = 1 TO TAGCOUNT( )
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

Expand imageСм. также