| 4D v18OB SET | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 OB SET 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OB SET ( Objekt ; Eigenschaft ; Wert {; Eigenschaft2 ; Wert2 ; ... ; EigenschaftN ; WertN} ) | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| Objekt | Objektfeld, Objekt |   | Strukturiertes Objekt | |||||
| Eigenschaft | Text |   | Name der zu setzenden Eigenschaft | |||||
| Wert | Ausdruck |   | Neuer Wert der Eigenschaft | |||||
Der Befehl OB SET erstellt oder ändert ein oder mehrere Paare Eigenschaft/Wert im Programmiersprache-Objekt, das im Parameter Objekt definiert ist.
Objekt muss zuvor über den Befehl C_OBJECT definiert werden oder ein 4D Objektfeld angeben.
Im Parameter Eigenschaft übergeben Sie die Bezeichnung der Eigenschaft zum Erstellen oder Ändern. Ist die Eigenschaft bereits in Objekt vorhanden, wird ihr Wert aktualisiert. Ist sie noch nicht vorhanden, wird sie angelegt.
Beachten Sie, dass Eigenschaft Groß- und Kleinschreibung berücksichtigt.
Im Parameter Wert übergeben Sie den passenden Wert für die Eigenschaft. Es werden mehrere Datentypen unterstützt. Dabei müssen Sie folgendes beachten:
Ein Objekt erstellen und eine Eigenschaft vom Typ Text hinzufügen:
 C_OBJECT($Object)
 OB SET($Object ;"FirstName";"John";"LastName";"Smith")
  // $Object = {"FirstName":"John","LastName":"Smith"}Ein Objekt erstellen und eine Eigenschaft vom Typ Boolean hinzufügen:
 C_OBJECT($Object)
 OB SET($Object ;"LastName";"smith";"age";42;"client";True)
  // $Object = {"LastName":"smith","age":42,"client":true}Eine Eigenschaft ändern:
  // $Object = {"FirstName":"John","LastName":"Smith"}
 OB SET($Object ;"FirstName";"Paul")
  // $Object = {"FirstName":"Paul","LastName":"Smith"}Eine Eigenschaft hinzufügen:
  // $Object = {"FirstName":"John","LastName":"Smith"}
 OB SET($Object ;"department";"Accounting")
  // $Object = {"FirstName":"Paul","LastName":"Smith","department":"Accounting"}Eine Eigenschaft umbenennen:
 C_OBJECT($Object)
 OB SET($Object ;"LastName";"James";"age";35)
  // $Object = {"LastName":"James","age":35}
 OB SET($Object ;"FirstName";OB Get($Object ;"LastName"))
  // $Object = {"FirstName":""James","nom":"James","age":35}
 OB REMOVE($Object ;"LastName")
  // $Object = {"FirstName":""James","age":35}Zeiger verwenden:
  // $Object = {"FirstName":"Paul","LastName":"Smith"}
 C_TEXT($LastName)
 OB SET($Object ;"LastName";->$LastName)
  // $Object = {"FirstName":"Paul","LastName":"->$LastName"}
 $JsonString:=JSON Stringify($Object)
  // $JsonString="{"FirstName":"Paul","LastName":""}
 $LastName:="Wesson"
 $JsonString:=JSON Stringify($Object)
  // $JsonString="{"FirstName":"Paul","LastName":"Wesson"}Ein Objekt verwenden:
 C_OBJECT($ref_smith)
 OB SET($ref_smith ;"name";"Smith")
 C_OBJECT($ref_emp)
 OB SET($ref_emp ;"employee";$ref_smith)
 $Json_string :=JSON Stringify($ref_emp)
  // $ref_emp = {"employee":{"name":"Smith"}} (object)
  // $Json_string = "{"employee":{"name":"Smith"}}" (string)Sie können einen Wert auch direkt ändern:
 OB SET($ref_smith ;"name";"Smyth")
  // $ref_smith = {"employee":{"name":"Smyth"}}
 $string:=JSON Stringify($ref_emp)
  // $string = "{"employee":{"name":"Smyth"}}"Haben Sie das Feld [Rect]Desc als Objektfeld definiert, können Sie schreiben:
 CREATE RECORD([Rect])
 [Rect]Name:="Blue square"
 OB SET([Rect]Desc;"x";"50";"y";"50";"color";"blue")
 SAVE RECORD([Rect])Sie wollen Daten in JSON exportieren. Sie enthalten ein 4D Datum, das in einen String ohne Angabe der Zeitzone konvertiert werden soll. Beachten Sie, dass die Konvertierung passiert, wenn das Datum im Objekt gesichert wird. Deshalb müssen Sie den Befehl SET DATABASE PARAMETER vor OB SET aufrufen:
 C_OBJECT($o)
 $vDateSetting:=Get database parameter(Dates inside objects) // Die aktuelle Einstellung sichern
 SET DATABASE PARAMETER(Dates inside objects;String type without time zone)
 OB SET($o ;"myDate";Current date) // In JSON konvertieren
 $json:=JSON Stringify($o)
 SET DATABASE PARAMETER(Dates inside objects;$vDateSetting)In der Methode eines Formulars mit einem 4D Write Pro Bereich können Sie schreiben:
 If(FORM Event=On Validate)
    OB SET([MyDocuments]My4DWP;"myatt_Last edition by";Current user)
    OB SET([MyDocuments]My4DWP;"myatt_Category";"Memo")
 End ifSie können auch eigene Attribute des Dokuments lesen:
 vAttrib:=OB Get([MyDocuments]My4DWP;"myatt_Last edition by")Eine Collection als einen Eigenschaftswert setzen:
 C_OBJECT($person)
 C_COLLECTION($myCol)
 
 $person:=OB New
 $myCol:=New collection("Mike";25;"Denis";12;"Henry";4;True)
 OB SET($person;"Name";"Jones";"Children";$myCol)Ein Bild in einem Objektfeld speichern:
 C_PICTURE($vPict)
 READ PICTURE FILE("photo.jpg";$vPict)
 If(OK=1)
    OB SET([Emp]Children;"photo";$vPict)
 End if
	Produkt: 4D
	Thema: Objekte (Sprache)
	Nummer: 
        1220
        
        
        
	
	Erstellt: 4D v14
	Geändert: 4D v15
	Geändert: 4D v15 R4
	Geändert: 4D v16 R4
	Geändert: 4D v16 R6
	
	
	
	
	
	
	
	
	4D Programmiersprache ( 4D v18)
	
	
	
	
	
 Fehler melden
Fehler melden