4D v16.3

フィルターとフォーマットのコード

ホーム

 
4D v16.3
フィルターとフォーマットのコード

フィルターとフォーマットのコード  


 

 

この節では文字型入力フィルターや表示フォーマットで使用されるコード文字について説明しています。数値型の表示フォーマットに使用されるコード文字については表示フォーマットを参照してください。

入力フィルターコードは3つのパーツで構成されます:

イニシエーター "引数" プレースホルダー

  • イニシエーターは、そのあとに続く引数をデータ入力中のフィルターとして使用するよう、4Dに指示します。
  • 引数では許可される文字を指定します。
  • プレースホルダーは文字を入力できる場所に表示される代替え文字です。

例えば以下の入力フィルターは“a”、“b”、“c”、または“g”のうち2文字だけ入力を許可します:

&"a;b;c;g"##

この例題ではANDマーク (&) がイニシエーターで、“a;b;c;g”が引数、シャープ (#) がプレースホルダーです。結果“ag”、“gc”、“ba”、“ab”、“aa”、“ac”、その他4文字の中から2文字を組み合わせたテキストを入力できます。

入力フィルターは組み合わせることができます。以下の入力フィルターは“a”、“b”、“c”、または“g”のうち2文字を受け付け、次に1、3、または8を1文字受け付けます:

&"a;b;c;g"#,#&"1;3;8"#

ユーザーはまず4文字の中から2文字を入力し、次に3つの数字から1つを入力しなければなりません。

表示フォーマットはプレースホルダーと標準文字の組み合わせです。

イニシエーターは2つあります。ひとつはAND (&) でもうひとつはチルダ (~) です。これらの文字は後に続く引数とプレースホルダーを入力フィルターとして使用するよう4Dに指示します。

さらにチルダ (~) は入力された文字を大文字に変換するよう4Dに指示します。小文字の入力が拒否されるのではなく、入力された小文字が大文字に変換されます。

以下2つの入力フィルターは同じ意味です:

&"P"#
~"P"#

異なる点は、AND (&) で始まるフィルターは小文字 “p” の入力を受け付けません。他方チルダ (~) で開始されたフィルターは小文字 “p” を受け入れ、大文字に変換します。

以下のケースはまったくの等価です:

&"1;5;8"#
~"1;5;8"#

引数  

イニシエーターの後に記述されるフィルター引数は、プレースホルダーに入力できる文字種を限定します。フィルター引数を記述するには、入力を許可する文字をダブルクォーテーションで囲みます。

引数には小文字、大文字、数字、記号 (!@#$%^&*(){}[]":';?><,./`~) を指定できます。小文字を指定した場合、小文字のみを入力できます。大文字を指定した場合、大文字のみを入力できます。

  • 引数に一文字 (文字または数字) のみを指定することができます。例えば“j”、“J”、“6”等
  • 引数に複数の文字セットを指定することもできます。文字と文字はセミコロンで区切ります。例えば“a;r;t”や“1;5”。
  • 引数に文字範囲を指定することもできます。範囲を指定するには最初の文字、ハイフン、そして最後の文字を記述します。例えば“a-c”や“1-5”のようになります。“a-c”は“a;b;c”と、“1-5”は“1;2;3;4;5”と等価です。
  • 引数は上記の組み合わせを指定することもできます。例えば“a;m-z;3;5-9”です。

以下は引数として特別な意味を持つ文字です。これらの文字はクォーテーションマークなしで指定します:

文字意味等価な引数
9数字を許可"0-9"
a小文字と大文字を許可"a-z;A-Z"
A大文字を許可"A-Z"
@文字と数字を許可"a-z;A-Z;0-9"

以下のフィルターはすべて等価です:

&9#
&"0-9"#
&"1;2;3;4;5;6;7;8;9;0"#

以下のフィルターは等価です:

&a#
&"a-z;A-Z"#

以下のフィルターは等価です:

&A#
&"A-Z"#

文字フィルターやフォーマットではシャープ (#) のみをプレースホルダーとして使用できます (数値フィルターとフォーマットでは他の文字も利用できます)。1文字につきひとつのシャープを使用します。

例えば以下の入力フィルターでは4文字を入力できます:

&a####

以下の入力フィルターでは大文字を3つ、次に数字を2つ入力できます:

&A###&9##

プレースホルダーを指定しない場合、フィルターは文字数を制限しません。以下の入力フィルターは数字の入力のみを許可しますが、桁数の制限はありません:

&9

注: 文字フィールドではストラクチャーエディターで最大文字数を設定できます (4Dのフィールドの型参照)。

データを入力するために、入力フィルターが設定されたフィールドにフォーカスが入ると、4Dはプレースホルダーの位置に下線 (_) を表示します。ユーザーが有効な文字をタイプすると、ハイライトされた下線部分にタイプされた文字が入力されます。
入力フィルターを感嘆符 (!) と代替え文字で開始することにより、下線を指定した文字に置き換えることができます。

例えば“XXXX”と表示し、ユーザーが許可された文字のうち例えば"AA"とだけ入力したとすると、レコードが保存される際そのデータは“AAXX”となります。

以下の図は選択されたフィールドで下線と0が表示されています。

すべての文字をスキップ文字として使用できます。スキップ文字はデータ入力中に表示されますが、挿入ポイントはスキップされ、その場所にデータは入力されません。

スキップ文字として使用したい文字はプレースホルダーの前、後、あるいは中間におかれます。データ入力中、スキップ文字は表示されます。

電話番号入力フィルター (&9(###) ###-####) では括弧、スペース、そしてハイフンがスキップ文字として使用されています。スキップ文字の前に数字を入力すると、挿入ポイントはスキップ文字の次のプレースホルダーに移動します。

 
プロパティ 

プロダクト: 4D
テーマ: フィルターとフォーマット

 
履歴 

 
ARTICLE USAGE

デザインリファレンス ( 4D v16)
デザインリファレンス ( 4D v16.1)
デザインリファレンス ( 4D v16.3)