小弟刚接触fastreport,想用它打印rtf文档,具体过程是这样的:把窗体的richedit载入的rtf文件传递到fastreport 中的richview对象后打印出来,就这么简单的问题。结果预览时老是显示空白,我搞了半天都无法实现,气得吐血。
代码如下:
procedure TForm1.btn2Click(Sender: TObject);
var
  b:TfrxRichView;
begin         b:= TfrxRichView(frxrprt1.FindObject('rich1'));
         b.RichEdit.Lines.LoadFromFile('招标.rtf');
          frxrprt1.LoadFromFile('hy.fr3');
          frxrprt1.ShowReport;
end;fastreport中也不知道要怎么设置才能预览出文件内容。请教达人一下啊,新人分不多,请见谅。

解决方案 »

  1.   

    安装完fastreport之后,都会自带一个很全面的demo,里面包含了各种报表打印的例子。
      

  2.   

    - -!有去看了,是要设置数据集的啊,我这个报表只是打印一个文件,不需要数据集的啊,就是很简单实现打印RTF文件的功能都不能实现。郁闷
      

  3.   

    demo里面有一个打印rtf文档的例子啊。
    用那个TfrxRTFExport控件。
      

  4.   

    就是那个控件上面标有RTF字样的控件。
      

  5.   

    大哥,还是不行啊。
    你看我的代码:
    procedure TForm1.btn3Click(Sender: TObject);
    begin
        if dlgOpen1.Execute then
        begin
            redt1.Lines.LoadFromFile(dlgOpen1.FileName);//打开‘招标.rtf’
            redt1.Lines.SaveToFile('temp.rtf');      //存到临时文件
        end;
    end;
    procedure TForm1.frxrprt2GetValue(const VarName: String;
      var Value: Variant);begin
            b:= TfrxRichView(frxrprt1.FindObject('rich1'));
            b.RichEdit.Lines.LoadFromFile('temp.rtf'); //从临时文件读取
    end;
    procedure TForm1.btn2Click(Sender: TObject);
    begin
        frxrprt2.LoadFromFile('hy.fr3');   frxrprt2.ShowReport;//预览报表。end;
    在fastreport 设计器中,建了一主数据区,里面放了一个richview,名字:rich1
    这样预览后还是空白的,郁闷
      

  6.   

    唉,选中TfrxRichView,按右键,选edit,然后里面有一个文件夹的图标,可以让你去选一个rtf文件。
      

  7.   

    procedure TForm1.btn2Click(Sender: TObject);
    var
      b:TfrxRichView;
    begin
      frxrprt1.LoadFromFile('hy.fr3'); //这里应该先  b:= TfrxRichView(frxrprt1.FindObject('rich1'));
      if b <> nil then
      begin
        showmessage('OK'); //先show一下看看成功没有。
        b.RichEdit.Lines.LoadFromFile('招标.rtf');
      end;  frxrprt1.ShowReport;
    end;
      

  8.   

    LS大大,我试过,还是不行,预览的时候还是空白的。
    我在报表设计区建了一主数据区,里面放了一个richview,其它都没放。也没有设置数据集,这样会有问题吗?
      

  9.   

    procedure TForm1.btn2Click(Sender: TObject);
    var
      b:TfrxRichView;
    begin  b:= TfrxRichView(frxrprt1.FindObject('rich1'));
      b.RichEdit.Lines.LoadFromFile('招标.rtf');
      frxrprt1.LoadFromFile('hy.fr3');
      frxrprt1.ShowReport;
    end;
    你先加载报表中的rich1内容,然后再加载报表文件,当然是空了
    改一下看看。
    var
      b:TfrxRichView;
    begin
      frxrprt1.LoadFromFile('hy.fr3');
      b:= TfrxRichView(frxrprt1.FindObject('rich1'));
      b.RichEdit.Lines.LoadFromFile('招标.rtf');
        frxrprt1.ShowReport;
    end;
      

  10.   

    - -!!!,感谢LS各位大大,这些我都试过了,真不行了.就在今晚吃过饭后,你猜咋的,无意中将它绑定到一个只有一个记录的数据集,居然可以了..预览正常了,我的妈,FASTREPORT我就郁闷了,说出来真是会吐血,居然是这样解决的,在设计区内必须要绑定数据据集,而且数据集的记录只能有一条,多了就会重复打多次,0记录就显示空白.这个问题真是搞的我头痛的要死了,居然是这样解决的,真怪.