我有ReportBuilder作报表开发,目前有几个问题百思不得其解:
1。怎样在报表的页尾显示该页“金额”字段的合计值(页小计)?
2。怎样将报表金额字段的总计值(总计金额)用金额大写表示?
3。我将ReportBuilder进行了汉化,但结果只是设计器汉化了,而“打印预览”部分还是英文,怎样解决?以前没用过ReportBuilder,开发进度拖了有一周了。请高手搭救。

解决方案 »

  1.   

    3。我将ReportBuilder进行了汉化,但结果只是设计器汉化了,而“打印预览”部分还是英文,怎样解决?----------我估计得修改一下vcl源代码的,就像delphi6里边的quickreport,修改pas文件还是dfm我忘记了,打印预览关闭窗口的button的caption是close,你改成“关闭”,不知道是不是一个道理??
      

  2.   

    1。用sql语句实现
    2。给你点源代码
    function Tfrm_feiyong.SmallTOBig(small:real):string;
    var SmallMonth,BigMonth:string;
        wei1,qianwei1:string[2];
        qianwei,dianweizhi,qian:integer;
    begin
       {------- 修改参数令值更精确 -------}
       {小数点后的位置,需要的话也可以改动-2值}
       qianwei:=-2;
       {转换成货币形式,需要的话小数点后加多几个零}
       Smallmonth:=formatfloat('0.00',small);
       {---------------------------------}
       dianweizhi :=pos('.',Smallmonth);{小数点的位置}
       {循环小写货币的每一位,从小写的右边位置到左边}
       for qian:=length(Smallmonth) downto 1 do
       begin
         {如果读到的不是小数点就继续}
         if qian<>dianweizhi then
         begin
         {位置上的数转换成大写}
            case strtoint(copy(Smallmonth,qian,1)) of
              1:wei1:='壹'; 2:wei1:='贰';
              3:wei1:='叁'; 4:wei1:='肆';
              5:wei1:='伍'; 6:wei1:='陆';
              7:wei1:='柒'; 8:wei1:='捌';
              9:wei1:='玖'; 0:wei1:='零';
            end;
            {判断大写位置,可以继续增大到real类型的最大值}
            case qianwei of
              -3:qianwei1:='厘';
              -2:qianwei1:='分';
              -1:qianwei1:='角';
              0 :qianwei1:='元';
              1 :qianwei1:='拾';
              2 :qianwei1:='佰';
              3 :qianwei1:='千';
              4 :qianwei1:='万';
              5 :qianwei1:='拾';
              6 :qianwei1:='佰';
              7 :qianwei1:='千';
              8 :qianwei1:='亿';
              9 :qianwei1:='十';
              10:qianwei1:='佰';
              11:qianwei1:='千';
            end;
            inc(qianwei);
            BigMonth :=wei1+qianwei1+BigMonth;{组合成大写金额}
          end;
       end;
       SmallTOBig:=BigMonth;
    end;