ダイナミックフォームの入力順序を簡単にカスタマイズ可能

Deeplからの自動翻訳

ダイナミックフォームのパワーは、4D v16 R6で導入され、オブジェクトに組み込んだり、テキストファイルから読み込んだりして、その場でフォームを構築することができるようになりました。これは、アプリケーションのニーズに合わせてフォームが頻繁に変更される世界では、非常に便利な機能です。

4Dでは、バイナリーフォームもダイナミックフォームも、入力順序は通常、zオーダーに従います。4D v17 R6では、必ずしもzオーダーに関連しない入力順序を定義することができるようになりました。

フォーム定義の各ページには、zオーダーに従って配置されたフォーム要素のリストを含む “objects “属性があります。新しい“entryOrder” 属性が追加され、独自のカスタマイズされた入力順序を指定できるようになりました。この属性が未定義の場合、4Dはzオーダー(”objects “属性で定義されたオーダー)を使用します。

以下は、2つの入力フィールドとボタンを持つダイナミックフォームの例です。

// Create inputs and button
$text1:= ("type"; "input"; "top";20; "left";140; "width";100; "height";18) := ("type"; "input";「top」;20; "left";20; "width";100; "height";18) New object
$text2New object
$button := ("type"; "button"; "text"; "OK"; "top";60; "left";140; "width";100; "height";20) := ("text2"; "text1") := ("objects"; ("text1"; ; "text2"; ; "button"; ); "entryOrder";New object

// Create entry order collection
$entryOrderNew Collection

// Create page with form objects and entry order
$pageNew objectNew object$text1$text2$button$entryOrder
(ページ) ) := ("pages"; ( ; ); "windowTitle"; "My form"; "rightMargin";20; "bottomMargin";20) := ( )

// Create form
$formNew object New collectionNull$page

// Load the form
$wOpen form window$form

、 (
DIALOG$form)

と表すことができる。

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