Определяет, является ли значение выражения пустым.
Синтаксис:
EMPTY(eExpression)
Параметры:
eExpression
Задает выражение, вычисляемое функцией EMPTY(). Это может быть выражение символьного, числового, логического типа или типа даты или имя поля типа Memo или General в открытой таблице. EMPTY() возвращает значение "истина" (.T.) в следующих случаях:
Тип выражения | Вычисленное значение |
---|---|
Character | Пустая строка, пробелы, табуляторы, возвраты каретки, переводы строки или любая комбинация этих элементов. |
Number | 0 |
Currency | 0 |
Float | 0 |
Integer | 0 |
Double | 0 |
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