4D v16.3

OB GET PROPERTY NAMES

Accueil

 
4D v16.3
OB GET PROPERTY NAMES

OB GET PROPERTY NAMES 


 

OB GET PROPERTY NAMES ( objet ; tabPropriétés {; tabTypes} ) 
Paramètre Type   Description
objet  Objet, Champ objet in Objet structuré
tabPropriétés  Tableau texte in Noms des propriétés
tabTypes  Tableau entier long in Types des propriétés

La commande OB GET PROPERTY NAMES retourne dans tabPropriétés les noms des propriétés contenues dans l’objet de langage désigné par le paramètre objet.

objet doit avoir été défini via la commande C_OBJECT ou désigner un champ objet 4D.

Passez dans le paramètre tabPropriétés un tableau texte. Si le tableau n’existe pas, la commande le crée et le dimensionne automatiquement. 

Optionnellement, vous pouvez passer dans tabTypes un tableau entier long. Pour chaque élément de tabPropriétés, la commande retournera dans tabTypes le type de la valeur stockée dans la propriété. Vous pouvez comparer les valeurs reçues aux constantes suivantes du thème Types champs et variables :

Constante Type Valeur
Is Boolean Entier long 6
Is JSON null Entier long 255
Is object Entier long 38
Is real Entier long 1
Is text Entier long 2
Object array Entier long 39

Vous souhaitez tester qu’un objet n’est pas vide :

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

Utilisation d’un élément de tableau d’objets :

 C_OBJECT($Children;$ref_richard;$ref_susan;$ref_james)
 ARRAY OBJECT($arrayChildren;0)
 
 OB SET($ref_richard;"nom";"Richard";"age";7)
 APPEND TO ARRAY($arrayChildren;$ref_richard)
 OB SET($ref_susan;"nom";"Susan";"age";4;"fille";True//attribut supplémentaire
 APPEND TO ARRAY($arrayChildren;$ref_susan)
 OB SET($ref_james;"nom";"James")
 OB SET NULL($ref_james;"age") //attribut null
 APPEND TO ARRAY($arrayChildren;$ref_james)
 
 OB GET PROPERTY NAMES($arrayChildren{1};$tabNoms;$tabTypes)
  // $arrayChildren{1} = {"nom":"Richard","age":7}
  // $tabNoms{1}="nom"
  // $tabNoms{2}="age"
  // $tabTypes{1}=2
  // $tabTypes{2}=1
 
 OB GET PROPERTY NAMES($arrayChildren{2};$tabNoms;$tabTypes)
  // $arrayChildren{3} = {"nom":"Susan","age":4,"fille":true}
  // $tabNoms{1}="nom"
  // $tabNoms{2}="age"
  // $tabNoms{3}="fille"
  // $tabTypes{1}=2
  // $tabTypes{2}=1
  // $tabTypes{3}=6
 
 OB GET PROPERTY NAMES($arrayChildren{3};$tabNoms;$tabTypes)
  // $arrayChildren{3} = {"nom":"James","age":null}
  // $tabNoms{1}="nom"
  // $tabNoms{2}="age"
  // $tabTypes{1}=2
  // $tabTypes{2}=255



Voir aussi  

OB Get type
OB SET NULL

 
PROPRIÉTÉS 

Produit : 4D
Thème : Objets (Langage)
Numéro : 1232

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v14
Modifié : 4D v15

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)