我用ado读取数据库中的数据并打印出来,现在的问题是这样:
一串字符“123456789”,想在打印的时候,把其中的第五个字符“5”换成“*”,然后再在最后添加如“001”字符串,“001”字符串是form1中的edit1控件中的字符。
请教各位此两步如何实现?

解决方案 »

  1.   

    把处理完的字符串当做变量传给FastReport
      

  2.   

    就是在DELPHI里先处理好字符串(即生成最后的“1234*6789001”),然后传递给FastReport:frReport1.Variables.Items[0].Value:='1234*6789001'; //需要在模板文件里新建一个变量
      

  3.   

    或者这样:frxReport1.Variables.Variables['aResult']:='1234*6789001';  //需要在模板文件里新建一个名为aResult的变量
      

  4.   

    楼上的做法只适合于打印单条记录时使用,如果有多条记录,字符串'1234*6789001'在后面的页中都不会改变,我的办法是:
    frreport1.findobject("memo名称").memo.text:='[copy(adoquery."字段名",0,4)+''*''+copy(adoquery."字段名",6,length(adoquery."字段名"))]'
    当然这个办法有点笨,不过我还没找到更好的解决办法,如果有,请高手不吝赐教!