FORM GET ENTRY ORDER
FORM GET ENTRY ORDER ( objectNames {; pageNumber | *} )
引数 | 型 | 説明 | |
---|---|---|---|
objectNames | Text array | ← | 入力順に並べられたオブジェクト名の配列 |
pageNumber | * | 倍長整数, 演算子 | → | 定義された入力順を取得するページの番号 (省略時はカレントページ)、または * でカレントページの実際の入力順 |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
FORM GET ENTRY ORDER コマンドは フォーム上のオブジェクトの名前を、その入力順に並べて objectNames に返します。
- * パラメーターを省略した場合、FORM GET ENTRY ORDER は最後に FORM SET ENTRY ORDER コマンドによって定義された入力順を返します。pageNumber パラメーターは任意です:
- pageNumber を省略した場合、objectNames 配列はカレントページの入力順を返します。
- pageNumber を指定した場合、objectNames 配列は pageNumber で指定されたページの入力順を返します。
どちらの場合でも、カレントフォームに対して FORM SET ENTRY ORDER コマンドが前もってコールされていないと、objectNames 配列は空で返されます。
- * を渡した場合には、FORM GET ENTRY ORDER はカレントページの実際の入力順を返します。つまり、objectNames 配列には有効なオブジェクト名のみが返されます (有効なオブジェクトについての詳細は FORM SET ENTRY ORDER コマンドの説明を参照ください)。実際のフォーム入力順は次のいずれかを反映します:
- オブジェクトの階層に準じたデフォルトのフォーム入力順
- フォームエディターが使用された場合はその入力順 (データの入力順を変更する 参照)
- FORM SET ENTRY ORDER コマンドがカレントプロセスで呼び出された場合には、その入力順
実際の入力順にはページ 0 および継承フォームのオブジェクトが常に含まれます。
注: このコマンドが親フォームに対して呼ばれた場合、サブフォーム内の入力順は返されません。
例題
現在の入力順からいくつかのオブジェクトを除外します:
ARRAY TEXT($arrTabOrderObject;0)
var $vElem : Integer
FORM GET ENTRY ORDER($arrTabOrderObject;*) //実際の入力順を取得します
Repeat
$vElem:=Find in array($arrTabOrderObject;"vTax@")
If($vElem>0) // "vTax" で始まる名前を持つオブジェクトをデータ入力順から除外します
DELETE FROM ARRAY($arrTabOrderObject;$vElem)
End if
Until($vElem<0)
FORM SET ENTRY ORDER($arrTabOrderObject) // 新しい入力順を適用します