4D v16.3

OB GET PROPERTY NAMES

Home

 
4D v16.3
OB GET PROPERTY NAMES

OB GET PROPERTY NAMES 


 

OB GET PROPERTY NAMES ( Objekt ; arrEigenschaften {; arrTypen} ) 
Parameter Typ   Beschreibung
Objekt  Objekt, Objektfeld in Strukturiertes Objekt
arrEigenschaften  Array Text in Namen der Eigenschaft
arrTypen  Array Lange Ganzzahl in Typen der Eigenschaft

Der Befehl OB GET PROPERTY NAMES gibt in arrEigenschaften die Namen der Eigenschaften im Objekt zurück, das im Parameter Objekt definiert ist.

Objekt muss zuvor über den Befehl C_OBJECT definiert werden oder ein 4D Objektfeld angeben.

Im Parameter arrEigenschaften übergeben Sie ein Array Text. Ist das Array nicht vorhanden, erstellt es der Befehl und passt die Größe automatisch an.

In arrTypen können Sie optional auch ein Array Lange Ganzzahl übergeben. Für jedes Element von arrEigenschaften gibt der Befehl in arrTypen den Typ des Werts zurück, der in der Eigenschaft gespeichert ist. Sie können die empfangenen Werte mit den folgenden Konstanten unter dem Thema Feld und Variablentypen vergleichen:

Konstante Typ Wert
Is Boolean Lange Ganzzahl 6
Is JSON null Lange Ganzzahl 255
Is object Lange Ganzzahl 38
Is real Lange Ganzzahl 1
Is text Lange Ganzzahl 2
Object array Lange Ganzzahl 39

Testen, ob ein Objekt nicht leer ist:

 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

Das Element eines Objekt Array verwenden:

 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//zusätzliches Attribut
 APPEND TO ARRAY($arrayChildren;$ref_susan)
 OB SET($ref_james;"name";"James")
 OB SET NULL($ref_james;"age") //Attribut 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



Siehe auch 

OB Get type
OB SET NULL

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Objekte (Sprache)
Nummer: 1232

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v14
Geändert: 4D v15

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)