4D v14.3OB Get |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
OB Get
|
OB Get ( object ; property {; type} ) -> Function result | ||||||||
Parameter | Type | Description | ||||||
object | Object |
![]() |
Structured object | |||||
property | Text |
![]() |
Name of property to read | |||||
type | Longint |
![]() |
Type to which to convert the value | |||||
Function result | Boolean, Date, Object, Pointer, Real, Text |
![]() |
Current value of property | |||||
The OB Get command returns the current value of the property of the object, optionally converted into the type specified.
object must have been defined using the C_OBJECT command.
In the property parameter, pass the label of the property to be read. Note that the property parameter is case sensitive.
By default, 4D returns the value of the property in its original type. You can "force" the typing of the value returned using the optional type parameter. To do this, in type you pass one of the following constants found in the Field and Variable Types theme:
Constant | Type | Value |
Is Boolean | Longint | 6 |
Is date | Longint | 4 |
Is integer | Longint | 8 |
Is integer 64 bits | Longint | 25 |
Is JSON null | Longint | 255 |
Is LongInt | Longint | 9 |
Is object | Longint | 38 |
Is real | Longint | 1 |
Is string var | Longint | 24 |
Is text | Longint | 2 |
Is time | Longint | 11 |
Object array | Longint | 39 |
The command returns the value of the property. Several types of data are supported. Note that:
Retrieving a text type value:
Retrieving a real number value converted into a longint:
OB SET($ref ;"age";42)
$age:=OB Get($ref ;"age") // $age is a real number (default)
$age:=OB Get($ref ;"age";Is LongInt) // $age is a longint
Retrieving the values of an object:
Modifying the age of an employee twice:
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) // we create an object array
APPEND TO ARRAY($myArray;$ref_jim)
// we change the age for John from 35 to 25
OB SET($myArray{1};"age";25)
// We replace the age of "John" in the array
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
Deserializing a data string formatted in ISO:
Using nested objects:
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)
Product: 4D
Theme: Objects (Language)
Number:
1224
Created: 4D v14
Field and Variable Types
OB Copy
4D Language Reference ( 4D v14 R2)
4D Language Reference ( 4D v14 R3)
4D Language Reference ( 4D v14.3)
4D Language Reference ( 4D v14 R4)