4D v14.3OB Copy |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
OB Copy
|
OB Copy ( Objekt {; ZeigerAuflösen} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Objekt | Objekt |
![]() |
Strukturiertes Objekt | |||||
ZeigerAuflösen | Boolean |
![]() |
Wahr = Zeiger auflösen Falsch oder weggelassen = Zeiger nicht auflösen |
|||||
Funktionsergebnis | Objekt |
![]() |
Kopie von Objekt | |||||
Die Funktion OB Copy gibt ein Objekt zurück, das die vollständige Kopie der Eigenschaften, Unterobjekte und Werte für Objekt enthält.
Objekt muss zuvor über den Befehl C_OBJECT definiert werden.
Enthält Objekt Werte vom Typ Zeiger, enthält die Kopie standardmäßig auch die Zeiger. Sie können jedoch Zeiger beim Kopieren auflösen, wenn Sie im Parameter ZeigerAuflösen Wahr übergeben. In diesem Fall wird jeder als Wert in Objekt verfügbare Zeiger beim Kopieren bewertet und sein dereferenzierter Wert verwendet.
Ein Objekt mit einfachen Werten duplizieren:
C_OBJECT($Object)
C_TEXT($JsonString)
ARRAY OBJECT($arraySel;0)
ALL RECORDS([Product])
While(Not(End selection([Product])))
OB SET($Object;"id";[Product]ID_Product)
OB SET($Object;"Product Name";[Product]Product_Name)
OB SET($Object;"Price";[Product]Price)
OB SET($Object;"Tax rate";[Product]Tax_rate)
$ref_value:=OB Copy($Object) //direkt kopieren
APPEND TO ARRAY($arraySel;$ref_value)
//der Inhalt von $ref_value ist identisch mit dem Inhalt von $Object
NEXT RECORD([Product])
End while
//Inhalt von $ref_value
$JsonString:=JSON Stringify array($arraySel)
Ein Objekt mit Zeigern duplizieren:
C_OBJECT($ref)
OB SET($ref;"name";->[Company]name) //Objekt mit Zeigern
OB SET($ref;"country";->[Company]country)
ARRAY OBJECT($sel;0)
ARRAY OBJECT($sel2;0)
ALL RECORDS([Company])
While(Not(End selection([Company])))
$ref_comp:=OB Copy($ref) //ohne Bewertung der Zeiger kopieren
// $ref_comp={"name":"->[Company]name","country":"->[Company]Country"}
$ref_comp2:=OB Copy($ref;True) //mit Bewertung der Zeiger kopieren
// $ref_comp={"name":"4D SAS","country":"France"}
APPEND TO ARRAY($sel;$ref_comp)
APPEND TO ARRAY($sel2;$ref_comp2)
NEXT RECORD([Company])
End while
$Object:=JSON Stringify array($sel)
$Object2:=JSON Stringify array($sel2)
// $Object = [{"name":"","country":""},{"name":"","country":""},...]
// $Object2 = [{"name":"4D SAS","country":"France"},{"name":"4D, Inc","country":"USA"},{"name":"Catalan","country":"France"}...]
Produkt: 4D
Thema: Objekte (Sprache)
Nummer:
1225
Erstellt: 4D v14
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)