Saltar para o conteúdo principal
Versão: 20 R10 BETA

Null

Null : Null

ParâmetroTipoDescrição
ResultadoNullNull value

Descrição

Null devolve o valor null de tipo null.

Esta função permite afetar ou comparar o valor null dos seguintes elementos da linguagem 4D:

Elementos da linguagemComentários
Valores de propriedades de objetosA comparação de Null com uma propriedade de objeto devolvido True se o valor da propriedade for null, senão false. Para simplificar o código, comparar Null também retorna true se a propriedade não existir no objeto (ou seja Undefined), ver exemplo 4.
Elementos de coleçõesQuando uma coleção for expandida adicionando elementos não adjacentes, todos os elementos intermediários obtêm automaticamente o valor null.
Variáveis de tipo objeto (C_OBJECT)Ver (*) abaixo
Variáveis de tipo coleção (C_COLLECTION)Ver (*) abaixo
Variáveis de tipo ponteiro (C_POINTER)Ver (*) abaixo
Variáveis de tipo imagem (C_PICTURE)(*) Atribuir o valor null a uma variável deste tipo apaga seu conteúdo. Neste caso, tem o mesmo efeito que chamar ao comando CLEAR VARIABLE
Variáveis variant (C_VARIANT)

Nota: este comando não pode ser utilizado com campos escalares do banco de dados. Os valores Null nos campos do banco de dados são gerenciados pelo motor SQL e são gestionados através dos comandos Is field value Null e SET FIELD VALUE NULL.

Exemplo 1

Se quiser atribuir e testar o valor null com as propriedades dos objetos:

 var vEmp : Object
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

Nota: este exemplo requer que a notação objeto esteja ativada no banco de dados.

Exemplo 2

Se quiser atribuir e comparar o valor null a um elemento coleção:

 var myCol : Collection
myCol:=New collection(10;20;Null)
...
If(myCol[2]=Null)
// se o 3ro elemento for null
...
End if

Exemplo 3

Esses exemplos mostram as várias formas de atribuir ou comaprar o valor null a variáveis:

 //variável objeto
var $o : Object
$o:=New object
$o:=Null //equivalente a CLEAR VARIABLE($o)
If($o#Null) //equivalente a If (OB Is defined($o))
End if
 //variável coleção
var $c : Collection
$c:=New collection
$c:=Null //equivalente a CLEAR VARIABLE($c)
If($c#Null)
End if
 //variável ponteiro
var $p : Pointer
$p:=->$v
$p:=Null //equivalente a CLEAR VARIABLE($p)
If($p=Null) //equivalente a If (Is Nil pointer($p))
End if
 //Variável imagem
var $i : Picture
$i:=$vpicture
$i:=Null //equivalente a CLEAR VARIABLE($i)
If($i#Null) //equivalente a If (Picture size($i)#0)
End if

Exemplo 4

Abaixo os diferentes resultados do comando Undefined assim como do comando Null com propriedades de objeto, dependendo do contexto:

 var vEmp : Object
vEmp:=New object
vEmp.name:="Smith"
vEmp.children:=Null

$undefined:=Null(vEmp.name) // False
$null:=(vEmp.name=Null) //False

$undefined:=Null(vEmp.children) // False
$null:=(vEmp.children=Null) //True

$undefined:=Null(vEmp.parent) // True
$null:=(vEmp.parent=Null) //True

Ver também

Is field value Null
OB SET NULL
SET FIELD VALUE NULL

Propriedades

Número do comando1517
Thread-seguro

AltStyle によって変換されたページ (->オリジナル) /