| 4D v20.1OB FIXER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 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 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 siVous 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)
	
	
	4D - Langage ( 4D v20.1)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire