OB SET
OB SET ( objeto ; propriedade ; valor {; propriedade2 ; valor2 ; ... ; propriedadeN ; valorN} )
Parâmetro | Tipo | Descrição | |
---|---|---|---|
objeto | Object, Object | → | Objeto estruturado |
propriedade | Text | → | Nome da propriedade a configurar |
valor | Expression | → | Novo valor da propriedade |
Descrição
O comando OB SET cria ou modifica um ou mais pares de propriedade/valor no objeto de linguagem designado pelo parâmetro objeto.
objeto deve ter sido definido usando o comando C_OBJECT ou designar um campo objeto 4D.
No parâmetro propriedade, passe a etiqueta da propriedade a criar ou modificar. Se a propriedade já existe em objeto, seu valor se atualiza. Se não existe, é criado.
Tenha em conta, que o parâmetro propriedade é sensível as maiúsculas e minúsculas.
No parâmetro valor, passe o valor que deseja definir para a propriedade. Se admitem vários tipos de dados. Tenha em conta que:
- Se passar um ponteiro, é mantido como ele é, se avalia utilizando o comando JSON Stringify
- Se passar uma data, será armazenada como tipo data ou como um texto em formato ISO dependendo da sua configuração atual de banco de dados. Para saber mais, veja a opção "Use date type instead of ISO date format in objects" em Página Compatibilidade.
- Se passar uma hora, se armazena em forma de um número de milissegundos (Real) em objeto
- Se passar um objeto de linguagem, o comando utiliza a referência do objeto e não uma cópia. Qualquer modificação aplicada ao objeto ou coleção será reportada para todas as referências.
- a partir de 4D v16 R4, pode passar uma imagem de todos os tipos suportados (ver Formatos Nativos Compatíveis ).
Exemplo 1
Criação de um objeto e adição de uma propriedade de tipo texto:
var $Object : Object
OB SET($Object ;"FirstName";"John";"LastName";"Smith")
// $Object = {"FirstName":"John","LastName":"Smith"}
Exemplo 2
Criação de um objeto e adição de uma propriedade de tipo booleano:
var $Object : Object
OB SET($Object ;"LastName";"smith";"age";42;"client";True)
// $Object = {"LastName":"smith","age":42,"client":true}
Exemplo 3
Modificação de uma propriedade:
// $Object = {"FirstName":"John","LastName":"Smith"}
OB SET($Object ;"FirstName";"Paul")
// $Object = {"FirstName":"Paul","LastName":"Smith"}
Exemplo 4
Adição de uma propriedade:
// $Object = {"FirstName":"John","LastName":"Smith"}
OB SET($Object ;"department";"Accounting")
// $Object = {"FirstName":"Paul","LastName":"Smith","department":"Accounting"}
Exemplo 5
Renomeando uma propriedade:
var $Object : Object
OB SET($Object ;"LastName";"James";"age";35)
// $Object = {"LastName":"James","age":35}
OB SET($Object ;"FirstName";OB Get($Object ;"LastName"))
// $Object = {"FirstName":""James","nom":"James","age":35}
OB REMOVE($Object ;"LastName")
// $Object = {"FirstName":""James","age":35}
Exemplo 6
Usando um ponteiro:
// $Object = {"FirstName":"Paul","LastName":"Smith"}
var $LastName : Text
OB SET($Object ;"LastName";->$LastName)
// $Object = {"FirstName":"Paul","LastName":"->$LastName"}
$JsonString:=JSON Stringify($Object)
// $JsonString="{"FirstName":"Paul","LastName":""}
$LastName:="Wesson"
$JsonString:=JSON Stringify($Object)
// $JsonString="{"FirstName":"Paul","LastName":"Wesson"}
Exemplo 7
Usando um objeto:
var $ref_smith : Object
OB SET($ref_smith ;"name";"Smith")
var $ref_emp : Object
OB SET($ref_emp ;"employee";$ref_smith)
$Json_string :=JSON Stringify($ref_emp)
// $ref_emp = {"employee":{"name":"Smith"}} (object)
// $Json_string = "{"employee":{"name":"Smith"}}" (string)