This is the legacy 4D documentation web site. Documentations are progressively being moved to developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
Null
|
Null -> Function result | ||||||||
Parameter | Type | Description | ||||||
Function result | Null |
![]() |
Null value | |||||
Null returns the Null type value null.
This function allows you to assign or compare the null value to the following language elements:
Language elements | Comments |
object property values | Comparing Null to an object property returns true if the property value is null, and false otherwise. To simplify code, comparing Null also returns true if the property does not exist in the object (i.e. is Undefined), see example 4. |
collection elements | When a collection is expanded by adding non-adjacent elements, any intermediary elements get automatically the null value. |
object variables (C_OBJECT) | See (*) below |
collection variables (C_COLLECTION) | See (*) below |
pointer variables (C_POINTER) | See (*) below |
picture variables (C_PICTURE) | (*) Assigning the null value to such a variable type clears its contents. In this case, it has the same effect as calling the CLEAR VARIABLE command. |
variant variables (C_VARIANT) |
Note: This command cannot be used with scalar database fields. Null values in database fields are managed by the SQL engine, and are handled through the Is field value Null and SET FIELD VALUE NULL commands,
You want to assign and test the null value to an object property:
C_OBJECT(vEmp)
vEmp:=New object
vEmp.name:="Smith"
vEmp.children:=Null
If(vEmp.children=Null) //true
End if
If(vEmp.name=Null) //false
End if
If(vEmp.parent=Null) //true
End if
Note: This example requires that the object notation is activated in the database.
You want to assign and compare the null value to a collection element:
C_COLLECTION(myCol)
myCol:=New collection(10;20;Null)
...
If(myCol[2]=Null)
// if the 3rd element is null
...
End if
These examples show the various ways to assign or compare the null value to variables:
//Object variable
C_OBJECT($o)
$o:=New object
$o:=Null //equivalent to CLEAR VARIABLE($o)
If($o#Null) //equivalent to If (OB Is defined($o))
End if
//Collection variable
C_COLLECTION($c)
$c:=New collection
$c:=Null //equivalent to CLEAR VARIABLE($c)
If($c#Null)
End if
//Pointer variable
C_POINTER($p)
$p:=->$v
$p:=Null //equivalent to CLEAR VARIABLE($p)
If($p=Null) //equivalent to If (Is Nil pointer($p))
End if
//Picture variable
C_PICTURE($i)
$i:=$vpicture
$i:=Null //equivalent to CLEAR VARIABLE($i)
If($i#Null) //equivalent to If (Picture size($i)#0)
End if
Here are the different results of the Undefined command as well as the Null command with object properties, depending on the context:
C_OBJECT(vEmp)
vEmp:=New object
vEmp.name:="Smith"
vEmp.children:=Null
$undefined:=Undefined(vEmp.name) // False
$null:=(vEmp.name=Null) //False
$undefined:=Undefined(vEmp.children) // False
$null:=(vEmp.children=Null) //True
$undefined:=Undefined(vEmp.parent) // True
$null:=(vEmp.parent=Null) //True
Product: 4D
Theme: Language
Number:
1517
Created: 4D v16 R4
4D Language Reference ( 4D v19)
4D Language Reference ( 4D v19.1)
4D Language Reference ( 4D v19.4)
4D Language Reference ( 4D v19.5)
4D Language Reference ( 4D v19.6)
4D Language Reference ( 4D v19.7)
4D Language Reference ( 4D v19.8)