System.MaskUtils.TEditMask
Delphi
TEditMask = type string;
C++
typedef System::UnicodeString TEditMask;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
type typedef |
public | System.MaskUtils.pas System.MaskUtils.hpp |
System.MaskUtils | System.MaskUtils |
説明
ユーザーの入力を検証および形式化するマスクを表します。
TEditMask 型は,セミコロンで区切られた 3 つのフィールドで構成される文字列です。マスクの最初の部分はマスク自身です。2 番めの部分は,マスクのリテラル文字がデータの一部として保存されるのかどうかを示す文字です。3 番めの部分は,マスク内で入力できない文字を表す文字です。
以下に,マスクの最初のフィールドで使用される特殊文字を示します。
文字 | マスクでの意味 |
---|---|
! |
マスクに記号 '!' があれば,テキストでオプションの文字が先頭の空白として表示される。記号 '!' がなければ,テキストでオプションの文字が末尾の空白として表示される。 |
> |
> があれば,マスク内または < までのすべての後続文字が大文字で表される。 |
< |
マスクに < があれば,マスク内または > までのすべての後続文字が小文字で表される。 |
<> |
これらの 2 文字がマスクに一緒にあれば,大文字と小文字は区別されず,ユーザーが入力したとおりにデータが形式化される。 |
\ |
\ に続く文字はリテラル文字である。この文字を使用すると,マスクの特殊文字をどれでもリテラルとして使用することができる。 |
L |
L の位置には英字を 1 字だけ指定する必要がある。A ~ Z,a ~ z のいずれかを指定できる。 |
l |
l の位置には英字を 1 字だけ指定できるが指定しなくてもよい。 |
A |
A の位置には英数字を 1 字だけ指定する必要がある。A ~ Z,a ~ z,0 ~ 9 のいずれかを指定できる。 |
a |
a の位置には英数字を 1 字だけ指定できるが指定しなくてもよい。 |
C |
C の位置には 1 文字だけ指定する必要がある。 |
c |
c の位置には 1 文字だけ指定できるが指定しなくてもよい。 |
0 |
0 の位置には数字を 1 字だけ指定する必要がある。 |
9 |
9 の位置には数字を 1 字だけ指定できるが指定しなくてもよい。 |
# |
# の位置には数字,正符号,負符号のいずれかを 1 字指定できるが指定しなくてもよい。 |
: |
時,分,秒の区切りには,コロン(:)が使用される。コンピュータシステムのコントロールパネルの各国対応設定で時,分,秒を異なる文字で区切っている場合はその文字を使用する。 |
/ |
/ は日付の月,日,年を区切るのに使用する。コンピュータシステムのコントロールパネルの各国対応設定で月,日,年を異なる文字で区切っている場合はその文字を使用する。 |
; |
; はマスクの 3 つのフィールドを区切るために使用される。 |
_ |
_ はテキストに自動的にスペースを挿入する。ユーザーがフィールドに文字を入力するときに,カーソルは _ をスキップする。 |
上の表にない文字は,マスクの最初の部分でリテラル文字となります。リテラル文字は,編集コントロールで正確に一致する必要があります。リテラル文字は自動的に挿入され,カーソルは編集時にその文字をスキップします。マスクの特殊文字も円記号(\)に続く場合はリテラル文字となります。
マスクの 2 番めのフィールドは,マスクのリテラル文字が編集コントロールのテキストの一部として含まれるのかどうか示す単一の文字です。たとえば,市外局番を含めた電話番号のマスクは次のような文字列になります。
(000)_000-0000;0;*
2 番めのフィールドの 0 は,編集コントロールの Text プロパティが,編集コントロールに表示される電話番号を構成する 14 文字ではなく,入力された 10 桁で構成されることを示します。
2 番めのフィールドの 0 はリテラルが含まれないことを示し,ほかの文字はリテラルが含まれることを示します。リテラルが含まれるかどうかを示す文字は,編集マスクプロパティエディタを使用するか,型付き定数 MaskNoSave を変更することで変更できます。
マスクの 3 番めのフィールドは,編集コントロールで空白(入力されていない文字)として表示される文字です。デフォルトで,これはリテラルスペースを表す文字と同じです。その 2 つの文字は,編集ウィンドウで同じように表示されます。ただし,マスクのかけられた編集コントロールでユーザーがテキストを入力するときに,カーソルは各空白文字を順に選択し,空白文字はスキップします。
メモ: 複数バイトの文字セットの場合でも,マスクの各特殊文字は 1 バイトを表します。L,l,A,a,C,または c の各指定子を使ってマルチバイト文字を指定するには,そのマスク文字も二重にする必要があります。たとえば,LL は,2 つの 1 バイトの英字か 1 つの 2 バイト文字を表します。1 バイトのリテラル文字だけがサポートされています。