| 4D v15 R2OB Lire | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v15 R2
 OB Lire 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OB Lire ( objet ; propriété {; type} ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| objet | Objet, Champ objet |   | Objet structuré | |||||
| propriété | Texte |   | Nom de la propriété à lire | |||||
| type | Entier long |   | Type dans lequel convertir la valeur | |||||
| Résultat | Booléen, Date, Objet, Pointeur, Réel, Texte |   | 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 ou désigner un champ objet 4D.
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 long | Entier long | 9 | 
| Est un numérique | Entier long | 1 | 
| Est un objet | Entier long | 38 | 
| Est un pointeur | Entier long | 23 | 
| Est un texte | Entier long | 2 | 
| Est une date | Entier long | 4 | 
| Est une heure | Entier long | 11 | 
La commande retourne la valeur de la propriété. Plusieurs types de données sont pris en charge. A noter que :
Récupération d’une valeur de type 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 longRé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 boucleDé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/90Utilisation 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)Récupération dans 4D d'une heure stockée dans un objet :
 C_OBJET($obj_o)
 C_HEURE($set_h;$get_h)
 
 $set_h:=?01:00:00?+1
 OB FIXER($obj_o;"myHour";$set_h)
  // $obj_o == {"myHour":3601000}
  // L'heure est stockée en millisecondes.
 $get_h:=OB Lire($obj_o;"myHour";Est une heure)
  // $get_h == ?01:00:01?
  // L'heure est correctement lueExemples de manipulation de champs objet 4D :
  // Définir une valeur
 OB FIXER([Personnes]Identity_OB;"Prénom";$firstName)
 OB FIXER([Personnes]Identity_OB;"Nom";$lastName)
 
  // Lire une valeur
 $firstName:=OB Lire([Personnes]Identity_OB;"Prénom")
 $lastName:=OB Lire([Personnes]Identity_OB;"Nom")
	Produit :  4D
	Thème :  Objets (Langage)
	Numéro :  
        1224
        
        
        
	Nom intl. :  OB Get
	Créé :  4D v14
	Modifié :  4D v15
	4D - Langage ( 4D v15)
	4D - Langage ( 4D v15 R2)
	
	4D - Langage ( 4D v15.4)
	4D - Langage ( 4D v15.3)
 Ajouter un commentaire
Ajouter un commentaire