gpt4 book ai didi

crystal-reports - 替换功能在 Crystal Reports 中不起作用

转载 作者:行者123 更新时间:2023-12-04 05:58:29 26 4
gpt4 key购买 nike

当我为此函数提供字符串 stknummer = "*VU-NR:-93.10xxxxxxxx_2-12-2011*"时:

whileprintingrecords;

shared stringvar tstnummer;
shared stringvar stknummer;

local stringvar tst;
local stringvar stk;
local stringvar bc;

tst := tstnummer;
stk := stknummer;

//why is this not evaluated?
tst := Replace (tstnummer,":" ,"_" );
tst := Replace (tstnummer,"." ,"_" );
tst := Replace (tstnummer,"=" ,"_" );
tst := Replace (tstnummer,"/" ,"_" );
tst := Replace (tstnummer,"\" ,"_" );
tst := Replace (tstnummer,"?" ,"_" );
tst := Replace (tstnummer,"#" ,"_" );
tst := Replace (tstnummer,"." ,"_" );
tst := Replace (tstnummer,"*" ,"_" );
tst := Replace (tstnummer,"|" ,"_" );
tst := Replace (tstnummer,"<" ,"_" );
tst := Replace (tstnummer,">" ,"_" );
tst := Replace (tstnummer," " ,"-" );

//and this neither?
stk := Replace (stknummer,":" ,"_" );
stk := Replace (stknummer,"." ,"_" );
stk := Replace (stknummer,"=" ,"_" );
stk := Replace (stknummer,"/" ,"_" );
stk := Replace (stknummer,"\" ,"_" );
stk := Replace (stknummer,"?" ,"_" );
stk := Replace (stknummer,"#" ,"_" );
stk := Replace (stknummer,"." ,"_" );
stk := Replace (stknummer,"*" ,"_" );
stk := Replace (stknummer,"|" ,"_" );
stk := Replace (stknummer,"<" ,"_" );
stk := Replace (stknummer,">" ,"_" );
stk := Replace (stknummer," " ,"-" );


//select file output format
if {?barcode_type} = true
then (if trim(stk) =""
then
bc:= "*" + tst + "_" + totext(dateValue({@signdate})) + "*"
else
(
bc:= "*" + stk + "_" + totext(dateValue({@signdate})) + "*");;)
else bc := "*" + tst + "_" + totext(dateValue({@signdate})) + "*"

结果是没有进行替换(即:仍然存在)

当我将 Replace(stk, ":", "_") 放在底部函数中时,例如:
//select file output format
if {?barcode_type} = true
then (if trim(stk) =""
then
bc:= "*" + tst + "_" + totext(dateValue({@signdate})) + "*"
else
(
bc:= "*" + Replace (stk, ":", "_") + "_" + totext(dateValue({@signdate})) + "*");;)
else bc := "*" + tst + "_" + totext(dateValue({@signdate})) + "*"

更换已正确完成。

为什么在第一个示例中没有完成替换?

我很好地把所有的替代品都放在了函数中,但不是太优雅......

谢谢

最佳答案

哦,你会为这个生气的:)

正在评估 Replace() 函数......但是每次你覆盖变量 stk 和 tst 时,只替换原始字符串 tstnummer 和 stknummer。当所有 Replaces() 完成后,您只剩下一个没有空格字符的字符串。需要改成这个...

...
tst := Replace (tst,":" ,"_" );
tst := Replace (tst,"." ,"_" );
tst := Replace (tst,"=" ,"_" );
...
stk := Replace (stk,":" ,"_" );
stk := Replace (stk,"." ,"_" );

关于crystal-reports - 替换功能在 Crystal Reports 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com