| 4D v15 R2OB Get | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v15 R2
 OB Get 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OB Get ( 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 Get 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_OBJECT 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 SET($ref ;"age";42)
 $age:=OB Get($ref ;"age") // $age est un réel (défaut)
 $age:=OB Get($ref ;"age";Is longint) // $age est un entier longRécupération des valeurs d’un objet :
 C_OBJECT($ref1;$ref2)
 OB SET($ref1;"nom";"Smith") //$ref1={"nom":"Smith"}
 OB SET($ref2;"fils";$ref1) //$ref2={"fils":{"nom":"Smith"}}
 $fils:=OB Get($ref2;"fils") //$fils={"name":"john"} (objet)
 $nomfils:=OB Get($fils ;"nom") //$nomfils="john" (texte)Modifications de l’âge d’un employé :
 C_OBJECT($ref_john;$ref_jim)
 OB SET($ref_john;"nom";"John";"age";35)
 OB SET($ref_jim;"nom";"Jim";"age";40)
 APPEND TO ARRAY($myArray;$ref_john) // on crée un tableau objet
 APPEND TO ARRAY($myArray;$ref_jim)
     // on passe l’âge de John de 35 à 25
 OB SET($myArray{1};"age";25)
     // On remplace l’âge de "John" dans le tableau
 For($i;1;Size of array($myArray))
       If(OB Get($myArray{$i};"nom")="John")
          OB SET($myArray{$i};"age";36)  //au lieu de 25
              // $ref_john={"nom":"John","age":36}
       End if
 End forDésérialisation d’une chaîne date formatée en ISO :
Utilisation d'objets imbriqués :
 C_OBJECT($ref1;$child;$children)
 C_TEXT($childName)
 OB SET($ref1;"firstname";"John";"lastname";"Monroe")
     //{"firstname":"john","lastname";"Monroe"}
 OB SET($children;"children";$ref1)
 $child:=OB Get($children;"children")
     //$son = {"firstname":"John","lastname":"Monroe"} (objet)
 $childName:=OB Get($child;"lastname")
     //$childName = "Monroe" (texte)
     //ou bien
 $childName:=OB Get(OB Get($children;"children");"lastname")
     // $childName = "Monroe" (texte)Récupération dans 4D d'une heure stockée dans un objet :
Exemples de manipulation de champs objet 4D :
  // Définir une valeur
 OB SET([Personnes]Identity_OB;"Prénom";$firstName)
 OB SET([Personnes]Identity_OB;"Nom";$lastName)
 
  // Lire une valeur
 $firstName:=OB Get([Personnes]Identity_OB;"Prénom")
 $lastName:=OB Get([Personnes]Identity_OB;"Nom")
	Produit :  4D
	Thème :  Objets (Langage)
	Numéro :  
        1224
        
        
        
	
	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