比如说我现在创建了一dataText,并把它指向了某字段。
 现在我想在这个dataText的 onGetText里写入一些代码。 那么,这些代码我如何在我的DELPHI代码中写出来?

解决方案 »

  1.   

    举个例子,如果要在报表中做一个编号列(按记录数递增),那么,你可以在databand里面加一个text,把其
    初始值设为1,在这个TEXT的ongetText里写入代码:
      self.text:=inttostr(strtoint(self.text)+1);
    就可以实现。如果你要做个汇兑,而记录里面是字符型表达的整数,那么,你可以在databand下面加一个band,并在
    其中放一个text(暂命名为aaaa),把其初始值设为0,在databand下面的Datatext的onGetText里写入代码:
      aaaa.text:=inttostr(strtoint(aaaa.text)+strtoint(self.text));  那么,由于我现在所有的text,field都是动态生成的,那么,这些onGetText事件的代码也就只能随机生成。现在
    我要问的就是如何在一个新生成的组件里写入这个代码?
      就象你下面那个Mytext,如何控制它的属性代码?
      

  2.   

    Rave 的dataText值好像是字符形的,脚本里大部分的SQL函数都不认,也不能写SQL语名,不知道为什么,是不是还有别的什么方法,它自已的Help文件也没有这方面的说明。上面的写的各种类型转换函数都会报错。请高人不吝赐教!!!
      

  3.   

    根据我目前的理解那里面是不能写SQL脚本的
    支持很少的语句,和Object Pascal 类似
    支持With
    我凭记忆写一段:if FloatTostr(self.Text)>0 then   //Self是指DataText
      Self.color := clRed;
    end if;with DataViewOrder do
    begin
      DataText1.Text :=FieldByname('Code').AsString;
    end;
      

  4.   

    你可以升级到Rave5.1.1在里面有一个Demo
    在PlayIcq 上下。
      

  5.   


    上面写错了
    刚刚我试了一下,
    if IntToStr(StrToInt(Self.Text)+1) ='12' then
      Self.Color := clRed;
    end if;可以通过编译
      

  6.   

    to xiaocuo_zrf(刀未锋):
      谢谢您的指点。
      你这些代码应该是在RAVE设计器里面用的。
     也就是说在有这个DATATEXT或者是TEXT的情况下用。 但是如果这个DATATEXT是用程序动态创建的,也就是
    在一开始的时候在设计器里并没有这样一个控件,怎么
    办?
     呵呵。playicq偶还没有用户密码。能否提供一个可以
    自由下载的地址?(贪心了。)
      

  7.   

    www.51Delphi.com可以下载Rave5.11BEX,先住册,组册很方便
      

  8.   

    可试一下用RvSystem控件直接在它的OnBeforePrint方法中加入代码
      

  9.   

    呵呵。算了。我还是在我的delphi中写好代码。
    往里面赋值吧。给分,见者有份。