1

我正在使用 Delphi 7。我使用 Rave 实现了报告机制。还使用导出为 HTML、PDF 和 TXT。但是有一个问题:当用户直接将报告保存到文件中(没有先预览)时,Rave 不会将文件扩展名添加到文件名中。因此创建的文件看起来像报告(而不是 Report.pdf),用户需要指定应用程序才能手动查看此报告。为了解决这个问题,我在 RvSystem1 BeforeRrint 事件中编写了以下代码:

procedure TRepAllForm.RvSystem1BeforePrint(Sender: TObject);
begin
     if RvSystem1.ReportDest=rdFile then
        RVSystem1.OutputFileName:=RVSystem1.OutputFileName+'.pdf';
End;

但问题是如果用户选择不同的格式怎么办?有谁知道如何识别哪个渲染用户选择?即 HTML、PDF 或 TXT?

谢谢你,托菲格哈萨诺夫

4

1 回答 1

1

似乎我自己找到了解决方案)我使用了 RVSystem 的 RenderObject 属性。这是代码:

程序 TRepAllForm.RvSystem1BeforePrint(Sender: TObject);

开始

 if RvSystem1.ReportDest=rdFile then
 Begin
     if RVSystem1.RenderObject=RvRenderPDF1 then
      RvSystem1.OutputFileName:=RvSystem1.OutputFileName+'.pdf'
     else if RvSystem1.RenderObject=RvRenderHTML1 then
      RvSystem1.OutputFileName:=RvSystem1.OutputFileName+'.html'
     else if RvSystem1.RenderObject=RvRenderText1 then
      RvSystem1.OutputFileName:=RvSystem1.OutputFileName+'.txt';

 End;

结尾;

于 2009-09-28T12:18:20.630 回答