| 4D v20.1Form | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 Form 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Form -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| 戻り値 | オブジェクト |   | カレントフォームに関連付けられているフォームデータ | |||||
Form コマンドは、 カレントフォームに関連付けられているオブジェクトがある場合にはそれを返します。4D は以下の場合においてはカレントフォームにオブジェクトを自動的に関連付けます:
カレントフォームがDIALOG コマンドの呼び出しによって表示されている場合、Form は空のオブジェクトを返すか、あるいはこのコマンドに引数として渡されたformData オブジェクト(あれば)を返します。
カレントフォームがサブフォームである場合、返されるオブジェクトは親コンテナ変数に応じて変わります:
詳細な情報については、ページサブフォーム の章を参照してください。
Form は画面上に表示されているテーブルフォームに関連づけられているオブジェクトを返します。出力フォームから表示されている入力フォーム(例: レコードをダブルクリックした後の入力フォーム)のコンテキストにおいては、返されたオブジェクトには以下のプロパティを持つオブジェクトを返します:
| プロパティ | 型 | 詳細 | 
| parentForm | オブジェクト | 親出力フォームのForm オブジェクト | 
人物のレコードを表示しているフォームにおいて、"Check children" ボタンを押すとその人物の子供の名前と年齢を検証あるいは変更するダイアログが開く場合を考えます:

注: "Children" オブジェクトフィールドはこの例題においての構造を示すために表示されているだけです。
検証フォームにおいて、Form オブジェクトプロパティを変数へと割り当てているものとします:

"Check children" ボタンの中身のコードは以下のようになります:
 C_LONGINT($win;$n;$i)
 C_BOOLEAN($save)
 ARRAY OBJECT($children;0)
 OB GET ARRAY([Person]Children;"children";$children) //children 配列を取得
 $save:=False //save 引数を初期化
 
 $n:=Size of array($children)
 If($n>0)
    $win:=Open form window("Edit_Children";Movable form dialog box)
    SET WINDOW TITLE("Check children for "+[Person]Name)
    For($i;1;$n) //各子供に対して
       DIALOG("Edit_Children";$children{$i}) //値を含んだダイアログを表示
       If(OK=1) //ユーザーはOKをクリックした
          $save:=True
       End if
    End for
    If($save=True)
       [Person]Children:=[Person]Children //強制的にオブジェクトフィールドを更新
    End if
    CLOSE WINDOW($win)
 Else
    ALERT("No child to check.")
 End if注: この例題ではデータベース内においてオブジェクト記法が有効化されていることが前提となります(互換性ページ を参照してください)。
フォームはそれぞれの子供についての情報を表示します:

値が変更されてOKボタンがクリックされた場合、フィールドは更新されます(その後、親のレコードも保存される必要があります)。
	プロダクト: 4D
	テーマ: フォーム
	番号: 
        1466
        
        
        
	
	初出: 4D v16 R5
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
	
 コメントを追加
コメントを追加