4D v14.3

OB Get

Página Inicial

 
4D v14.3
OB Get

OB Get 


 

OB Get ( objeto ; propriedade {; tipo} ) -> Resultado 
Parâmetro Tipo   Descrição
objeto  Object in Objeto estruturado
propriedade  Texto in Nome da propriedade a ler
tipo  Inteiro longo in Tipo ao qual converter o valor
Resultado  Booleano, Data, Object, Ponteiro, Real, Texto in Valor atual de propriedade

O comando  OB Get devolve o valor atual da propriedade do objeto, convertido opcionalmente no tipo definido.

objeto deve ter sido definido com o comando C_OBJECT.

No parâmetro propriedade, passe a etiqueta da propriedade a ler. Tenha em conta que o parâmetro propriedade é sensível a maiúsculas e minúsculas

Por padrão, 4D devolve o valor da propriedade em seu tipo original. Pode "forçar" a escritura do valor devolvido utilizando o parâmetro opcional tipo. Para isso, em tipo passe uma das seguintes constantes que se encontram no tema Tipos de campos e variáveis:

Constante Tipo Valor
Is Boolean Inteiro longo 6
Is date Inteiro longo 4
Is integer Inteiro longo 8
Is integer 64 bits Inteiro longo 25
Is JSON null Inteiro longo 255
Is LongInt Inteiro longo 9
Is object Inteiro longo 38
Is real Inteiro longo 1
Is string var Inteiro longo 24
Is text Inteiro longo 2
Is time Inteiro longo 11
Object array Inteiro longo 39

O comando devolve o valor da propriedade. Vários tipos de dados estão suportados. Leve em conta que:

  • Um ponteiro se devolve tal qual, pode ser avaliado utilizando o comando JSON Stringify,
  • As datas se devolvem no formato "\"YYYY-MM-DDTHH:mm:ssZ\""
  • Em valores reais, o separador decimal é sempre um ponto "."
  • As horas se devolvem como um número (segundos para 4D, milissegundos para JSON).

Recuperação de um valor de tipo texto:

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

Recuperação de um valor real convertido em inteiro longo:

 OB SET($ref ;"age";42)
 $age:=OB Get($ref ;"age") // $age é um número real (default)
 $age:=OB Get($ref ;"age";Is LongInt// $age é um inteiro longo

Recuperação dos valores de um objeto:

 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)

Modificando a idade de um empregado duas vezes:

 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// criamos um objeto array
 APPEND TO ARRAY($myArray;$ref_jim)
  // mudamos a idade de John de 35 a 25
 OB SET($myArray{1};"age";25)
  // mudamos a idade de "John" no array
 For($i;1;Size of array($myArray))
    If(OB Get($myArray{$i};"name")="John")
       OB SET($myArray{$i};"age";36) // em troca de 25
  // $ref_john={"name":"John","age":36}
    End if
 End for

Não serialização de uma cadeia de dados com formato ISO:

 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

Utilização de objetos aninhados:

 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)
  //o
 $childName:=OB Get(OB Get($children;"children");"lastname")
  // $childName = "Monroe" (text)

 
PROPRIEDADES 

Produto: 4D
Tema: Objetos (Linguagem)
Número 1224

 
HISTÓRIA 

New
Criado por: 4D v14

 
VER TAMBÉM 

OB Copy
Tipos de campos e variáveis

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)