4D v16.3OB GET PROPERTY NAMES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OB GET PROPERTY NAMES
|
OB GET PROPERTY NAMES ( objeto ; arrProp {; arrTipos} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
objeto | Objeto, Campo Objeto |
![]() |
Objeto estruturado | |||||
arrProp | Array texto |
![]() |
Nomes das propriedades | |||||
arrTipos | Array inteiro longo |
![]() |
Tipos de propriedades | |||||
O comando OB GET PROPERTY NAMES devolve, em arrProp, os nomes das propriedades contidas no objeto de linguagem designados pelo parâmetro objeto .
objeto deve ter sido definido utilizando o comando C_OBJECT ou designar um campo objeto 4D.
Passe um array texto no parâmetro arrProp. Se o array não existe, o comando cria e o redimensiona de forma automática.
Opcionalmente, também pode passar um array inteiro longo em arrTipos. Para cada elemento de arrProp, o comando devolve, em arrTipos, o tipo de valor armazenado na propriedade. Pode comparar os valores recebidos com as seguintes constantes, que se encontram no tema "Tipos de campos e variáveis":
Constante | Tipo | Valor |
Is Boolean | Inteiro longo | 6 |
Is JSON null | Inteiro longo | 255 |
Is object | Inteiro longo | 38 |
Is real | Inteiro longo | 1 |
Is text | Inteiro longo | 2 |
Object array | Inteiro longo | 39 |
Deseja provar que um objeto não está vazio:
ARRAY TEXT(arrNames;0)
ARRAY LONGINT(arrTypes;0)
C_OBJECT($ref_richard)
OB SET($ref_richard;"name";"Richard";"age";7)
OB GET PROPERTY NAMES($ref_richard;arrNames;arrTypes)
// arrNames{1}="name", arrNames{2}="age"
// arrTypes{1}=2, arrTypes{2}=1
If(Size of array(arrNames)#0)
// ...
End if
Utilizando um elemento de array de objetos:
C_OBJECT($Children;$ref_richard;$ref_susan;$ref_james)
ARRAY OBJECT($arrayChildren;0)
OB SET($ref_richard;"name";"Richard";"age";7)
APPEND TO ARRAY($arrayChildren;$ref_richard)
OB SET($ref_susan;"name";"Susan";"age";4;"girl";True) //atributo adicional
APPEND TO ARRAY($arrayChildren;$ref_susan)
OB SET($ref_james;"name";"James")
OB SET NULL($ref_james;"age") //atributo null
APPEND TO ARRAY($arrayChildren;$ref_james)
OB GET PROPERTY NAMES($arrayChildren{1};$arrNames;$arrTypes)
// $arrayChildren{1} = {"name":"Richard","age":7}
// $arrNames{1}="name"
// $arrNames{2}="age"
// $arrTypes{1}=2
// $arrTypes{2}=1
OB GET PROPERTY NAMES($arrayChildren{2};$arrNames;$arrTypes)
// $arrayChildren{3} = {"name":"Susan","age":4,"girl":true}
// $arrNames{1}="name"
// $arrNames{2}="age"
// $arrNames{3}="girl"
// $arrTypes{1}=2
// $arrTypes{2}=1
// $arrTypes{3}=6
OB GET PROPERTY NAMES($arrayChildren{3};$arrNames;$arrTypes)
// $arrayChildren{3} = {"name":"James","age":null}
// $arrNames{1}="name"
// $arrNames{2}="age"
// $arrTypes{1}=2
// $arrTypes{2}=255
Produto: 4D
Tema: Objetos (Linguagem)
Número
1232
Criado por: 4D v14
Modificado: 4D v15
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)