Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: TMaskEdit Slash Backslash

  Alt 11. Sep 2022, 16:08
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.
$2B or not $2B

Geändert von himitsu (11. Sep 2022 um 16:17 Uhr)
  Mit Zitat antworten Zitat