Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
OB FIXER
|
OB FIXER ( objet ; propriété ; valeur {; propriété2 ; valeur2 ; ... ; propriétéN ; valeurN} ) | ||||||||
Paramètre | Type | Description | ||||||
objet | Champ objet, Objet |
![]() |
Objet structuré | |||||
propriété | Texte |
![]() |
Nom de la propriété à définir | |||||
valeur | Expression |
![]() |
Nouvelle valeur de la propriété | |||||
La commande OB FIXER permet de créer ou de modifier une ou plusieurs paires propriété/valeur dans l’objet de langage désigné par le paramètre objet.
objet doit avoir été défini via la commande _O_C_OBJET ou désigner un champ objet 4D.
Passez dans le paramètre propriété le libellé de la propriété à créer ou à modifier. Si la propriété existe déjà dans objet, sa valeur sera mise à jour. Si elle n’existe pas, elle est créée.
Attention, le paramètre propriété tient compte des majuscules/minuscules.
Passez dans le paramètre valeur la valeur de la propriété à définir. Plusieurs types de données sont pris en charge. A noter que :
Création d’un objet et ajout d’une propriété de type texte :
C_OBJET($Object)
OB FIXER($Object ;"prénom";"John";"nom";"Smith")
//$Object = {"prénom":"John","nom":"Smith"}
Création d’un objet et ajout d’une propriété de type booléen :
C_OBJET($Object)
OB FIXER($Object ;"nom";"smith";"age";42;"client";Vrai)
//$Object = {"nom":"smith","age":42,"client":true}
Modification d’une propriété :
//$Object = {"prénom":"John","nom":"Smith"}
OB FIXER($Object ;"prénom";"Paul")
//$Object = {"prénom":"Paul","nom":"Smith"}
Ajout d’une propriété :
//$Object = {"prénom":"John","nom":"Smith"}
OB FIXER($Object ;"service";"Comptabilité")
//$Object = {"prénom":"Paul","nom":"Smith","service":"Comptabilité"}
Renommage d’une propriété :
C_OBJET($Object)
OB FIXER($Object ;"nom";"James";"age";35)
//$Object = {"nom":"James","age":35}
OB FIXER($Object ;"prénom";OB Lire($Object ;"nom"))
//$Object = {"prénom":""James","nom":"James","age":35}
OB SUPPRIMER($Object ;"nom")
//$Object = {"prénom":""James","age":35}
Utilisation d’un pointeur :
//$Object = {"prénom":"Paul","nom":"Smith"}
C_TEXTE($nom)
OB FIXER($Object ;"nom";->$nom)
//$Object = {"prénom":"Paul","nom":"->$nom"}
$JsonString:=JSON Stringify($Object)
//$JsonString="{"prénom":"Paul","nom":""}
$nom:="Wesson"
$JsonString:=JSON Stringify($Object)
//$JsonString="{"prénom":"Paul","nom":"Wesson"}
Utilisation d’un objet :
C_OBJET($ref_smith)
OB FIXER($ref_smith ;"nom";"Smith")
C_OBJET($ref_emp)
OB FIXER($ref_emp ;"employé";$ref_smith)
$Json_string :=JSON Stringify($ref_emp)
// $ref_emp = {"employé":{"nom":"Smith"}} (objet)
// $Json_string = "{"employé":{"nom":"Smith"}}" (chaîne)
Vous pouvez également changer une valeur à la volée :
OB FIXER($ref_smith ;"nom";"Smyth")
// $ref_smith = {"employé":{"nom":"Smyth"}}
$string :=JSON Stringify($ref_emp)
// $string = "{"employee":{"nom":"Smyth"}}"
Si vous avez défini le champ [Rect]Desc en tant que champ objet, vous pouvez écrire :
CREER ENREGISTREMENT([Rect])
[Rect]Name:="Blue square"
OB FIXER([Rect]Desc;"x";"50";"y";"50";"color";"blue")
STOCKER ENREGISTREMENT([Rect])
Vous souhaitez exporter des données en JSON contenant une date 4D que vous souhaitez convertir en chaîne sans fuseau horaire. A noter que la conversion a lieu au moment du stockage de la date dans l’objet, il faut donc appeler la commande FIXER PARAMETRE BASE avant OB FIXER :
C_OBJET($o)
$vDateParam:=Lire parametre base(Dates dans objets) //on garde le paramétrage courant
FIXER PARAMETRE BASE(Dates dans objets;Type chaine sans fuseau horaire)
OB FIXER($o ;"maDate";Date du jour) // conversion JSON
$json:=JSON Stringify($o)
FIXER PARAMETRE BASE(Dates dans objets;$vDateParam)
Dans la méthode d'un formulaire contenant une zone 4D Write Pro, vous pouvez écrire :
Si(Evenement formulaire=Sur validation)
OB FIXER([MyDocuments]My4DWP;"myatt_Last edition by";Utilisateur courant)
OB FIXER([MyDocuments]My4DWP;"myatt_Category";"Memo")
Fin de si
Vous pouvez également lire les attributs personnalisés des documents :
vAttrib:=OB Lire([MyDocuments]My4DWP;"myatt_Last edition by")
Vous souhaitez assigner une collection en tant que valeur d'une propriété. Vous pouvez écrire :
C_OBJET($person)
C_COLLECTION($myCol)
$person:=Creer objet
$myCol:=Creer collection("Mike";25;"Denis";12;"Henry";4;Vrai)
OB FIXER($person;"Name";"Jones";"Children";$myCol)
Vous souhaitez stocker une image dans un champ objet. Vous pouvez écrire :
C_IMAGE($vPict)
LIRE FICHIER IMAGE("photo.jpg";$vPict)
Si(OK=1)
OB FIXER([Emp]Children;"photo";$vPict)
Fin de si
Produit : 4D
Thème : Objets (Langage)
Numéro :
1220
Nom intl. : OB SET
Créé : 4D v14
Modifié : 4D v15
Modifié : 4D v15 R4
Modifié : 4D v16 R4
Modifié : 4D v16 R6
4D - Langage ( 4D v20 R7)