Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
New object

New object 


 

New object {( propiedad ; valor {; propiedad2 ; valor2 ; ... ; propiedadN ; valorN} )} -> Resultado 
Parámetro Tipo   Descripción
propiedad  Texto in Nombre de la propiedad a crear
valor  Mixed in Valor de la propiedad
Resultado  Objeto in Nuevo objeto del lenguaje

El comando New object crea un nuevo objeto vacío o prellenado y devuelve su referencia.

Si no pasa ningún parámetro, New object crea un objeto vacío y devuelve su referencia. Debe asignar esta referencia a una variable 4D declarada con _O_C_OBJECT o un campo objeto 4D.

Nota: _O_C_OBJECT declara una variable del tipo Objeto pero no crea ningún objeto.

Opcionalmente, puede prefijar el nuevo objeto pasando uno o varios pares propiedad/valor como parámetros:

  • En el parámetro propiedad, pase la etiqueta de la propiedad a crear. Note que el parámetro propiedad es sensible a mayúsculas y minúsculas.
  • En el parámetro valor, pase el valor que desea definir para la propiedad. Varios tipos de datos son soportados:
    • número (real, entero...) Los valores numéricos se almacenan siempre como reales.
    • texto
    • booleano
    • puntero
    • blob (4D.Blob)
    • fecha
    • hora
    • null
    • imagen
    • objeto
    • colección

Tenga en cuenta que:

  • si pasa un puntero, se mantiene como está; Se evalúa utilizando comandos como JSON Stringify,
  • las fechas se almacenan en como fechas "aaaa-mm-dd" o en cadena en formato "AAAA-MM-DDTHH:mm:ss.SSSZ" en función del parámetro actual relativo al almacenamiento de las fechas en los objetos (ver Página Compatibilidad). Al convertir las fechas 4D en texto antes de almacenarlas en el objeto, por defecto el programa toma en cuenta la zona horaria local.  Puede modificar este comportamiento utilizando el selector Dates inside objects del comando SET DATABASE PARAMETER.
  • si pasa una hora, se almacena como un número de milisegundos (Real).

Este comando puede crear objeto vacíos o llenos:

 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}

Crear un nuevo objeto con un objeto como valor de parámetro:

 C_OBJECT($Children;$Contact)
 
  //Crear un array objeto
 ARRAY TEXT($arrChildren;3)
 $arrChildren{1}:="Richard"
 $arrChildren{2}:="Susan"
 $arrChildren{3}:="James"
 OB SET ARRAY($Children;"Children";$arrChildren)
 
  //Inicializar el 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 es útil para pasar objetos como parámetros:

 C_OBJECT($measures)
 $measures:=Get database measures(New object("path";"DB.cacheReadBytes";"withHistory";True;"historyLength";120))

Con este comando, puede fácilmente manejar objetos en bucles:

 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 también 

Download HDI database
New shared object

 
PROPIEDADES 

Producto: 4D
Tema: Objetos (Lenguaje)
Número 1471

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R3

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)