System.MaskUtils.FormatMaskText

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.MaskUtils.pas
System.MaskUtils.hpp
System.MaskUtils System.MaskUtils

Beschreibung

Gibt einen String zurück, der mit Hilfe einer Eingabemaske formatiert wurde.

FormatMaskText wendet die im Parameter EditMask angegebene Maske für den im Parameter Value angegebenen String an. Der Masken-String besteht aus drei durch Semikolons getrennten Feldern. Das erste Feld enthält die eigentliche Maske. Das zweite Feld ist das Zeichen, das festlegt, ob die Zeichen der Maske mit Zeichen im Parameter Value verglichen oder in den String eingefügt werden. Das dritte Feld der Maske ist das Zeichen, das fehlende Zeichen in der Maske ersetzt.

Die folgenden Zeichen können im ersten Feld der Maske verwendet werden:

Zeichen Bedeutung in der Maske
! Wird in der Maske das Zeichen ! verwendet, werden optionale Zeichen im zurückgegebenen String als führende Leerzeichen dargestellt. Fehlt das Zeichen !, werden optionale Zeichen im zurückgegebenen String als abschließende Leerzeichen dargestellt.
> Wird in der Maske das Zeichen > verwendet, sind alle folgenden Zeichen bis zum Ende der Maske oder bis zum Zeichen < Großbuchstaben.
< Wird in der Maske das Zeichen < verwendet, sind alle folgenden Zeichen bis zum Ende der Maske oder bis zum Zeichen > Kleinbuchstaben.
<> Werden in der Maske diese beiden Zeichen zusammen verwendet, wird keine Prüfung der Groß-/Kleinschreibung durchgeführt, und die Zeichen werden so formatiert, wie sie im Parameter Value vorliegen.
\ Das Zeichen, das auf \ folgt, soll als literales Zeichen interpretiert werden. Verwenden Sie dieses Zeichen, wenn eines der Maskenzeichen buchstäblich ausgegeben werden soll.
L Das Zeichen L verlangt an dieser Position einen Buchstaben (in Deutschland A-Z, a-z).
l Das Zeichen l lässt an dieser Position nur einen Buchstaben zu, erfordert ihn aber nicht.
A Das Zeichen A verlangt an dieser Position ein alphanumerisches Zeichen (in Deutschland A-Z, a-z, 0-9).
a Das Zeichen a lässt an dieser Position ein alphanumerisches Zeichen, erfordert es aber nicht.
C Das Zeichen C verlangt an dieser Position ein beliebiges Zeichen.
c Das Zeichen c lässt an dieser Position ein beliebiges Zeichen zu, erfordert es aber nicht.
0 Das Zeichen 0 verlangt an dieser Position ein numerisches Zeichen.
9 Das Zeichen 9 lässt an dieser Position ein numerisches Zeichen zu, erfordert es aber nicht.
# Das Zeichen # lässt an dieser Position ein numerisches Zeichen oder ein Plus- bzw. Minuszeichen zu, erfordert es aber nicht.
: Das Zeichen : dient dazu, in Zeitangaben Stunden, Minuten und Sekunden voneinander zu trennen. Wenn die Ländereinstellungen in der Systemsteuerung Ihres Rechners ein anderes Trennzeichen vorsehen, wird dieses anstelle von : verwendet.
/ Das Zeichen / dient dazu, in Datumsangaben Jahr, Monat und Tag voneinander zu trennen. Wenn die Ländereinstellungen in der Systemsteuerung Ihres Rechners ein anderes Trennzeichen vorsehen, wird dieses anstelle von / verwendet.
; Das Zeichen ; trennt die drei Felder der Maske voneinander.
_ Das Zeichen _ fügt automatisch Leerzeichen in den zurückgegebenen String ein.



Jedes Zeichen, das nicht in der obigen Tabelle enthalten ist, kann im ersten Teil der Maske als Literal angegeben werden. Literale Zeichen werden automatisch eingefügt, wenn der zweite Teil der Maske 0 ist. Bei jedem anderen Wert im zweiten Teil der Maske werden die literalen Zeichen mit den Zeichen im Parameter Value verglichen. Auch die Maskenzeichen selbst können als Literale verwendet werden, wenn ihnen ein umgekehrter Schrägstrich (\) vorangestellt ist.

Das zweite Feld der Maske enthält ein einzelnes Zeichen, das angibt, ob die literalen Zeichen der Maske im Parameter Value enthalten sind. Die Maske für eine Telefonnummer mit Vorwahl könnte beispielsweise so aussehen:

(000)_000-0000;0;*

Die 0 im zweiten Feld legt fest, dass der Parameter Value aus den zehn Ziffern der Telefonnummer bestehen soll, nicht aus den 14 Zeichen, aus denen der endgültige String gebildet wird.

Eine 0 im zweiten Feld gibt an, dass Literale nicht in den Value-String eingefügt werden, alle anderen Zeichen geben an, dass sie einbezogen werden. Das Zeichen, das dies festlegt, kann in der Konstante MaskNoSave, die in der Unit MaskUtils deklariert ist, geändert werden.

Das dritte Feld der Maske ist das Zeichen, das im zurückgegebenen String für Leerzeichen eingesetzt wird (Zeichen, die nicht in Value erscheinen). Per Vorgabe ist dies dasselbe Zeichen, das für literale Leerzeichen steht. Die beiden Zeichen werden im Rückgabe-String identisch dargestellt.

Anmerkung:  Wenn Sie mit Multibyte-Zeichensätzen arbeiten, steht jedes Maskenzeichen für ein Byte. Wenn Sie die Maskenzeichen L, l, A, a, C, oder c auf Doppelbyte-Zeichen anwenden, müssen Sie auch die Maskenzeichen duplizieren. LL steht beispielsweise für zwei numerische Einzelbyte-Zeichen oder für ein Doppelbyte-Zeichen. Als literale Zeichen werden nur Einzelbyte-Zeichen unterstützt.

Siehe auch