フォーム上でフィールドと変数はほぼ同様に動作します。
- フィールドはレコードのデータを表示し、また入力するために使用します。フォームウィザードで新規フォームを作成するとき、標準オブジェクトとしてフォームに含めるフィールドを選択します。フォームを作成したら、フォームエディターを使用して、表示フォーマットやデータ入力制御など追加のプロパティを指定できます。これらのプロパティはそれが指定されたフォーム上でのみ有効です。同じプロパティを他のフォームでも指定できますし、別なプロパティを指定することもできます。プロパティを変更したり、追加/削除したりできます。
- 変数は入力可あるいは入力不可の形態をとることができ、テキスト、数値、日付、時間、ピクチャー型等のデータを受け取れます。変数ツール
を使用してフォーム上に作成できます。
プロパティリスト内の「オブジェクト」テーマ内の変数タイプによって変数のデータの型を指定することが出来ます。
フィールドと同様、変数もデータの型を入力・表示することができます。変数はデータの一時的な保存のために使用されます。例えばよくある使われ方としては、メソッドを使用した計算結果を表示する、といったものです:
vTotal:=Quantity*Price
計算結果を表示する変数を作成し、その名前をvTotalとしています。そしてメソッドを使用して計算を行います。
メソッドを使用して入力可あるいは入力不可の変数を管理できます。入力可の変数はデータを受け入れます。フィールドに行うのと同様にデータ入力制御を設定できます。入力されたデータはオブジェクトに割り当てられた変数に代入されます。オブジェクトの変数名を使用してデータを管理できます。
フィールドオブジェクトを変数オブジェクトに、あるいはその逆に変更できます:
いつでもフォーム上にフィールドを追加あるいは削除できます。例えば以下のようなとき、フォームにフィールドを追加する必要が生じます:
- フォームウィザードで選択しなかったフィールドが必要になったとき。
- データベースストラクチャーにフィールドを追加して、それをフォームで使用する必要がある時。
フォームにフィールドを追加するには:
- オブジェクトツールバーからフィールド挿入ツール
を選択し、フォーム上にフィールドを描画する。
4Dは自動で新しいフィールドのプロパティをプロパティリスト上に表示します。 - テーブル/フィールドリストから、フィールドオブジェクトに割り当てるフィールドを選択する:
![](../../picture/380858/pict380858.en.png)
注: BLOB型のフィールドは選択できません。 - 必要に応じてフィールドにプロパティを指定する。
フィールドを作成した後、通常追加のプロパティを設定する必要があります。データ入力制御、ヘルプテキスト、メソッド、リサイズ、フォント、アピアランスオプション等を設定できます (アクティブオブジェクトのプロパティ参照)。
注: エクスプローラーのテーブルページからドラッグ&ドロップでフィールドを挿入することもできます。
新しいフィールドはあなたが配置した場所に表示されます。フィールドエリアには選択したテーブル名とフィールド名が表示されます。4Dはデフォルトでフィールドを示すラベルを配置しません。開発者がスタティックテキストエリアを使用して作成します。ラベルの内容が動的になるよう記述できる点に留意してください (スタティックテキスト中で参照を使用する参照)。
フォーム上にフィールドを配置したら、他のフォームオブジェクトと同様にサイズやフォント、フォントカラー等のプロパティを変更できます。
アクティブ、非アクティブ含め、すべてのオブジェクトタイプを他のオブジェクトタイプに変更できます。フィールドは変数に変換でき、変数はフィールドに変換できます。例えばフィールドをフォームに配置した後で、値をレコードとして格納する必要がなくなった場合、そのエリアを変数に変更できます。オブジェクトを他のオブジェクトに変更すると、オブジェクトの元のプロパティ (座標、オブジェクトメソッド、アピアランス、カラーなど) は保持されます。フィールドのデータタイプは変数のデータタイププロパティでも保持されます。ピクチャーフィールドが割り当てられたフィールドエリアを変数に変換すると、プロパティリストの変数タイプはピクチャーになります。
変数をフィールドに、フィールドを変数に変換するには、オブジェクトを選択し、プロパティリストのオブジェクトテーマからタイプドロップダウンリストでフィールドまたは変数を選択します。プロパティリストは、新しいオブジェクトタイプのプロパティを表示するために更新されます。オブジェクト名、オブジェクトメソッド、またそのプロパティ (サイズ、入力可等) には変更ありません。
変数をフィールドに変更すると、4Dはデフォルトで先頭テーブルの先頭フィールドをオブジェクトに割り当てます。データソーステーマでソーステーブルとソースフィールドを設定できます。
フィールドまたは変数に選択リストを関連付けた場合、プロパティリストの「データソース」内の関連付けのオプションを使用することが出来ます。
![](../../picture/1350255/pict1350255.en.png)
このオプションにより、保存するデータのサイズを最適化できるようになります。詳細な情報に関しては、 関連付け(値または参照番号)を参照して下さい。
フォーム上のピクチャー変数にピクチャーを表示する際には特別なメカニズムが使用されます。そのために変数を設定する際には、その変数がピクチャーを表示するために使用されることを明確に指定しなければなりません。この指定はフォームがロードされる前 (On Loadフォームイベントよりも前に) に行う必要があります。
これを行うには、以下の方法があります:
- フォームを呼び出す前 (例えばDIALOGコマンドを呼び出す前) にC_PICTURE(varName) を実行する
または - プロパティリストの変数タイプポップアップメニューからピクチャーを選択する
これのいずれかを行わない場合、ピクチャー変数は正しくピクチャーを表示できません (インタープリターモードのみ)。