4D v18 R5 では、コードを書くのを簡単にする新しいコマンドを導入しています。 VP SET CUSTOM FUNCTIONS.4D View Proで4Dフォーミュラを実行するカスタム関数を作成します。
このコマンドのおかげで、4D コマンド、フィールド、変数、メソッド、または任意の式を、セルの数式で使用できるようになりました。例えば、4D View Pro でシンプルな変数を使用するためにメソッドを作成する必要はなく、Formula にパラメータとして渡すだけでよいのです。
VP SET CUSTOM FUNCTIONS4D View Pro からアクセスできます。
- 4D 変数
- フィールド
- メソッド
- 4Dコマンド
ロードイベント中に、4D View Pro でアクセスしたい 4D 表現をすべて宣言する必要があります。
まず、オブジェクトを作成し、オブジェクトの属性を使って、メソッドのコール名を定義します。
$o:=New object
//Name of the function in 4D View Pro: "DRIVERS_LICENCE"
$o .DRIVERS_LICENCE:=
.New object
次に、式に基づいた数式を含むformula 属性を追加します。この式は、セルで使用されたときに計算されます。
DRIVERS_LICENCE 関数が以下のものを参照している場合。
- グローバル変数
$oDRIVERS_LICENCE. := ( )formulaFormulaDriverLicence
- フィールドテーブル
$oDRIVERS_LICENCE. := ([ ]formulaFormulaUsers
)DriverLicence)
- メソッド。
$o.DRIVERS_LICENCE.formula:=Formula(DriverLicenceState)
- 4Dコマンド。
$o.drivers_licence:=Formula(Choose(DriverLicence; "Obtained"; "Failed"))
- 4D式:
$oDRIVERS_LICENCE. := ( . . ( ).) . . := . . . ( ("name"; "ID"; "type"; ))formulaFormuladsUsersget$1DriverLicence
$oDRIVERS_LICENCEparametersNew collection
$oDRIVERS_LICENCEparameterspushNew object Is longint
関数が何を行うかについての説明を追加することができます。
$o.DRIVERS_LICENCE.summary:="運転免許証の取得結果を返す"
また、メソッドを参照する場合は、関数が期待するパラメータの名前や型など、いくつかのパラメータを追加することができます。
$oBIRTH_INFORMATION$oparametersIs time
$oBIRTH_INFORMATIONsummary:= . . := ( ) . . := . ( ("name"; "First name"; "type"; ) . . . ( ("name"; "Birthday"; "type"; ) . . ( ("name"; "Time of birth".", "Time of birth") ;New object
$oBIRTH_INFORMATIONformulaFormulaBirthInformation
$oBIRTH_INFORMATIONparametersNew collection
BIRTH_INFORMATIONpushNew objectIs text
$oBIRTH_INFORMATIONparameterspushNew objectIs date
$oBIRTH_INFORMATIONparameterspushNew object
オブジェクトにすべての情報を入力し終えたら、4D View Pro で利用できるようにする必要があります。単純に VP SET CUSTOM FUNCTIONSコマンドに渡すだけです。
VP SET CUSTOM FUNCTIONS("ViewProArea";$o)
そして、出来上がりです。4D View Pro で新機能が利用できます。