Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: TMaskEdit Slash Backslash

  Alt 11. Sep 2022, 15: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.
Ein Therapeut entspricht 1024 Gigapeut.

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