4D v14.3

OB Get

Home

 
4D v14.3
OB Get

OB Get 


 

OB Get ( Objekt ; Eigenschaft {; Typ} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Objekt  Objekt in Strukturiertes Objekt
Eigenschaft  Text in Name der zu lesenden Eigenschaft
Typ  Lange Ganzzahl in Typ, in den der Wert konvertiert werden soll
Funktionsergebnis  Boolean, Datum, Objekt, Text, Zahl, Zeiger in Aktueller Wert der Eigenschaft

Die Funktion OB Get gibt den aktuellen Wert der Eigenschaft von Objekt zurück, das optional in den angegebenen Typ konvertiert wird.

Objekt muss zuvor über den Befehl C_OBJECT definiert werden.

Im Parameter Eigenschaft übergeben Sie die Bezeichnung der einzulesenden Eigenschaft. Beachten Sie, dass Eigenschaft Groß- und Kleinschreibung berücksichtigt. 

4D gibt den Wert der Eigenschaft standardmäßig im ursprünglichen Typ zurück. Über den Parameter Typ können Sie den Typ des zurückgegebenen Werts erzwingen. Dazu übergeben Sie eine der folgenden Konstanten unter dem Thema Feld und Variablentypen:

Konstante Typ Wert
Is Boolean Lange Ganzzahl 6
Is date Lange Ganzzahl 4
Is integer Lange Ganzzahl 8
Is integer 64 bits Lange Ganzzahl 25
Is JSON null Lange Ganzzahl 255
Is LongInt Lange Ganzzahl 9
Is object Lange Ganzzahl 38
Is real Lange Ganzzahl 1
Is string var Lange Ganzzahl 24
Is text Lange Ganzzahl 2
Is time Lange Ganzzahl 11
Object array Lange Ganzzahl 39

Die Funktion gibt den Wert von Eigenschaft zurück. Es werden mehrere Datentypen unterstützt. Dabei müssen Sie folgendes beachten:

  • Übergeben Sie einen Zeiger, bleibt er genauso erhalten; er wird über die Funktion JSON Stringify bewertet
  • Datum benötigt das Format "\"YYYY-MM-DDTHH:mm:ssZ\""
  • In Werten vom Typ Zahl ist der Dezimaltrenner immer ein Punkt "."
  • Zeit wird als Zahl zurückgegeben (Sekunden für 4D, Millisekunden für JSON).

Einen Wert vom Typ Text zurückgeben:

 C_OBJECT($ref)
 C_TEXT($FirstName)
 OB SET($ref;"FirstName";"Harry")
 $FirstName:=OB Get($ref;"FirstName") // $FirstName = "Harry" (text)

Einen Wert vom Typ Zahl, konvertiert in Ganzzahl, wiederfinden:

 OB SET($ref ;"age";42)
 $age:=OB Get($ref ;"age") // $ageist eine Ziffer vom Typ Zahl (Standard)
 $age:=OB Get($ref ;"age";Is LongInt// $age ist eine Lange Ganzzahl

Die Werte eines Objekts wiederfinden:

 C_OBJECT($ref1;$ref2)
 OB SET($ref1;"LastName";"Smith") // $ref1={"LastName":"Smith"}
 OB SET($ref2;"son";$ref1// $ref2={"son":{"LastName":"Smith"}}
 $son:=OB Get($ref2;"son") // $son={"LastName":"john"} (object)
 $sonsName:=OB Get($son ;"name") // $sonsName="john" (text)

Das Alter eines Angestellten zweimal ändern:

 C_OBJECT($ref_john;$ref_jim)
 OB SET($ref_john;"name";"John";"age";35)
 OB SET($ref_jim;"name";"Jim";"age";40)
 APPEND TO ARRAY($myArray;$ref_john//Ein Objekt Array erstellen
 APPEND TO ARRAY($myArray;$ref_jim)
  // Das Alter für John von 35 auf 25 setzen
 OB SET($myArray{1};"age";25)
  // Das Alter von "John" im Array ersetzen
 For($i;1;Size of array($myArray))
    If(OB Get($myArray{$i};"name")="John")
       OB SET($myArray{$i};"age";36) // instead of 25
  // $ref_john={"name":"John","age":36}
    End if
 End for

Einen in ISO formatierten Datenstring deserialisieren:

 C_OBJECT($object)
 C_DATE($birthday)
 C_TEXT($birthdayString)
 OB SET($object;"Birthday";"1990-12-25T12:00:00Z")
 $birthdayString:=OB Get($object;"Birthday")
  // $birthdayString="1990-12-25T12:00:00Z"
 $birthday:=OB Get($object;"Birthday";Is date)
  // $birthday=25/12/90

Verschachtelte Objekte verwenden:

 C_OBJECT($ref1;$child;$children)
 C_TEXT($childName)
 OB SET($ref1;"firstname";"John";"lastname";"Monroe")
  //{"firstname":"john","lastname";"Monroe"}
 OB SET($children;"children";$ref1)
 $child:=OB Get($children;"children")
  //$son = {"firstname":"John","lastname":"Monroe"} (object)
 $childName:=OB Get($child;"lastname")
  //$childName = "Monroe" (text)
  //or
 $childName:=OB Get(OB Get($children;"children");"lastname")
  // $childName = "Monroe" (text)

 
EIGENSCHAFTEN 

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

 
GESCHICHTE 

New
Erstellt: 4D v14

 
SIEHE AUCH 

Feld und Variablentypen
OB Copy

 
ARTIKELVERWENDUNG

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