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
OB GET PROPERTY NAMES

OB GET PROPERTY NAMES 


 

OB GET PROPERTY NAMES ( objeto ; nomProp {; arrTipos} ) 
Parámetro Tipo   Descripción
objeto  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 _O_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 collection Entero largo 42
Is null Entero largo 255
Is object Entero largo 38
Is real Entero largo 1
Is text Entero largo 2
Object array Entero largo 39

Nota: para los atributos array, el comando devuelve Is collection.

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

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v14
Modificado: 4D v15
Modificado: 4D v16 R4

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)