Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
New object
|
New object {( propriedade ; valor {; propriedade2 ; valor2 ; ... ; propriedadeN ; valorN} )} -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
propriedade | Texto |
![]() |
Nome da propriedade a criar | |||||
valor | Mixed |
![]() |
Valor da propriedade | |||||
Resultado | Objeto |
![]() |
Novo objeto linguagem | |||||
O comando New object cria um novo objeto vazio ou pré-recheado e devolve sua referência.
Se não passar nenhum parâmetro, New object cria um objeto vazio e devolve sua referência. Deve atribuir esta referência a uma variável 4D declarada com _O_C_OBJECT ou um campo objeto 4D.
Nota: _O_C_OBJECT declara uma variável de tipo Objeto mas não cria nenhum objeto.
Opcionalmente, pode prefixar o novo objeto passando um ou vários pares propriedade/valor como parâmetros:
Note que:
Se passar um ponteiro, é mantido como tal e avaliado quando usar comandos como JSON Stringify,
datas são armazenadas como "yyyy-mm-dd" ou strings com o formato "YYYY-MM-DDTHH:mm:ss.SSSZ", de acordo com as configurações de banco de dados "dates inside objects" (veja Página Compatibilidade). Quando converter datas em texto antes do armazenamento no objeto, por padrão o programa usa a hora local. Pode modificar esse comportamento usando o seletor Dates inside objects ou o comando SET DATABASE PARAMETER.
Se passar uma hora, é armazenada como o número de milissegundos (Real).
Este comando pode criar objeto vazios ou cheios:
C_OBJECT($obj1)
C_OBJECT($obj2)
C_OBJECT($obj3)
$obj1:=New object
// $obj1 = {}
$obj2:=New object("name";"Smith")
// $obj2 = {name:Smith}
$obj3:=New object("name";"Smith";"age";40)
// $obj3 = {name:Smith,age:40}
Cria um novo objeto com um objeto como valor de parâmetro:
C_OBJECT($Children;$Contact)
//Criar um array objeto
ARRAY TEXT($arrChildren;3)
$arrChildren{1}:="Richard"
$arrChildren{2}:="Susan"
$arrChildren{3}:="James"
OB SET ARRAY($Children;"Children";$arrChildren)
//Inicializar o objeto
$Contact:=New object("FirstName";"Alan";"LastName";"Parker";"age";30;"Children";$Children)
// $Contact = {FirstName:Alan,LastName:Parker,age:30,Children:{Children:[Richard,Susan,James]}}
Este comando é útil para passar objetos como parâmetros:
C_OBJECT($measures)
$measures:=Get database measures(New object("path";"DB.cacheReadBytes";"withHistory";True;"historyLength";120))
Com este comando, pode fácilmente manejar objetos em loops:
ARRAY OBJECT($refs;0)
C_LONGINT(vCounter)
For(vCounter;1;100)
APPEND TO ARRAY($refs;New object("line";"Line number "+String(vCounter)))
End for
Produto: 4D
Tema: Objetos (Linguagem)
Número
1471
Criado por: 4D v16 R3
Manual de linguagem 4D ( 4D v20 R7)