4D v14.3

OB Lire

Accueil

 
4D v14.3
OB Lire

OB Lire 


 

OB Lire ( objet ; propriété {; type} ) -> Résultat 
Paramètre Type   Description
objet  Objet in Objet structuré
propriété  Texte in Nom de la propriété à lire
type  Entier long in Type dans lequel convertir la valeur
Résultat  Booléen, Date, Objet, Pointeur, Réel, Texte in Valeur courante de la propriété

La commande OB Lire retourne la valeur courante de la propriété de l’objet, convertie optionnellement dans le type défini.

objet doit avoir été défini via la commande C_OBJET.

Passez dans le paramètre propriété le libellé de la propriété à lire. Attention, le paramètre propriété tient compte des majuscules/minuscules. 

Par défaut, 4D retournera la valeur de la propriété dans son type d’origine. Vous pouvez "forcer" le typage de la valeur retournée à l’aide du paramètre optionnel type. Pour cela, vous pouvez passer dans type une des constantes suivantes, placées dans le thème Types champs et variables :

Constante Type Valeur
Est un booléen Entier long 6
Est un entier Entier long 8
Est un entier 64 bits Entier long 25
Est un entier long Entier long 9
Est un null JSON Entier long 255
Est un numérique Entier long 1
Est un objet Entier long 38
Est un tableau objet Entier long 39
Est un texte Entier long 2
Est une date Entier long 4
Est une heure Entier long 11
Est une variable chaîne Entier long 24

La commande retourne la valeur de la propriété. Plusieurs types de données sont pris en charge. A noter que :

  • un pointeur est retourné tel quel, il peut être évalué à l’aide de la commande JSON Stringify,
  • les dates sont retournées au format "\"YYYY-MM-DDTHH:mm:ssZ\""
  • dans les valeurs réelles, le séparateur décimal est toujours le point "."
  • les heures sont retournées sous forme d’un nombre (secondes pour 4D, millisecondes pour JSON).

Récupération d’une valeur de type texte :

 C_OBJET($ref)
 C_TEXTE($prénom)
 OB FIXER($ref;"Prénom";"Harry")
 $prénom:=OB Lire($ref;"Prénom")  // $prénom = "Harry" (texte)

Récupération d’une valeur numérique convertie en entier long :

 OB FIXER($ref ;"age";42)
 $age:=OB Lire($ref ;"age") // $age est un réel (défaut)
 $age:=OB Lire($ref ;"age";Est un entier long// $age est un entier long

Récupération des valeurs d’un objet :

 C_OBJET($ref1;$ref2)
 OB FIXER($ref1;"nom";"Smith") //$ref1={"nom":"Smith"}
 OB FIXER($ref2;"fils";$ref1//$ref2={"fils":{"nom":"Smith"}}
 $fils:=OB Lire($ref2;"fils") //$fils={"name":"john"} (objet)
 $nomfils:=OB Lire($fils ;"nom") //$nomfils="john" (texte)

Modifications de l’âge d’un employé :

 C_OBJET($ref_john;$ref_jim)
 OB FIXER($ref_john;"nom";"John";"age";35)
 OB FIXER($ref_jim;"nom";"Jim";"age";40)
 AJOUTER A TABLEAU($myArray;$ref_john// on crée un tableau objet
 AJOUTER A TABLEAU($myArray;$ref_jim)
     // on passe l’âge de John de 35 à 25
 OB FIXER($myArray{1};"age";25)
     // On remplace l’âge de "John" dans le tableau
 Boucle($i;1;Taille tableau($myArray))
       Si(OB Lire($myArray{$i};"nom")="John")
          OB FIXER($myArray{$i};"age";36)  //au lieu de 25
              // $ref_john={"nom":"John","age":36}
       Fin de si
 Fin de boucle

Désérialisation d’une chaîne date formatée en ISO :

 C_OBJET($object)
 C_DATE($anniv)
 C_TEXTE($chainAnniv)
 OB FIXER($object;"Anniversaire";"1990-12-25T12:00:00Z")
 $chainAnniv:=OB Lire($object;"Anniversaire")
     // $chainAnniv="1990-12-25T12:00:00Z"
 $anniv:=OB Lire($object;"Anniversaire";Est une date)
     //$anniv=25/12/90

Utilisation d'objets imbriqués :

 C_OBJET($ref1;$child;$children)
 C_TEXTE($childName)
 OB FIXER($ref1;"firstname";"John";"lastname";"Monroe")
     //{"firstname":"john","lastname";"Monroe"}
 OB FIXER($children;"children";$ref1)
 $child:=OB Lire($children;"children")
     //$son = {"firstname":"John","lastname":"Monroe"} (objet)
 $childName:=OB Lire($child;"lastname")
     //$childName = "Monroe" (texte)
     //ou bien
 $childName:=OB Lire(OB Lire($children;"children");"lastname")
     // $childName = "Monroe" (texte)

 
PROPRIÉTÉS 

Produit : 4D
Thème : Objets (Langage)
Numéro : 1224
Nom intl. : OB Get

 
HISTORIQUE 

New
Créé : 4D v14

 
VOIR AUSSI  

OB Copier
Types champs et variables

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)