Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.036 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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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