プロパティリストを使用して、アクティブオブジェクトへのデータ入力を制御または補助する様々なプロパティを設定できます。これらのプロパティを使用すると以下のことが可能です:
選択とデータ入力に関係する属性を設定できます。 入力可能な文字を制御するための入力フィルターを設定できます。 プレースホルダーテキストを表示させることが出来ます。 選択リストを割り当てることができます。 指定リストや除外リストを指定できます。 最大値や最小値、デフォルト値を設定できます。 オブジェクトの選択モードを指定できます。 スペルチェックができます。 ヘルプメッセージを表示できます。
入力可 属性はユーザーがオブジェクトに値を入力できるかどうかを指定します。これはGet list item font のプロパティリストの“入力”テーマで設定します。
フォームウィザードのリレートフィールド入力可 チェックボックスの選択を解除している場合、リレートしたテーブルのフィールドは入力ができません。この場合、プロパティリストで入力可にチェックを入れると、そのフィールドオブジェクトへの入力を許可できます。
すべてのアクティブオブジェクトはデフォルトで入力可です。特定のフォーム上の特定のフィールドやオブジェクトを入力不可にしたい場合、入力可チェックボックスの選択を解除します。入力不可のオブジェクトはデータの表示のみを行います。メソッドでフィールド名や変数名を使用してデータを制御します。入力不可オブジェクトでもOn Clicked , On Double Clicked , On Drag Over , On Drop , On Getting Focus そして On Losing Focus フォームイベントは使用できます。これを利用すれば、カスタムコンテキストメニューを容易に管理し、ドラッグ&ドロップ可能なインターフェースをデザイン、そして入力不可変数を選択することができます。
注:
プロパティリストの内容はコンテキストを考慮します。フィールドや変数の入力可属性が選択解除されると、入力制御に関連するプロパティ (必須入力、タブ有効、入力フィルター等) はリストに表示されなくなります。 ストラクチャーエディターでフィールドに対し表示のみプロパティを設定できます (UNREGISTER CLIENT 参照)。この場合入力可 オプションはこのフィールドのプロパティリストに表示されません。
必須入力 チェックボックスを選択すると、そのフォーム上でフィールドが必須入力となります。フィールドに値が入力されない場合、4Dはレコードを受け入れません。
デフォルトでフィールドは必須入力ではありません。すべてのフォームでフィールドを必須入力にするには、ストラクチャーエディターのインスペクターウィンドウで必須入力属性を設定します。特定のフォームのみでフィールドを必須入力にしたい場合、オブジェクトプロパティの必須入力オプションを選択します。
入力可と必須入力属性は、ストラクチャーエディターで設定するフィールド属性と同じです (フィールドプロパティ 参照)。これらの属性を特定のフォームで異なるものに設定したい場合、フィールドごとにプロパティで設定できます。これらの属性はGet list item font のプロパティリストの"入力"テーマで設定できます。
これらの属性はストラクチャーエディターで設定したフィールド属性を上書きしません。ストラクチャーエディターですでにフィールドに対し表示のみ属性が割り当てられていると、入力可フォーム属性を使用してそれを入力可にすることはできません。ストラクチャーエディターでフィールドに対しすでに必須入力属性が設定されている場合、必須入力フォーム属性を選択解除して非必須入力にすることはできません。入力可と必須入力チェックボックスは、ストラクチャーエディターでの設定を反映しません。
フォーム上のアクティブオブジェクトごとにタブ有効 属性を設定できます。この属性が選択されると、オブジェクトは入力順に組み込まれ、ユーザーがTab キーを押すことで選択されるようになります。
デフォルトでこの属性は、この属性をサポートするすべてのアクティブオブジェクトに対し選択されています。選択を解除すると、そのオブジェクトは入力順から外されます。しかしマウスクリックやメソッドによって選択することは可能です。
入力順についてはデータの入力順を変更する を参照してください。
入力ができない (ボタンなどの) オブジェクトに対し、タブ有効 プロパティを設定できます。この場合Tabキーを使用してオブジェクトを選択することができますが、依然として入力はできません。
タブ有効 プロパティは、オブジェクトがフォーカスを得ることが可能な場合にのみ有効です。しかしいくつかのオブジェクトはフォーカスを得ることができてもタブが有効でない場合があります (例えばクリックで選択可能だがタブでは選択できないオブジェクト)。この場合、オブジェクトはデータ入力順には含められません。
このプロパティはアクティブオブジェクト (入力可か不可かにかかわらず) や入力できないフィールドのプロパティリスト中、"入力"テーマで設定できます。
オブジェクトに対しフォーカス表示 プロパティが選択されていると、そのオブジェクトはフォーカスを得ることができ、またキーボードなどを使用してアクティブ化することができます。オブジェクトはフォーカスを得ると、オブジェクトごとあるいはOSごとに定められた方法でハイライトします。ただし"フォーカスの四角を隠す"オプションが選択されている場合を除きます (後述)。
チェックボックスにフォーカスがある
チェックボックスが選択されているが、フォーカスが表示されない状態
入力できないオブジェクトにフォーカス表示 プロパティが設定されていると、ユーザーはエリアの内容を選択、コピー、およびドラッグ&ドロップすることができます。
実行時、フィールドやすべての入力可オブジェクトは (Tabキーやクリックにより) フォーカスを得たときグラフィカルにそれを表現します。フォーカスの四角を隠す オプションをチェックするとこのグラフィカル表現を無効にできます。
入力可フォームオブジェクトには選択リストを割り当てることができます。3タイプの選択リスト、標準の選択リスト、指定リスト、除外リストがあります。
標準の選択リストはプロパティリストの“データソース”テーマで、指定リストや除外リストは"値の範囲"テーマで指定します。
選択リストを割り当てる前に、リストエディターを使用して事前にリストを作成しなければなりません (リスト 参照)。
"データソース"テーマの選択リストドロップダウンリストを使用してフィールドに対しデータソース選択リストを割り当てると、4Dはデータ入力中に 自動で選択リストを表示します。
デフォルトで、選択リストはデータ入力時に自動的にウィンドウに表示されます。この選択リストは実行されているフォームにおいてフィールドまたは入力可能オブジェクトが選択されたときに表示されます。そしてユーザーはリストから入力する値を選択できます。
また、ポップアップメニュー、ドロップダウンリスト と コンボボックス を使用して選択リストを関連づけ、フィールドまたは変数に対しての値の入力と表示を管理することが出来ます(選択リストが階層リストだった場合、最初のレベルのみが使用可能です)。これをするためには、プロパティリストの”変数名”の中にフィールドまたは変数の名前を入力するだけです(ポップアップメニュー、ドロップダウンリスト を参照して下さい)。
選択リストから選択した値は入力によって上書きすることが出来ます(リストが指定リストであった場合を除く)。
除外リストを使用すると、リスト中の項目は入力できなくなります。例えば従業員に使用される入力フォーム上のフィールドに、管理者だけが入力できる値のリストを除外リストとして割り当てることができます。
フィールドの選択リストはテーブルまたはフォームレベルで設定できます。テーブルレベルで選択リストを割り当てるにはストラクチャーエディターのイ ンスペクターウィンドウを使用します(フィールドプロパティ 参照)。するとこのフィールドにはすべてのフォームとデータベースの検索エディターで選択リストが有効になります。フォームレベルで 選択リストを割り当てると、そのフォームだけで選択リストが有効になります。 この場合、ポップアップメニュー、ドロップダウンリスト または コンボボックス を使用することによってフィールド内のデータ入力とデータ表示を直接管理できます。
指定リスト (“値の範囲”テーマ) は有効な値のリストを指定するために使用します。例えば指定リストとして役職名のリストを指定できます。こうすると、事前に作成されたリスト中の役職名だけ有効な値となります。
指定リストを指定しても、フィールドが選択されたときに自動でリストは表示されません。フォーム実行中に指定リストの内容を表示したい場合は、"データソース"テーマの選択リストドロップダウンで同じリストを指定します。
日本語利用時の注意点 : 入力フィルターは日本語IMEと互換性がありません。 入力文字種の制限及び#を使用した入力文字数の制限もできません。 例えば半角数字のみを2文字だけ入力を許可する目的で、入力フィルターに&9## と指定しても、IME経由での全角数字やその他日本語文字の入力を防ぐことはできませんし、任意の数の文字が入力できてしまいます。アプリケーション仕様としてこのような制御が必要な場合は4Dコマンドを使用する必要があります。
入力フィルターを使用するとデータ入力中にユーザーがタイプできる文字を制御できます。先に説明したデータ入力制御とは異なり、入力フィルターは文字ごとに 処理が行われます。例えばパーツ番号が常に2つの文字とそれに続く3つの数字で構成されるとき、そのパターンを入力フィルターを通して強制することができ ます。さらに特定の文字や数字のみを使用するよう制御することもできます。
入力フィルターはデータ入力時にのみ動作します。ユーザーがオブ ジェクトの選択を解除した後のデータ表示には効果がありません。通常入力フィルターと表示フォーマット を一緒に使用します。フィルターはデータ入力を制約し、表示フォーマットはデータ入力後の値の表示を制御します。
データ入力中、入力フィルターはタイプされるたびに文字を評価します。ユーザーが無効な文字をタイプすると (例えば数字ではなく文字)、4Dは入力を受け付けません。ユーザーが有効な文字を入力するまで値は変更されません。
入力フィルターは入力フィルタードロップダウンリストから組み込みのフィルターを選択する、またはエリアに入力フィルターコードをタイプすることで設定できます。入力フィルタードロップダウンリストには日付、時間、または文字オブジェクトのフィルターが含まれます。
ほとんどの場合、4D組み込みのフィルターを使用することができます。しかしカスタマイズされたフィルターを作成することも可能です (フィルターエディター 参照)。開発者が作成したフィルターの名前は縦棒 (|) 付きで入力フィルターリストの先頭に追加されます。
ドロップダウンリストから選択した後に入力フィルターを更新することができます。例えば大文字と小文字、記号およびワイルドカード文字 (@) の入力を許可したい場合、まず以下のフィルターを選択します: &"a-z;0-9; ;,;.;-" そして以下のように変更します: &"a-z;0-9; ;,;.;-;@"
入力フィルターのコードは通常アンパサンド (&) から始まります。これは4Dに、この後に続く文字が入力フィルターであることを伝えます。コードがチルダ (~) から始まる場合、これは “&” と同じ意味を持ちますが、文字が自動で大文字に変換される点が異なります。 &は通常“A”、“a”、あるいは“9”が続きます。それぞれ大文字のみを許可 (A)、大文字と小文字を許可 (a)、数字のみを許可 (9) を意味します。例えば&9は数字のみ、&Aは大文字のみを許可します。シャープ (#) は許可される文字数を指定するために使用します。フィルターに#が含まれない場合、フィルターは文字数を制限しません。例えば&9は任意の数の数字入力を許可します。フィルター&9##は2つの数字入力を受け入れます。 エクスクラメーションマーク (!) は、ユーザーが入力できる文字数を示す記号を変更するために使用します。!が使用されない場合、4Dは下線 (_) をユーザーが入力可能な場所に表示します。例えば!?&9##は2つの?を入力可能な場所に表示し、かつその場所には数字のみを受け入れます。入力フィルターの作成についてはフィルターとフォーマットのコード を参照してください。
入力フィルタードロップダウンリストから選択できる入力フィルターの説明は以下の表の通りです:
入力フィルター 説明 ~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##:## (任意の時間フォーマット)
表示フォーマットは詳細フォーム、一覧フォーム、クイックレポート上で使用できます。クイックレポートでの表示フォーマットの利用については表示フォーマットの設定 を参照してください。
4D では、フォームのフィールド内にプレースホルダーテキストを表示することができます。
このテキストはフィールド内で半透明のテキストとして表示され、入力されるデータに関するヘルプ、指示、具体例などを表示します。このテキストはユーザーが文字をエリアに入力した瞬間に表示されなくなります:
プレースホルダーテキストは、フィールドの中身が消去されると再び表示されます。
プレースホルダーテキストは、プロパティリストの入力のテーマから設定することが出来ます:
プレースホルダー のオプションは以下のオブジェクトに対して設定可能です:
プレースホルダーとして表示できるデータの型は以下の通りです:
文字列(テキストまたは文字フィールド) 日付または時刻(ヌルのときブランク にするのプロパティがチェックされている場合に限る) xliff 参照を ":xliff:resname" の形でプレースホルダーとして使用することもできます。例えば、
:xliff:PH_Lastname
参照を使用する場合にはプレースホルダーのフィールドには参照のみを渡して下さい。参照と静的なテキストを組み合わせることはできません。
注: プレースホルダーのテキストは、新しい OBJECT SET PLACEHOLDER と OBJECT Get placeholder コマンドを使用するとプログラミングによって設定したり取得したりすることができます。
オブジェクトプロパティの"値の範囲"テーマにある入力エリアで最大値と最小値を指定して、数値や日付時間の範囲を制限できます。
データ入力時、ユーザーが最小値より小さい値や最大値より大きい値を入力すると、警告メッセージが表示されます。4Dは入力カーソルをそのエリアに戻し、ユーザーは有効な値を入力しなければなりません。
最大値や最小値を設定するには、制限値として指定する値を入力します。制限を設定する入力エリアには適切な入力フィルターを設定します。例えば日付フィールドに最大値と最小値を設定する場合、日付入力フォーマットを設定します。
設定した値は上限と下限になります。つまりユーザーは設定された最大値と最小値を入力することができます。最小値より小さい値、あるいは最大値よりも大きい値が拒否されます。例えば最大値が15のとき、ユーザーは15を入力できますが、16は入力できません。ユーザーが入力できる値を制限するためにメソッドを使用することもできます。メソッドではより正確で有用な情報をユーザーにフィードバックできます。またデータベースの他の値に基づく制限値を設定することもできます。例えばメソッドを使用すれば顧客ごとの与信限度額を検証できます。
指定リストを使用して非連続の許可値のリストを作成することもできます。
詳細については先の指定リスト セクションおよびリストの作成と変更 を参照してください。
フィールドや入力可能オブジェクトにデフォルト値を割り当てることができます。デフォルト値は新規レコードが作成され、最初に表示されるときに代入されます。エリアが入力不可に設定されていなければ、デフォルト値を書き換えることができます。
プロパティリストの"値の範囲"テーマ内、デフォルト値欄に、デフォルト値として指定する値をタイプします。デフォルト値はフィールド型に対応していなければなりません。日付、時刻、シーケンス番号については、4Dが提供する記号を使用することができます。日付と時刻はシステムから取得されます。シーケンス番号は4Dが自動で生成します。自動で使用できるデフォルト値の記号は以下の通りです:
記号 意味 #D 本日の日付 #H 現在の時刻 #N シーケンス番号
レコード毎のユニーク番号を生成するためにシーケンス番号を使用できます。シーケンス番号は倍長整数型で新規レコード毎に生成されます。番号は1から始まり、1づつ増加します。シーケンス番号が割り当てられたレコードが削除されても、その番号は再利用されません。シーケンス番号はテーブルごとに管理されます。詳細は4Dランゲージリファレンス のSequence number コマンドを参照してください。
(コンボボックス、スクロールエリア、ポップアップメニュー、タブコントロール、ドロップダウンリストなど) オブジェクトが値のリストを表示する場合、デフォルト値として使用する値のリストを定義できます。リストはフォームが表示される前にオブジェクトにロードされます。
デフォルト値のリストを受け入れるオブジェクトの場合、デフォルト値エリアがボタンになります:
このボタンをクリックすると、デフォルト値ダイアログボックスが表示されれます:
デフォルト値のリストを入力します。値は行ごとに分割されます。OK をクリックするとデフォルト値ダイアログボックスが閉じられ、プロパティリストウィンドウに戻ります。
デフォルト値ダイアログボックスにデフォルト値を入力すると、リストは自動で、オブジェクトに割り当てられた変数と同じ名前の配列にロードされます。ランゲージを使用してこの配列を参照することで、オブジェクトを管理できます。
注:
リストエディターで作成したリストを使用して、階層リストやタブコントロールのデフォルト値を設定することもできます。 メソッドを使用してデフォルト値を設定することもできます。オブジェクトにメソッドでデフォルト値を設定するためには、オブジェクトあるいはフォームメソッドをOn Load イベントで実行するように設定し、そこで値を割り当てます。 リストを受け入れるオブジェクトでは、リストエディターを使用してデフォルト値リストを作成し、Load list コマンドで階層リストを作成することができます。その後"階層リスト"テーマのコマンドを使用してリストで作業を行うことができます。リストはOn Load フォームイベントやOn Startupデータベースメソッド 等でロードできます。
このオプションはフィールドまたは入力可のオブジェクトに対して特定のキーボードレイアウトを関連付けます。例えば、国際的なアプリケーションに対して、フォーム内にギリシャ文字で入力しなければならないフィールドがあった場合、"ギリシャ語"のキーボードレイアウトをこのフィールドに対して関連付けることができます。これにより、このフィールドがフォーカスを受けている場合にはデータ入力時にキーボード設定が自動的に変わります。
デフォルト値<None>のとき、オブジェクトはカレントのキーボードレイアウトを使用します。
注意: このオプションは、 OBJECT SET KEYBOARD LAYOUT と OBJECT Get keyboard layout コマンドを使用して動的に設定することが可能です。
4Dにはカスタマイズ可能な、統合されたスペルチェッカーが含まれています。文字やテキスト型のフィールドや変数、および4D Writeエリアでチェックを有効にできます。
自動スペルチェック プロパティ (“入力”テーマ) を使用して、そのオブジェクトのスペルチェックを有効にします。有効にすると、スペルチェックはデータ入力時に自動的に実行されます。
注: オブジェクトごとにSPELL CHECKING コマンドを使用してチェックを行うこともできます。
4Dでは、スペルチェックは絶えずテキストエリア内で実行されていて、エラーは破線の下線が直接テキストに引かれてハイライトされます:
異なる色の破線はエラーの種類を表しています:
赤 の破線は綴りの間違いを表示します緑 の破線は文法の間違いを表示します(OS Xのシステムのスペルチェッカーのみ)青 の破線は置き換える単語を表示します(置き換えテキストを表示 のオプションがチェックされている必要があります。以下を参照して下さい)ユーザーをそれをみて、コンテキストメニュー(下線の引かれた単語を右クリックで表示)またはスペルチェッカーダイアログを使用して修正することが出来ます。
スペルチェックのオプションを表示するためには、下線の引かれた単語を右クリックします。コンテキストメニューが表示され、その中にスペルチェッカーのコマンドがあります:
注: 自動スペルチェック とコンテキストメニュー のオプションがチェックされている必要があります。
スペルチェッカーダイアログ表示 のオプションを選択すると、修正した値を入力するダイアログが表示されます:
このダイアログボックスは、セッションの間、ユーザーが閉じるまでアプリケーション内の全てのウィンドウに表示されるフローティングするウィンドウです。
4Dのスペルチェッカーでは修正候補の提示をしてくれるだけではなく、以下のオプションと機能が用意されています(コンテキストメニュー内またはスペルチェッカーダイアログボックス内):
登録 : この未知の単語を辞書に登録し、今後スペルチェッカーによって検知されることはなくなります。OS X 環境下では、学習した単語は /Users/[UserName ]/Library/Spelling の場所に恒久的に保存されています(ここで学習した単語は、システムスペルチェッカーを使用する他のアプリケーションでも表示されなくなります)。 ハンスペル辞書では、学習した単語はカレントのアプリケーションデータのユーザーシステムディレクトリ内のカスタムの辞書内に保存され、メインの辞書がロードされる際に同時に呼び出されます(旧バージョンと同様の動作です)。 登録解除 (コンテキストメニュー): このオプションは、以前に学習した単語を選択したときに表示されます。選択すると、この単語を学習した単語のリストから除外し、その単語は再びスペルチェッカーによってエラーとして表示されるようになります。無視 : この未知の単語はそのままの状態で下線が表示されないようになります。ただし、その後再び検知されたときには下線が表示されます。スペルチェッカーは、ドキュメントごとに無視する単語の表を保存しています。無視した単語の一覧を消去 のオプションを選択することで一覧表を削除することができます(以下を参照して下さい)。前へ/次へ (ダイアログボックス): この未知の単語は何も変更されず、下線を引かれたままで、スペルチェッカーはテキスト内の次の未知の単語を検索します。スペルチェック (コンテキストメニュー): カレントのプロセスにおいて、エリア内のスペルチェッキングを全体的に有効化または無効化します。置換 (ダイアログボックス): テキスト内で選択された単語が最初の入力フィールドにある単語と一致する場合、二番目のフィールド内の単語で置換され、同時にスペルチェッカーは次のエラーを検索します。常に置換 (ダイアログボックス): 置換 と同じですが、その置換は記憶されます(以下のテキストの置換 を参照して下さい)。スペルチェック のサブメニューでは、以下の様な機能が使用可能です:
スペルを自動的に修正 : カレントのプロセス内において、自動修正モードを有効化もしくは無効化します。このモードが有効化されている場合においては、未知の単語は最も近い既知の単語で自動的に置き換えられます(ただしあまりに曖昧な場合は行われません)。修正は、入力の際に行われます。 デフォルトでは、このオプションは無効になっています。テキストの置換 : テキストの置換を有効化または無効化します。この機能は、ある単語を他の単語で置き換えるというものです。例えば、"Mr." を "Mister" で置き換える、といったようなことができます。"置き換えられる単語/以下の単語で置き換え"の単語のペアを作成するためには、スペルチェッカーダイアログを使用する必要があります。"辞書にありません" エリアに置き換えたい単語を入力し、それを置き換える単語を "以下で置換" エリアに入力して下さい。その後常に置換 ボタンをクリックします: 置換はアプリケーションの中全体において実行されます。ハンスペル辞書においては、スペルチェッカーがアプリケーション内の置き換えを記録する表を、アプリケーションのユーザーシステムディレクトリ内に保存します。OS Xのシステムスペルチェッカーの場合、この表はシステムの置換と統合されます(システム環境設定言語とテキスト内の"記号とテキストの置換を使用"オプション)。 置き換えのプロセスを使用するためには、スペル設定 内のテキストの置き換えを表示 のオプションがチェックされている必要があります(以下を参照して下さい)。テキストの置き換えを表示 (このオプションは、テキストの置換 のオプションがチェックされている場合にのみ表示されます): このオプションがチェックされているとき、スペルチェッカーは置き換える必要があり得る単語について青の下線を引きます。ユーザーはその単語を右クリックすることによって、置き換える値を選択することが出来ます。 このオプションがチェックされていないとき、置換はユーザーの操作なしに自動的に行われます。無視した単語の一覧をクリア : ドキュメントの中で無視するよう指定された単語の一覧を消去します。
OS X のシステムのスペルチェッカーには、他にもいくつかの修正のためのオプションが存在します:
言語ごとに自動 : 文章の内容をもとにして、文章の言語と使用すべき辞書を自動的に検知します。 デフォルトでは、ハンスペルのスペルチェッカーと同じように4Dアプリケーションの言語を使用します。文法をチェック : 文章の文法のチェックを有効化します。スマートダッシュ記号 : 入力中、ハイフン二つ(--)をダッシュ(—)で置き換えます。スマート引用符 : 引用符を、カレントの言語に合わせたスマート引用符へと置き換えます。
4Dは、スペルチェックの際に使用される辞書は以下の通りです:
WindowsとOS X 両方の環境下では、オープンソースのハンスペル辞書が使用できます (4D Language Reference マニュアルのHunspell辞書のサポート を参照して下さい)。 OS X環境下では、システムのスペルチェッカーも使用できます。 4D v14 は、OS X 環境下では、デフォルトとしてシステムのスペルチェッカーを使用します。SET DATABASE PARAMETER コマンドを使用してハンスペルのスペルチェックを使用することもできます。OS Xなお、OS X のシステムのスペルチェッカーにも新機能が追加されています(以下の項目を参照して下さい)。 デフォルトでは、4Dはカレントのアプリケーション言語に対応した辞書を使用します。しかし
SPELL SET CURRENT DICTIONARY コマンドを使用して、別言語の辞書を強制的に開くことができます。4Dではスペルチェックが受け入れるカスタマイズされた単語のリストも含め、ランゲージ ごとに特別な辞書を設定し使用することができます。これらの辞書の設定については
付録 D: 特別な辞書を使用する を参照してください。
フォーム上のフィールドやアクティブオブジェクトにヘルプメッセージを追加して、ユーザーがデータベースを使いやすくし、生産性が向上するよう手助けすることができます。ヘルプメッセージはTipsとして表示されます。
例えばデータ入力時に日付は年、月、日をスラッシュで区切るようユーザーに指示するヘルプメッセージを作成できます。
ヘルプTipはマウスがフィールドやオブジェクトに重なった時に表示されます:
注: フィールドにはデータベースストラクチャーレベルでヘルプメッセージを結び付けることができます。この場合フィールドのヘルプTipは、そのフィールドが 置かれたすべてのフォームで表示されます。詳細はフィールドプロパティ の"ヘルプTip"を参照してください。同じフィールドに2つの異なるヘルプTipが結び付けられている場合、フォームレベルのヘル プが優先されます。
プロパティリストにある"ヘルプ"テーマのヘルプTipドロップダウンリストを使用してフォーム中の任意のオブジェクトにヘルプTipを結び付けることができます。以下のいずれかが可能です:
既存のヘルプTipを選択する。ヘルプTipは事前にヘルプTips エディターで定義されていなければなりません。 エ リアに直接ヘルプメッセージを入力する。この場合XLIFFアーキテクチャーを利用することができます。ここにXLIFF参照を入力し、アプリケーション 言語に対応するメッセージを表示させられます。XLIFFに関する詳細はMissingRef を参照してください。4D参照を使用することもできます (スタティックテキスト中で参照を使用する 参照)。 選択あるいは入力したメッセージは、フォーム中で選択されたフィールドやオブジェクト用にヘルプTipとして表示されます。
選択したオブジェクトのヘルプTip割り当てを削除するには、プロパティリストでなし を選択します。
注: Mac OSにおいて、ポップアップ型のウィンドウではヘルプTipsの表示はサポートされなくなりました。
このプロパティは文字やテキスト型のフィールドや変数で使用できます。このプロパティを選択すると、オブジェクト中で選択した文字列の反転状態が、フォーカスを失った後も表示されるようになります。これにより、テキストスタイルを更新するようなインターフェースの実装が容易になります (GET DATA SOURCE LIST 参照)。
OPEN FONT PICKER コマンドとOPEN COLOR PICKER コマンドを使用することによってカラーピッカーとフォントピッカーを表示させることが出来ます。ユーザーは、これらのウィンドウをクリックすることにより、フォーカスされているオブジェクトのカラーやフォントを直接変更することが出来ます。
これらのユーザーの行動を管理するために、この機能を有効化するためには「テキスト」テーマ内のピッカーの使用を許可 のプロパティにチェックをします。
このプロパティは、フィールド、変数、そしてコンボボックス型のオブジェクトに対して存在します。初期設定では全てのフォームオブジェクトにおいてこのチェックは外れています。ピッカーウィンドウを使用してカラーやフォントを変更可能にしたいオブジェクト全てについて、明示的にこのプロパティにチェックをする必要があります。