Entweder du nimmst für die Eingabe ein anderes Zeichen
oder Eines, was zumindestens so aussieht
https://www.compart.com/de/unicode/U+FF0F
und nach der Eingabe kannst du es ja wieder zurückersetzen.
Oder es gibt aktuell keine Lösung.
System.MaskUtils.MaskGetCharType sieht richtig aus.
\ wird vor / abgearbeitet und besagt, dass das nachfolgende / ein mcLiteral und kein mcIntlLiteral ist.
aber in System.MaskUtils.MaskDoFormatText
Delphi-Quellcode:
for MaskOffset := 1 to EditMask.Length do
begin
CType := MaskGetCharType(EditMask, MaskOffset);
if CType in [mcLiteral, mcIntlLiteral] then
begin
Result := Result.SubString( 0, Offset - 1) +
MaskIntlLiteralToChar(EditMask.Chars[MaskOffset-1]) +
Result.SubString( Offset-1, Result.Length - Offset + 1);
Inc(Offset);
end
...
CType := MaskGetCharType(EditMask, MaskOffset);
if CType in [mcLiteral, mcIntlLiteral] then
wird diese Angabe böswillig ignoriert.
Hier ist die Suche sehr einfach ... im Jira findet man garnichts zu mcIntlLiteral.