4D v14.3

OB Copy

Home

 
4D v14.3
OB Copy

OB Copy 


 

OB Copy ( Objekt {; ZeigerAuflösen} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Objekt  Objekt in Strukturiertes Objekt
ZeigerAuflösen  Boolean in Wahr = Zeiger auflösen
Falsch oder weggelassen = Zeiger nicht auflösen
Funktionsergebnis  Objekt in 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"}...]

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Objekte (Sprache)
Nummer: 1225

 
GESCHICHTE 

New
Erstellt: 4D v14

 
SIEHE AUCH 

OB Get

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)