2019年のブログ記事トップ10によると、「Formula:シンプルさの背後にあるより多くの力」の記事は、かなり上位にランクインしました……トップ5に入っています。Formula 、皆さんの注目を集めたようです。そこで、Vincent de Lachaux(開発者、4Dエキスパート )が教えてくれた、もうひとつのヒントをご紹介しましょう。
一般的なダイアログで数式を使用する
FORM コマンドを使うと、一般的な警告ダイアログを簡単に作成することができます。オブジェクトに表示されるさまざまなテキストにダイアログを指示するだけです。
$object:=New Object(\
"mainText"; "Are you sure to empty the trash?";\
"additionalText"; "You can't undo this action.";\
"okText"; "Empty Trash";\
"cancelText"; "Cancel "
)
このオブジェクトに、OKボタンとCancelボタンの動作を表す数式を追加すると、さらに充実したものになります。式は、4D コマンドまたはプロジェクト・メソッドを、パラメータ付きで、 またはパラメータなしで呼び出すことができます。
$objectokAction:= ( ("Trash"; "ok")) . := ( ("Trash"; "cancel")FormulamyMethod
)
$objectcancelActionFormulamyMethod
次に、ボタンにジェネリックコードを使用します。
Form.cancelAction.call()
// または
Form .
okAction.call()
これで完了です。これで、完全に汎用的なアラートダイアログができました。
Storage オブジェクトに数式を追加する
コードのどこかに検証や計算のための関数がある場合、Storage オブジェクトに数式を追加することができます。
以下はその例です。
// Define common functions
If // Register the function in Storage( . = ) ( ) . := ( . ) := (...) . . := (....) StorageƒNull
UseStorage
StorageƒNew shared object
UseStorageƒ
StorageƒisValidFormula
StorageƒcomputeXFormula
End use
End use
End if
この関数を使うと、ストレージの中身を変更しないので、 Use/End Use は不要になります。
コンポーネントの読み込み時に計算式を作成する
ホストデータベースにあるコンポーネントのメソッドを使用するには、まずそのメソッドを共有する必要があります。しかし、メソッドを追加しているときに、忘れがちなことがあります。ここで、コンポーネントの数式を共有するためのアイデアを紹介します!
コンポーネントで、ホストデータベースにオブジェクトを返すメソッドを作成します。このオブジェクトには、あなたのコンポーネントのメソッドを呼び出す数式が含まれています。結果は?共有するメソッドは1つだけです。クールでしょう?
今回のブログは以上です。次はあなたがこのヒントを誰かと共有する番です。