EMPTY( )-Funktion
Wertet aus, ob ein Ausdruck leer ist.
EMPTY(eExpression)
Rückgabewerte
Logisch
Parameter
eExpression
Gibt den Ausdruck an, der von EMPTY( ) ausgewertet wird.Sie können in einer geöffneten Tabelle einen Ausdruck vom Typ Numerisch, Logisch, Zeichen oder Datum oder auch den Namen eines Feldes vom Typ Memo oder Objekt angeben. Bei der folgenden Auswertung der Ausdrücke gibt EMPTY( ) den Wert Wahr (.T.) zurück:
Art des Ausdrucks Auswertung Zeichen Leere Zeichenfolge, Leerstellen, Tabulatoren, Wagenrückläufe, Zeilenvorschübe, auch in Kombination. Numerisch 0 Währung 0 Gleitkomma 0 Integer (ganze Zahl) 0 Double 0 Datum Leer (z. B. CTOD(")) DatumZeit Leer (z. B. CTOT(")) Logisch Falsch (.F.) Memo Leer (kein Inhalt) Objektfeld Leer (kein OLE-Objekt) Bildfeld Leer (kein Bild) Sie können die EMPTY( )-Funktion nicht verwenden, um festzustellen, ob eine Objektverweisvariable leer ist. Es besteht z. B. die Möglichkeit, dass eine Variable einen Objektverweis für ein Formular enthält. Falls das Formular aus dem Systemmenüfeld oder mit CLEAR WINDOWS geschlossen wird, ist der Wert der Variablen gleich 0.
Im folgenden Beispiel wird die Gültigkeit einer Objektverweisvariablen durch TYPE( ) und ISNULL( ) bestimmt.
goMyForm = CREATEOBJECT('Form') WAIT WINDOW IIF(TYPE('goMyForm') = 'O' AND !ISNULL(goMyForm), ; 'goMyForm has valid object reference',; 'goMyForm does not have valid object reference')
Hinweise
EMPTY( ) gibt den Wert Wahr (.T.) zurück, wenn der Ausdruck eExpression als leer ausgewertet wird. Andernfalls gibt EMPTY( ) den Wert Falsch (.F.) zurück.
Beispiel
Im folgenden Beispiel wird die Tabelle customer
in der Datenbank testdata
geöffnet. FOR ... ENDFOR wird für eine Schleife verwendet, in der mit Hilfe von EMPTY( ) bestimmt wird, ob TAG( ) die leere Zeichenfolge zurückgibt. Der Name aller Indizes des Strukturindexnamens wird mit deren potenziellen Indexstatus angezeigt.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + '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