[英]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.