Remplacer la fonction ne fonctionne pas dans Crystal Reports

quand je fournir la chaîne de stknummer = "*VU-NR:-93.10xxxxxxxx_2-12-2011*" à cette fonction:

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})) + "*"

Le résultat est que toute les remplacements sont effectués (c'est à dire l' : est toujours là)

quand j'ai mis le Remplacer(stk, ":", "_") dans le bas de la fonction comme:

//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})) + "*"

Le remplacement est effectué correctement.

Pourquoi les remplacements ne se fait pas dans le premier exemple?

J'ai bien mis tous les remplacements dans la fonction mais pas trop élégant....

Grâce

InformationsquelleAutor jorrebor | 2012-02-10