| 4D v20.1OB SET ARRAY | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 OB SET ARRAY 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OB SET ARRAY ( object ; property ; array ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| object | Object Field, オブジェクト |   | 構造化されたオブジェクト | |||||
| property | テキスト |   | 設定したいプロパティ名 | |||||
| array | 配列, 変数 |   | プロパティに保存したい配列 | |||||
OB SET ARRAYコマンドは、 object 引数で指定したランゲージオブジェクトの中の property と関連付ける配列 array を定義します。
object で指定するオブジェクトは、 C_OBJECT コマンドを使用して作成されている、あるいはオブジェクトフィールドが選択されている必要があります。
property 引数には、作成または修正したいプロパティのラベル(名前)を渡して下さい。オブジェクト内に指定されたプロパティが存在する場合、その値は指定した値で上書きされます。プロパティが存在しない場合、新たにプロパティが作成されます。
property 引数では、大文字と小文字は区別されることに注意して下さい。
array 引数には、プロパティの値として関連付けたい配列を渡して下さい。渡せる配列の型としては複数の型がサポートされています: 実数、倍長整数、テキスト、ブール、オブジェクト、ポインター。4D v16 R4以降はピクチャー配列もサポートされます。
注:
テキスト配列を使用する場合:
 C_OBJECT($Children)
 ARRAY TEXT($arrChildren;3)
 $arrChildren{1}:="Richard"
 $arrChildren{2}:="Susan"
 $arrChildren{3}:="James"
 
 OB SET ARRAY($Children;"Children";$arrChildren)
  // Value of $Children = {"Children":["Richard","Susan","James"]}配列に要素を追加する場合:
 ARRAY TEXT($arrText;2)
 $arrText{1}:="Smith"
 $arrText{2}:="White"
 C_OBJECT($Employees)
 OB SET ARRAY($Employees;"Employees";$arrText)
 APPEND TO ARRAY($arrText;"Brown") // 4D 配列に追加する
  // $Employees = {"Employees":["Smith","White"]}
 
 OB SET ARRAY($Employees;"Employees";$arrText)
  // $Employees = {"Employees":["Smith","White","Brown"]}テキスト配列の一要素を配列として使用する場合:
  // $Employees = {"Employees":["Smith","White","Brown"]}
 OB SET ARRAY($Employees ;"Manager";$arrText{1})
  // $Employees = {"Employees":["Smith","White","Brown"],"Manager":["Smith"]}オブジェクト配列を使用する場合:
 C_OBJECT($Children;$ref_richard;$ref_susan;$ref_james)
 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}]}オブジェクトはデバッガ内では以下の様に表示されます:

オブジェクトフィールドを使用する場合を考えます:
 ARRAY TEXT($arrGirls;3)
 $arrGirls{1}:="Emma"
 $arrGirls{2}:="Susan"
 $arrGirls{3}:="Jamie"
 OB SET ARRAY([People]Children;"Girls";$arrGirls)
ピクチャー配列を使用する場合:
 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)
	プロダクト: 4D
	テーマ: オブジェクト(ランゲージ)
	番号: 
        1227
        
        
        
	
	初出: 4D v14
	変更: 4D v15
	変更: 4D v16 R4
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
	
 コメントを追加
コメントを追加