【问题标题】:Mask address in Crystal ReportsCrystal Reports 中的掩码地址
【发布时间】:2015-07-07 20:24:45
【问题描述】:

我正在通过 Crystal Reports 创建一个报表,它将根据报表的参数设置屏蔽地址字段。我知道这可以使用公式来完成。我可以用硬编码值成功屏蔽。但是我需要密码屏蔽之类的东西。例如,如果地址为D/302 ABC apartment,则应显示为X/XXX XXX XXXXXXXXX。只有字符和数字被屏蔽空格和特殊字符不被屏蔽。此外,掩码数据的长度应与实际数据相匹配。

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    我认为你可以使用这样的公式:

    Local StringVar str := "";
    Local NumberVar strLen := Length({User.Address});
    Local NumberVar i;
    For i := 1 To strLen Do
    (
       if (ChrW({User.Address}[i]) in (AscW("A") to AscW("Z"))) or (ChrW({User.Address}[i]) in (AscW("a") to AscW("z"))) or (ChrW({User.Address}[i]) in (AscW("0") to AscW("9"))) Then
           str := str + "X"
       else 
           str := str + {User.Address}[i];
    );
    str
    

    【讨论】:

      【解决方案2】:

      逻辑是正确的。我通过使用 Mid 函数而不是 chrW () 做了同样的事情。也不需要使用 asw () 。只需使用范围运算符。

      【讨论】:

        【解决方案3】:

        逻辑是正确的。我通过使用 Mid 函数而不是 chrW () 做了同样的事情。另外,您可以将公式用作 ReplicateString ("X",len(address)); 唯一的问题是空间也会被掩盖

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-06
          • 2015-04-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多