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 long
Ré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 for
Dé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)