クラシックな4Dフォームをダイナミックフォームに変換

Deeplからの自動翻訳

顧客やユーザーのニーズによって、フォームを変更する必要があるかもしれません。例えば、あるユーザーにとっては黒が完璧でも、別のユーザー(青を究極の完璧と見る人)にとってはそうでない場合もあるでしょう。幸運なことに、ダイナミックフォーム(4D v16 R6で導入)は、ユーザーの好みに対応するために、ここにあります。しかし、既存のフォームをダイナミックフォームに書き換えるのは難しい作業かもしれませんし、白紙の状態からスタートするのは簡単ではありません。理想を言えば、修正や改良が可能なドラフトを用意するのがベストでしょう。4D v17 R3では、クラシックな4Dフォーム(.4DBファイルに保存)をダイナミックフォームに簡単に変換することができるようになりました。

データベースの例

このために、新しいコマンドが用意されています。フォーム名を渡すと、そのフォームを記述したオブジェクトを受け取ることができます。

$oForm:=FORM Convert to dynamic("myProjectForm")

そうすると、フォームにすばやく簡単に変更を加えることができます。たとえば、フォームの「キャンセル」ラベルを持つすべてのオブジェクトのフォントカラーをコードで変更することができます。

// iterate on all objects of first page
$pageObjects:=$oForm.pages[1].objects
For each ($object;$pageObjects)
If (String($pageObjects[$object].text)="@Cancel@")// all widgets with a "Cancel" caption text
$pageObjects [$object].stroke:="red"// change it to red color
End if
End for each

DIALOG (
$oForm)

その他の例としては、ダイナミックフォームをユーザーのコンピュータのファイルに保存して、この特定のユーザーだけにパーソナライズされた修正を実装することができます。

フォントの色については、簡単な例でした。フォント、フォントサイズ、入力可能な文字、フォーマット、位置、リサイズ、リサイズオプション、割り当てられたオブジェクトメソッドやフォームイベントなど、まだまだたくさんあります。その場でフォームを完全に再設計することも可能です。可能性は無限大です

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。