4D v16.3

OB GET PROPERTY NAMES

Inicio

 
4D v16.3
OB GET PROPERTY NAMES

OB GET PROPERTY NAMES 


 

OB GET PROPERTY NAMES ( objeto ; nomProp {; arrTipos} ) 
Parámetro Tipo   Descripción
objeto  Objeto, Campo Objeto in Objeto estructurado
nomProp  Array texto in Nombres de las propiedades
arrTipos  Array entero largo in Tipos de propiedades

El comando OB GET PROPERTY NAMES devuelve, en arrProp, los nombres de las propiedades contenidas en el objeto de lenguaje designados por el parámetro objeto .

objeto debe haber sido definido utilizando el comando C_OBJECT o designar un campo objeto 4D.

Pase un array texto en el parámetro arrProp. Si el array no existe, el comando lo crea y lo redimensiona de forma automática.

Opcionalmente, también puede pasar un array entero largo en arrTipos. Para cada elemento de arrProp, el comando devuelve, en arrTipos, el tipo de valor almacenado en la propiedad. Puede comparar los valores recibidos con las siguientes constantes, que se encuentran en el tema "Tipos de campos y variables":

Constante Tipo Valor
Is Boolean Entero largo 6
Is JSON null Entero largo 255
Is object Entero largo 38
Is real Entero largo 1
Is text Entero largo 2
Object array Entero largo 39

Desea probar que un objeto no está vacío:

 ARRAY TEXT(arrNames;0)
 ARRAY LONGINT(arrTypes;0)
 C_OBJECT($ref_richard)
 OB SET($ref_richard;"name";"Richard";"age";7)
 OB GET PROPERTY NAMES($ref_richard;arrNames;arrTypes)
  // arrNames{1}="name", arrNames{2}="age"
  // arrTypes{1}=2, arrTypes{2}=1
 If(Size of array(arrNames)#0)
  // ...
 End if

Utilizando un elemento de array de objetos:

 C_OBJECT($Children;$ref_richard;$ref_susan;$ref_james)
 ARRAY OBJECT($arrayChildren;0)
 
 OB SET($ref_richard;"name";"Richard";"age";7)
 APPEND TO ARRAY($arrayChildren;$ref_richard)
 OB SET($ref_susan;"name";"Susan";"age";4;"girl";True//atributo adicional
 APPEND TO ARRAY($arrayChildren;$ref_susan)
 OB SET($ref_james;"name";"James")
 OB SET NULL($ref_james;"age") //null attribute
 APPEND TO ARRAY($arrayChildren;$ref_james)
 
 OB GET PROPERTY NAMES($arrayChildren{1};$arrNames;$arrTypes)
  // $arrayChildren{1} = {"name":"Richard","age":7}
  // $arrNames{1}="name"
  // $arrNames{2}="age"
  // $arrTypes{1}=2
  // $arrTypes{2}=1
 
 OB GET PROPERTY NAMES($arrayChildren{2};$arrNames;$arrTypes)
  // $arrayChildren{3} = {"name":"Susan","age":4,"girl":true}
  // $arrNames{1}="name"
  // $arrNames{2}="age"
  // $arrNames{3}="girl"
  // $arrTypes{1}=2
  // $arrTypes{2}=1
  // $arrTypes{3}=6
 
 OB GET PROPERTY NAMES($arrayChildren{3};$arrNames;$arrTypes)
  // $arrayChildren{3} = {"name":"James","age":null}
  // $arrNames{1}="name"
  // $arrNames{2}="age"
  // $arrTypes{1}=2
  // $arrTypes{2}=255



Ver también 

OB Get type
OB SET NULL

 
PROPIEDADES 

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

This command can be run in preemptive processes

 
HISTORIA 

Creado por: 4D v14
Modificado: 4D v15

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)