繁体   English   中英

Crystal Reports中的掩码地址

[英]Mask address in Crystal Reports

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

我认为您可以使用如下公式:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM