MaskUtils.FormatMaskText
Contents |
Delphi の情報
ファイル MaskUtils.pas
function FormatMaskText(const EditMask: string; const Value: string): string;
ユニット: MaskUtils
種類: 関数
可視性: public
C++ の情報
ファイル MaskUtils.hpp
System::UnicodeString __fastcall FormatMaskText(System::UnicodeString EditMask, System::UnicodeString Value);
ユニット: MaskUtils
種類: 関数
説明
編集マスクを使って形式化された文字列を返します。
FormatMaskText 関数を呼び出すと,EditMask パラメータで指定されたマスクを Value パラメータで指定されたテキスト文字列に適用できます。編集マスク文字列はセミコロンで区切られた 3 つの項目から構成されます。マスクの最初の部分はマスク自身です。2 番めの部分は,マスクのリテラル文字が Value パラメータの文字とマッチングされるのか,または Value の文字列に挿入されるのかを決める文字です。マスクの 3 番めの部分はマスクで空白文字を表すために使用される文字です。
以下に,マスクの最初のフィールドで使用される特殊文字を示します。
| 文字 | マスクでの意味 | |
|---|---|---|
|
マスクに記号 '!' があれば,返される文字列でオプションの文字が先頭の空白として表示される。記号 '!' がなければ,返される文字列でオプションの文字が末尾の空白として表示される。 | ||
|
> |
> があれば,マスク内または < までのすべての後続文字が大文字で表される。 | |
|
< |
マスクに < があれば,マスク内または > までのすべての後続文字が小文字で表される。 | |
|
<> |
これらの 2 文字が一緒にあれば,大文字と小文字は区別されず,Value パラメータのとおりにデータが形式化される。 | |
|
\ |
\ に続く文字はリテラル文字である。この文字を使用すると,マスクの特殊文字をリテラルとして使用できる。 | |
|
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 字だけ指定できるが指定しなくてもよい。 | |
|
|
| |
|
|
時,分,秒の区切りには,コロン(:)が使用される。システムのコントロールパネルの各国対応設定で時,分,秒を異なる文字で区切っている場合はその文字を使用する。 | |
|
/ |
/ は日付の月,日,年を区切るのに使用する。システムのコントロールパネルの各国対応設定で月,日,年を異なる文字で区切っている場合はその文字を使用する。 | |
|
|
| |
|
_ |
_ 文字は返される文字列に自動的にスペースを挿入する。 |
上の表にない文字は,マスクの最初の部分でリテラル文字となります。リテラル文字は,マスクの 2 番めの項目が 0 の場合に自動的に挿入され,2 番めの項目がそれ以外の値の場合は Value パラメータの文字とマッチングされます。マスクの特殊文字も円記号(\)に続く場合はリテラル文字となります。
マスクの 2 番めの項目は,マスクのリテラル文字が Value パラメータに挿入されるのかどうかを示す単一の文字です。たとえば,市外局番を含めた電話番号のマスクは次のような文字列になります。
(000)_000-0000;0;*
2 番めの項目の 0 は,Value パラメータが,最終的に形式化された文字列を構成する 14 文字ではなく,10 桁の電話番号で構成されなければならないことを示します。
2 番めの項目の 0 は,リテラルが Value 文字列に挿入されることを示し,ほかの文字の場合はリテラルが挿入されないことを示します。リテラルが挿入されるかどうか示す文字を変更するには,MaskUtils ユニットで宣言されている MaskNoSave 定数を変更します。
マスクの 3 番めの項目は,返される文字列で空白を(Value で表示されない文字)を表すための文字です。デフォルトで,これはリテラルスペースを表す文字と同じです。その 2 つの文字は,返される文字列で同じように表示されます。
メモ: 複数バイトの文字セットの場合でも,マスクの各特殊文字は 1 バイトを表します。L,l,A,a,C,または c 指定子を使って 2 バイト文字を指定する場合,そのマスク文字も二重にする必要があります。たとえば,LL は,2 つの 1 バイトの英字か 1 つの 2 バイト文字を表します。1 バイトのリテラル文字だけがサポートされています。