ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
データ入力の制御と補助
|
入力フィルター | 説明 |
~A | すべての文字が入力可能、大文字に変換される。 |
&9 | 数字だけが入力可能。 |
&A | 大文字の文字だけが入力可能。 |
&a | 文字だけが入力可能(大文字と小文字)。 |
&@ | 特殊記号を除く数字と文字が入力可能。 |
~a## | 2桁の任意の文字が入力可能、大文字に変換される |
!0&9##.##.## | 標準の日付入力フォーマット。入力領域に0を表示し、任意の数値を入力可能。 |
!0&9####.##.## | 標準の日付入力フォーマット。入力領域に0を表示し、任意の数値を入力可能。 |
!0&9##年##月##日 | カスタム日付入力フォーマット。入力領域に0を表示し、任意の数値を入力可能。 |
!0&9####年##月##日 | カスタム日付入力フォーマット。入力領域に0を表示し、任意の数値を入力可能。 |
!0&9##:## | 時間入力フォーマット。時と分だけを入力可能。入力領域に0を表示し、任意の4桁の数値を入力。 |
!0&9##:##:## | 時間入力フォーマット。時、分、秒を入力。入力領域に0を表示し、任意の6桁の数値を入力。 |
!0&9##時##分##秒 | 時分秒の文字付きの時間入力フォーマット。入力領域に0を表示し、任意の数値を入力可能。各単位の前に2桁の数値を入力。 |
!0&9####-#### | 入力領域に0を表示。任意の数値を入力可能。4桁と4桁の数字をハイフンで区分。 |
!_&9(##) !0###-#### | 先頭の2桁の入力領域にアンダースコアを表示しカッコで囲み、残りの入力領域に0を表示。 |
!0&9###-###-#### | 入力領域に0を表示。任意の数値を入力可能。3桁と3桁と4桁の数字をハイフンで区分。 |
!0&9###-##-### | 入力領域に0を表示。任意の数値を入力可能。3桁と2桁と4桁の数字をハイフンで区分。 |
~"A-Z;0-9; ;,;.;-" | 大文字の文字と句読点。大文字の文字、数字、スペース、コンマ、ピリオド、ハイフンだけを入力可能。 |
&"a-z;0-9; ;,;.;-" | 大文字と小文字の文字と句読点。小文字の文字、数字、スペース、コンマ、ピリオド、ハイフンだけを入力可能。 |
&"0-9;.;-" | 数値。数字、小数点、ハイフン(マイナス記号)だけを入力可能。 |
入力フィルターの使用時には通常、対応する表示フォーマットを使用します。入力フィルターが動作するのはデータ入力時のみです。そのフィールドから外に出てしまったら、データ表示についての効力は失います。例えばソーシャルセキュリティ番号の入力フィルター(&9###-##-####)を使用した場合、これに対応するソーシャルセキュリティ番号の表示フォーマット(###-##-####)を選択すべきです。表示フォーマットが選択されていない場合、ハイフンなしの番号だけがそのフィールドに表示されます。
よく使用されるフィールドタイプ用の入力フィルターとそれに対応する表示フォーマットを以下に紹介します:
フィールドタイプ | 入力フィルター | 表示フォーマット |
州 | ~a## | (none needed) |
郵便番号 (標準) | &9##### | (必要なし) |
郵便番号 (拡張) | &9#####-#### | #####-#### |
電話番号 | &9###-#### | ###-#### |
&9(###) ###-#### | (###) ###-#### | |
&9 ###-###-#### | ###-###-#### | |
日付 | !0&9##/##/## | (任意の日付フォーマット) |
時間 | !0&9##:## | (任意の時間フォーマット) |
表示フォーマットは詳細フォーム、一覧フォーム、クイックレポート上で使用できます。クイックレポートでの表示フォーマットの利用についてはOBJECT GET SUBFORMを参照してください。
4D では、フォームのフィールド内にプレースホルダーテキストを表示することができます。
このテキストはフィールド内で半透明のテキストとして表示され、入力されるデータに関するヘルプ、指示、具体例などを表示します。このテキストはユーザーが文字をエリアに入力した瞬間に表示されなくなります:
プレースホルダーテキストは、フィールドの中身が消去されると再び表示されます。
プレースホルダーテキストは、プロパティリストの入力のテーマから設定することが出来ます:
プレースホルダーのオプションは以下のオブジェクトに対して設定可能です:
プレースホルダーとして表示できるデータの型は以下の通りです:
xliff 参照を ":xliff:resname" の形でプレースホルダーとして使用することもできます。例えば、
:xliff:PH_Lastname
参照を使用する場合にはプレースホルダーのフィールドには参照のみを渡して下さい。参照と静的なテキストを組み合わせることはできません。
注: プレースホルダーのテキストは、新しい OBJECT SET PLACEHOLDER と OBJECT Get placeholder コマンドを使用するとプログラミングによって設定したり取得したりすることができます。
オブジェクトプロパティの"値の範囲"テーマにある入力エリアで最大値と最小値を指定して、数値や日付時間の範囲を制限できます。
データ入力時、ユーザーが最小値より小さい値や最大値より大きい値を入力すると、警告メッセージが表示されます。4Dは入力カーソルをそのエリアに戻し、ユーザーは有効な値を入力しなければなりません。
最大値や最小値を設定するには、制限値として指定する値を入力します。制限を設定する入力エリアには適切な入力フィルターを設定します。例えば日付フィールドに最大値と最小値を設定する場合、日付入力フォーマットを設定します。
設定した値は上限と下限になります。つまりユーザーは設定された最大値と最小値を入力することができます。最小値より小さい値、あるいは最大値よりも大きい値が拒否されます。例えば最大値が15のとき、ユーザーは15を入力できますが、16は入力できません。ユーザーが入力できる値を制限するためにメソッドを使用することもできます。メソッドではより正確で有用な情報をユーザーにフィードバックできます。またデータベースの他の値に基づく制限値を設定することもできます。例えばメソッドを使用すれば顧客ごとの与信限度額を検証できます。
指定リストを使用して非連続の許可値のリストを作成することもできます。
フィールドや入力可能オブジェクトにデフォルト値を割り当てることができます。デフォルト値は新規レコードが作成され、最初に表示されるときに代入されます。エリアが入力不可に設定されていなければ、デフォルト値を書き換えることができます。
プロパティリストの"値の範囲"テーマ内、デフォルト値欄に、デフォルト値として指定する値をタイプします。デフォルト値はフィールド型に対応していなければなりません。日付、時刻、シーケンス番号については、4Dが提供する記号を使用することができます。日付と時刻はシステムから取得されます。シーケンス番号は4Dが自動で生成します。自動で使用できるデフォルト値の記号は以下の通りです:
記号 | 意味 |
#D | 本日の日付 |
#H | 現在の時刻 |
#N | シーケンス番号 |
カレントデータファイルの特定のテーブルにおいて、レコード毎のユニーク番号を生成するためにシーケンス番号を使用できます。シーケンス番号は倍長整数型で新規レコード毎に生成されます。番号は1から始まり、1づつ増加します。シーケンス番号が割り当てられたレコードが削除されても、その番号は再利用されません。シーケンス番号はテーブルが保有する内部カウンターが管理します。詳細は 自動インクリメントを参照してください。
(コンボボックス、スクロールエリア、ポップアップメニュー、タブコントロール、ドロップダウンリストなど) オブジェクトが値のリストを表示する場合、デフォルト値として使用する値のリストを定義できます。リストはフォームが表示される前にオブジェクトにロードされます。
デフォルト値のリストを受け入れるオブジェクトの場合、デフォルト値エリアがボタンになります:
このボタンをクリックすると、デフォルト値ダイアログボックスが表示されれます:
デフォルト値のリストを入力します。値は行ごとに分割されます。OKをクリックするとデフォルト値ダイアログボックスが閉じられ、プロパティリストウィンドウに戻ります。
デフォルト値ダイアログボックスにデフォルト値を入力すると、リストは自動で、オブジェクトに割り当てられた変数と同じ名前の配列にロードされます。ランゲージを使用してこの配列を参照することで、オブジェクトを管理できます。
注:
このオプションはフィールドまたは入力可のオブジェクトに対して特定のキーボードレイアウトを関連付けます。例えば、国際的なアプリケーションに対して、フォーム内にギリシャ文字で入力しなければならないフィールドがあった場合、"ギリシャ語"のキーボードレイアウトをこのフィールドに対して関連付けることができます。これにより、このフィールドがフォーカスを受けている場合にはデータ入力時にキーボード設定が自動的に変わります。
デフォルト値<None>のとき、オブジェクトはカレントのキーボードレイアウトを使用します。
注意: このオプションは、 OBJECT SET KEYBOARD LAYOUT と OBJECT Get keyboard layout コマンドを使用して動的に設定することが可能です。
4Dにはカスタマイズ可能な、統合されたスペルチェッカーが含まれています。文字およびテキスト型のフィールドと変数、および4D Writeエリアでチェックを有効にできます。
自動スペルチェックプロパティ (“入力”テーマ) を使用して、それぞれのフィールド/変数でのスペルチェックを有効にします。使用する場合には、データ入力時にスペルチェックが自動的に実行されます。オブジェクトごとにSPELL CHECKINGコマンドを使用してチェックを行うこともできます。
詳細な女方については、スペルチェック の記事を参照して下さい。
フォーム上のフィールドやアクティブオブジェクトにヘルプメッセージを追加して、ユーザーがデータベースを使いやすくし、生産性が向上するよう手助けすることができます。ヘルプメッセージはTipsとして表示されます。
注: ヘルプtipsは、SET DATABASE PARAMETER コマンドのTips enabled セレクターを使用することによって、アプリケーション全体に対して有効化あるいは無効化することができます。
例えばデータ入力時に日付は年、月、日をスラッシュで区切るようユーザーに指示するヘルプメッセージを作成できます。
ヘルプTipはマウスがフィールドやオブジェクトに重なった時に表示されます:
プロパティリストにある"ヘルプ"テーマのヘルプTipドロップダウンリストを使用してフォーム中の任意のオブジェクトにヘルプTipを結び付けることができます。以下のいずれかが可能です:
選択あるいは入力したメッセージは、フォーム中で選択されたフィールドやオブジェクト用にヘルプTipとして表示されます。Tips表示までの時差と、最大表示時間は、SET DATABASE PARAMETER コマンドのTips delay および Tips duration セレクターを使用することによってコントロールすることが可能です。
選択したオブジェクトのヘルプTip割り当てを削除するには、プロパティリストでなしを選択します。
注:
ヘルプメッセージは他に2通りの方法でフォームオブジェクトに関連付けることもできます:
複数の場所の同じオブジェクトに異なるTipsが関連づけられている場合、以下の優先順位が適用されます:
このプロパティは文字やテキスト型のフィールドや変数で使用できます。このプロパティを選択すると、オブジェクト中で選択した文字列の反転状態が、フォーカスを失った後も表示されるようになります。これにより、テキストスタイルを更新するようなインターフェースの実装が容易になります (マルチスタイル (リッチテキストエリア)参照)。
OPEN FONT PICKER コマンドとOPEN COLOR PICKERコマンドを使用することによってカラーピッカーとフォントピッカーを表示させることが出来ます。ユーザーは、これらのウィンドウをクリックすることにより、フォーカスされているオブジェクトのカラーやフォントを直接変更することが出来ます。
これらのユーザーの行動を管理するために、この機能を有効化するためには「テキスト」テーマ内のピッカーの使用を許可のプロパティにチェックをします。
このプロパティは、フィールド、変数、そしてコンボボックス型のオブジェクトに対して存在します。初期設定では全てのフォームオブジェクトにおいてこのチェックは外れています。ピッカーウィンドウを使用してカラーやフォントを変更可能にしたいオブジェクト全てについて、明示的にこのプロパティにチェックをする必要があります。
プロダクト: 4D
テーマ: アクティブオブジェクトのプロパティ
変更: 4D v16 R4
デザインリファレンス ( 4D v20 R7)