4D v16.3OB SET |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OB SET
|
OB SET ( Objekt ; Eigenschaft ; Wert {; Eigenschaft2 ; Wert2 ; ... ; EigenschaftN ; WertN} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Objekt | Objekt, Objektfeld |
![]() |
Strukturiertes Objekt | |||||
Eigenschaft | Text |
![]() |
Name der zu setzenden Eigenschaft | |||||
Wert | Text, Datum, Boolean, Zeiger, Zahl, Objekt |
![]() |
Neuer Wert der Eigenschaft | |||||
Der Befehl OB SET erstellt oder ändert ein oder mehrere Paare Eigenschaft/Wert im Objekt, das im Parameter Objekt definiert ist.
Objekt muss zuvor über den Befehl C_OBJECT definiert werden oder ein 4D Objektfeld angeben.
Hinweis: Dieser Befehl unterstützt Attributdefinitionen in 4D Write Pro Objekten, wie mit dem Befehl WP SET ATTRIBUTES (siehe Beispiel 10). Jedoch erlaubt OB SET nicht, eine Bild - oder Feldvariable direkt als Attributwert zu verwalten.
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, die ein konvertiertes 4D Datum enthalten. 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)
SET DATABASE PARAMETER(JSON use local time;0)
OB SET($o ;"myDate";Current date) // JSON Konvertierung
$json:=JSON Stringify($o)
SET DATABASE PARAMETER(JSON use local time;1)
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 if
Sie können auch eigene Attribute des Dokuments lesen:
vAttrib:=OB Get([MyDocuments]My4DWP;"myatt_Last edition by")
Produkt: 4D
Thema: Objekte (Sprache)
Nummer:
1220
Erstellt: 4D v14
Geändert: 4D v15
Geändert: 4D v15 R4
4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)