OB SET ARRAY
OB SET ARRAY ( objeto ; propriedade ; array )
Parâmetro | Tipo | Descrição | |
---|---|---|---|
objeto | Object, Object | → | Objeto estruturado |
propriedade | Text | → | Nome da propriedade a definir |
array | Array, Variable | → | Array a armazenar em propriedade |
Descrição
O comando OB SET ARRAY define o array a ser associado a propriedade no objeto definido pelo parâmetro objeto.
objeto deve ter sido definido com 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 leva em conta as maiúsculas e minúsculas.
No parâmetro array, passe o array que deve passar como valor da propriedade. Se admitem vários tipos de array: real, inteiro longo, texto, booleano, objeto, ponteiro ou imagem.
Nota:
- variáveis simples são compatíveis com o parâmetro array, nesse caso um array de valor único é criado e associado com a propriedade
- não é possível utilizar arrays de duas dimensões.
Exemplo 1
Utilizando um array texto:
var $Children : Object
ARRAY TEXT($arrChildren;3)
$arrChildren{1}:="Richard"
$arrChildren{2}:="Susan"
$arrChildren{3}:="James"
OB SET ARRAY($Children;"Children";$arrChildren)
// Valor de $Children = {"Children":["Richard","Susan","James"]}
Exemplo 2
Adição de um elemento de um array:
ARRAY TEXT($arrText;2)
$arrText{1}:="Smith"
$arrText{2}:="White"
var $Employees : Object
OB SET ARRAY($Employees;"Employees";$arrText)
APPEND TO ARRAY($arrText;"Brown") // Add to the 4D array
// $Employees = {"Employees":["Smith","White"]}
OB SET ARRAY($Employees;"Employees";$arrText)
// $Employees = {"Employees":["Smith","White","Brown"]}
Exemplo 3
Utilizando um array texto com seleção de um elemento:
// $Employees = {"Employees":["Smith","White","Brown"]}
OB SET ARRAY($Employees ;"Manager";$arrText{1})
// $Employees = {"Employees":["Smith","White","Brown"],"Manager":["Smith"]}
Exemplo 4
Uso de um array objeto:
var $Children;$ref_richard;$ref_susan;$ref_james : Object
ARRAY OBJECT($arrChildren;0)
OB SET($ref_richard;"nom";"Richard";"age";7)
APPEND TO ARRAY($arrChildren;$ref_richard)
OB SET($ref_susan;"name";"Susan";"age";4)
APPEND TO ARRAY($arrChildren;$ref_susan)
OB SET($ref_james;"name";"James";"age";3)
APPEND TO ARRAY($arrChildren;$ref_james)
// $arrChildren {1} = {"name":"Richard","age":7}
// $arrChildren {2} = {"name":"Susan","age":4}
// $arrChildren {3} = {"name":"James","age":3}
OB SET ARRAY($Children;"Children";$arrChildren)
// $Children = {"Children":[{"name":"Richard","age":7},{"name":"Susan",
// "age":4},{"name":"James","age":3}]}
Assim é como o objeto aparece no depurador:
Exemplo 5
ARRAY TEXT($arrGirls;3)
$arrGirls{1}:="Emma"
$arrGirls{2}:="Susan"
$arrGirls{3}:="Jamie"
OB SET ARRAY([People]Children;"Girls";$arrGirls)
Exemplo 6
Usar um array de imagem:
ARRAY PICTURE($arrPhotos;3)
READ PICTURE FILE("pict1.jpg";$arrPhotos{1})
READ PICTURE FILE("pict2.jpg";$arrPhotos{2})
READ PICTURE FILE("pict3.jpg";$arrPhotos{3})
OB SET ARRAY([Cities]Places;"Photoset";$arrPhotos)
Ver também
Conversões de Tipo entre coleções e arrays 4D
OB GET ARRAY
OB SET