Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
New object

New object 


 

New object {( propriedade ; valor {; propriedade2 ; valor2 ; ... ; propriedadeN ; valorN} )} -> Resultado 
Parâmetro Tipo   Descrição
propriedade  Texto in Nome da propriedade a criar
valor  Mixed in Valor da propriedade
Resultado  Objeto in 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:

  • No parâmetro propriedade, passe a etiqueta da propriedad a criar. Note que o parâmetro propriedade é sensível a maiúsculas e minúsculas.
  • No parâmetro valor, passe o valor que deseja definir para a propriedade. Vários tipos de dados são suportados. :
    • Número (real, inteiro...) Valores numéricos são guardados como reais
    • texto
    • booleano
    • ponteiro
    • blog (4D.Blob)
    • data
    • hora
    • null
    • imagem
    • objeto
    • coleção.

 

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



Ver também 

Download HDI database
New shared object

 
PROPRIEDADES 

Produto: 4D
Tema: Objetos (Linguagem)
Número 1471

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v16 R3

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)