メインコンテンツまでスキップ
バージョン: 開発中

FORM GET ENTRY ORDER

FORM GET ENTRY ORDER ( objectNames {; pageNumber | *} )

引数説明
objectNamesText 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) // 新しい入力順を適用します

参照

FORM SET ENTRY ORDER