メインコンテンツまでスキップ
バージョン: 20 R7 BETA

GET LIST ITEM PARAMETER ARRAYS

GET LIST ITEM PARAMETER ARRAYS ( {* ;} list ; itemRef | * ; arrSelection {; arrValues} )

引数説明
*演算子指定時listはオブジェクト名 (文字列)省略時listはリスト参照番号
listInteger, Textリストタイプのオブジェクト名 (* 指定時)またはリスト参照番号 (* 省略時)
itemRef | *倍長整数, 演算子項目参照番号、または0 = リストに最後に追加された項目、または* = カレントリスト項目
arrSelectionText arrayパラメーター名配列
arrValuesText arrayパラメーター値配列

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

GET LIST ITEM PARAMETER ARRAYSコマンドはlist 引数で指定した参照またはオブジェクト名を持つ階層リスト中で、itemRef で指定した項目に割り当てられたパラメーター (およびその値) を一回の呼び出しで取り出すことができます。

項目に関連付けられたパラメーターは各項目の追加の情報を格納しています。これらはSET LIST ITEM PARAMETERコマンドで設定できます。

一番目のオプションの引数 * を渡すと、list はフォーム中でリストを表示するリストオブジェクトに対応するオブジェクト名 (文字列) です。この引数を渡さない場合、list は階層リスト参照 (ListRef) です。ひとつのリストオブジェクトだけ、あるいは (二番目の * を使用しないで) 項目を構造的に選択する場合、どちらのシンタックスでも使用できます。しかし同じリストを複数のリストオブジェクトに表示し、かつ (二番目の * を使用して) 現在選択されている項目に対してコマンドを適用する場合、各リストオブジェクトは異なるカレント項目を持つことができるため、オブジェクト名に基づくシンタックスを使用しなければなりません。

GET LIST ITEM PARAMETER ARRAYSitemRef項目に設定されたパラメーターをarrSelectorsテキスト配列に返します。arrValuesテキスト配列が渡された場合、これらのパラメーターに設定された値も返します。

arrValues はテキスト配列でなければなりません。関連付けた値がテキストでない (数値やブール) の場合、文字に変換されます (True="1", False="0")。

例題

以下のコードで構築された階層リストがあるとき:

 <>HL:=New list
 $ID:=30
 APPEND TO LIST(<>HL;"Martin";$ID)
  //5つのパラメーター
 SET LIST ITEM PARAMETER(<>HL;$ID;"Firstname";"Phil")
 SET LIST ITEM PARAMETER(<>HL;$ID;"Birthday";"01/02/1978")
 SET LIST ITEM PARAMETER(<>HL;$ID;"Male";True) //ブール
 SET LIST ITEM PARAMETER(<>HL;$ID;"Age";33) //数値
 SET LIST ITEM PARAMETER(<>HL;$ID;"City";"Dallas")

*説明を簡単にするために、階層リスト<>HLが同じ名前のフォームオブジェクト"<>HL"に関連づけられています。
リスト中で"Martin"が選択されているとき、以下のコードを使用してそのパラメーターを取得できます:

 ARRAY TEXT(arrParamNames;0)
 GET LIST ITEM PARAMETER ARRAYS(*;"<>HL";*;arrParamNames)
  // arrParamNames{1} = "Firstname"
  // arrParamNames{2} = "Birthday"
  // arrParamNames{3} = "Male"
  // arrParamNames{4} = "Age"
  // arrParamNames{5} = "City"

パラメーターの値も取得したい場合、以下のようにします:

 ARRAY TEXT(arrParamNames;0)
 ARRAY TEXT(arrParamValues;0)
 GET LIST ITEM PARAMETER ARRAYS(*;"<>HL";*;arrParamNames;arrParamValues)
  // arrParamValues{1} = "Phil"
  // arrParamValues{2} = "01/02/1978"
  // arrParamValues{3} = "1"
  // arrParamValues{4} = "33"
  // arrParamValues{5} = "Dallas"

参照

SET LIST ITEM PARAMETER