我用了QRTextFilter,但不知如何在代码中调用它.

解决方案 »

  1.   

    按一下Save按钮,就可以将QuickReport另存为文本文件
      

  2.   

    代码可以这样:
    procedure MyForm.ButtonClick(Sender : TObject);
    var
      AExportFilter : TQRHTMLDocumentFilter;
    begin
       AExportFilter := TQRHTMLDocumentFilter.Create('REPORT.HTM');
       try
          MyReport.ExportToFilter(AExportFilter)
       finally
          AExportFilter.Free;
       end;
    end;
      

  3.   

    quickrep1.ExportToFilter(QRTextFilter1);
    不过这东西效果可能不大好的
      

  4.   

    不行啊,我一运行就出错。
    而且我是要输出文本文件,TQRTextFilter的create的参数是TComponent.
      

  5.   

    hahafan你的方法不能通过编译,说是TQRTextFilter与TQRExportFilter类型不匹配.
      

  6.   

    我查了一下应该是:
    procedure MyForm.ButtonClick(Sender : TObject);
    var
      AExportFilter : TQRAsciiExportFilter;
    begin
       AExportFilter := TQRAsciiExportFilter.Create('REPORT.txt');
       try
          MyReport.ExportToFilter(AExportFilter)
       finally
          AExportFilter.Free;
       end;
    end;
      

  7.   

    这下不出错了,可就是没有输出文件啊,怎么也找不到report.txt
      

  8.   

    我看了我的代码,我是在预览界面用QRPrinter保存的,所以试试这个:
    procedure MyForm.ButtonClick(Sender : TObject);
    var
      AExportFilter : TQRAsciiExportFilter;
    begin
       AExportFilter := TQRAsciiExportFilter.Create('c:\REPORT.txt');
       try
          MyReport.QRPrinter.ExportToFilter(AExportFilter)
       finally
          AExportFilter.Free;
       end;
    end;
    如果在不行,我就没法了。
    总得来说,QuickReport比较烂,而且Help做的贼差。
      

  9.   

    现在好了,原来是我放的位置不对。不过我不明白,我在程序中是调用的report.perview,而我的代码写在afterprint中,在preview中按print,代码会执行,但就是没输出。
    但我把他放在afterpreview中就可以。不知是什么原因