| 4D v18OB Get | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 OB Get 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OB Get ( Objekt ; Eigenschaft {; Typ} ) -> Funktionsergebnis | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| Objekt | Objekt, Objektfeld |   | Strukturiertes Objekt | |||||
| Eigenschaft | Text |   | Name der zu lesenden Eigenschaft | |||||
| Typ | Lange Ganzzahl |   | Typ, in den der Wert konvertiert werden soll | |||||
| Funktionsergebnis | Ausdruck |   | 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 oder ein 4D Objektfeld angeben.
Hinweis: Dieser Befehl unterstützt Attributdefinitionen in 4D Write Pro Objekten, wie mit dem Befehl WP GET ATTRIBUTES (siehe Beispiel 9).
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 collection | Lange Ganzzahl | 42 | 
| Is date | Lange Ganzzahl | 4 | 
| Is longint | Lange Ganzzahl | 9 | 
| Is null | Lange Ganzzahl | 255 | 
| Is object | Lange Ganzzahl | 38 | 
| Is picture | Lange Ganzzahl | 3 | 
| Is pointer | Lange Ganzzahl | 23 | 
| Is real | Lange Ganzzahl | 1 | 
| Is text | Lange Ganzzahl | 2 | 
| Is time | Lange Ganzzahl | 11 | 
Die Funktion gibt den Wert von Eigenschaft zurück. Es werden mehrere Datentypen unterstützt. Dabei müssen Sie folgendes beachten:
Hinweise zur Kompatibilität:
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 GanzzahlDie 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 forWird ein Datum gefunden, richtet sich der Ergebnisstring nach der aktuellen Datumseinstellung der Datenbank.
 C_OBJECT($object)
 C_DATE($birthday)
 C_TEXT($birthdayString)
 OB SET($object;"Birthday";!30/01/2010!)
 $birthday:=OB Get($object;"Birthday";Is date) //30/01/10
 $birthdayString:=OB Get($object;"Birthday") //"2010-01-29T23:00:00.000Z" (Paris Zeitzone) C_OBJECT($object)
 C_DATE($birthday)
 OB SET($object;"Birthday";!30/01/2010!)
 $birthday:=OB Get($object;"Birthday") //30/01/10, Is date ist nicht erforderlichHinweis: Weitere Informationen dazu finden Sie auf der Seite Kompatibilität.
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)In einem Objekt gespeicherte Zeit in 4D wiedergeben:
 C_OBJECT($obj_o)
 C_TIME($set_h;$get_h)
 
 $set_h:=?01:00:00?+1
 OB SET($obj_o;"myHour";$set_h)
  // $obj_o == {"myHour":3601}
  // Zeit wird in Sekunden gespeichert
 $get_h:=OB Get($obj_o;"myHour";Is time)
  // $get_h == ?01:00:01?4D Objektfelder verwenden:
  // Einen Wert definieren
 OB SET([People]Identity_OB;"First name";$firstName)
 OB SET([People]Identity_OB;"Last name";$lastName)
 
  // Einen Wert erhalten
 $firstName:=OB Get([People]Identity_OB;"First name")
 $lastName:=OB Get([People]Identity_OB;"Last name")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")Die Größe eines Bildes erfahren, das in einem Objekt Attribut gespeichert ist:
 C_LONGINT($vSize)
 $vSize:=Picture size(OB Get($object;"photo";Is picture))Hinweis: Weisen Sie das Funktionsergebnis einer Bildvariablen zu, ist die Konstante Is picture nicht notwendig. Beispiel:
 C_PICTURE($vPict)
 $vPict:=OB Get($object;"photo") //In diesem Fall ist "is picture" nicht nötig.
	Produkt: 4D
	Thema: Objekte (Sprache)
	Nummer: 
        1224
        
        
        
	
	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