System.MaskUtils.FormatMaskText

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function FormatMaskText(const EditMask: string; const Value: string ): string;

C++

extern DELPHI_PACKAGE System::UnicodeString __fastcall FormatMaskText(const System::UnicodeString EditMask, const System::UnicodeString Value);

プロパティ

種類 可視性 ソース ユニット
function public
System.MaskUtils.pas
System.MaskUtils.hpp
System.MaskUtils System.MaskUtils


説明

編集マスクを使用して整形済みの文字列を返します。

FormatMaskText を呼び出すと、EditMask パラメータで指定されたマスクを、Value パラメータで指定されたテキスト文字列に適用することができます。編集マスクの文字列は、セミコロンで区切られた 3 つのフィールドで構成されます。マスクの差違shの部分は、マスク自身です。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 字だけ入れられますが、必須ではありません。
# 文字 # の位置には、数字または記号の + または - を 1 字だけ入れられますが、必須ではありません。
:(コロン) 文字 : は、時間の時分秒を区切るのに使用されます。 コントロール パネルの地域と言語の設定で、時、分、秒の区切り文字が異なる場合、返される文字列ではその区切り文字が使用されます。
/ 文字 / は、日付の年月日を区切るのに使用されます。コントロール パネルの地域と言語の設定で、年、月、日の区切り文字が異なる場合、返される文字列ではその区切り文字が使用されます。
;(セミコロン) 文字 ; は、マスクを 3 つのフィールドに区切るのに使用されます。
_ 文字 _ は、返される文字列に、自動的にスペースを挿入します。

上記の表示にない文字は、マスクの最初の部分でリテラル文字として使用できます。リテラル文字は、マスク第 2 フィールドが 0 の場合に自動的に挿入され、このフィールドがそれ以外の値の場合には、Value パラメータの文字とマッチングされます。マスクの特殊文字も、前にバックスラッシュ文字(\)をつけることにより、リテラル文字として使用できます。

マスクの第 2 フィールドは単一文字で、マスクのリテラル文字が Value パラメータに挿入されるかどうかを示します。たとえば、市外局番からの電話番号をマスクで表すと、次のような文字列になります:

(000)_000-0000;0;*

第2 フィールドの 0 は、Value パラメータが 10 桁の電話番号で構成されており、最終的に整形された文字列である 14 文字ではないことを示しています。

第2 フィールドの 0 は、リテラル文字が Value 文字列に挿入されることを示しており、他の文字の場合は、その中に含まれていることを示しています。リテラルが含まれるかどうかを示すこの文字は、MaskUtils ユニット内で定義されている MaskNoSave 定数を変更することで、変えることができます。

マスクの第 3 フィールドは、返される文字列で空白(Value で表示されない文字群)を表す文字です。デフォルトでは、リテラルのスペースを表す文字と同じです。この 2 つの文字は、返される文字列では同じにように表示されます。

メモ: マルチバイト文字セットを使用している場合、マスクの各特殊文字は、1 バイト分を表します。L、l、A、a、C、c の各指定子を使用して、2 バイト文字を指定する場合、マスク文字も同様に 2 倍にする必要があります。たとえば、LL は、2 つの 1 バイト英字か、1 つの 2 バイト文字を表します。1 バイトのリテラル文字だけが、サポートされています。

関連項目