在Crystal Reports 2008中掩盖没有固定长度的字段

时间:2019-06-13 17:30:05

标签: crystal-reports report crystal-reports-2008

我在Crystal报表中有一个显示客户名称的字段。但是,要求是仅显示前5个字符,其中还包括空格。第五个字符之后的所有内容将转换为*,并且间距应显示为空格。随着名称字段的变化,我该怎么做?

当前我只有这个,它显示前5个字符,并仅用*替换第6个字符

Replace({Command.CUST_NAME},MID({Command.CUST_NAME},6),"*")

1 个答案:

答案 0 :(得分:1)

不幸的是,似乎Crystal并没有支持正则表达式。

所以,我会做一个功能。试试这个:

stringvar input := {Command.CUST_NAME};
stringvar output := MID(input, 1, 5);
numbervar i;
for i:=5 to Length (input) step 1 do (
    stringvar aChar := MID(input, i, 1);
    if aChar <> " " then aChar := "*";
    output := output + aChar;
);
output

如果{Command.CUST_NAME}小于5个字符,也许您将不得不处理。