2009-09-28 46 views
1

我正在使用Delphi 7.我有使用Rave实现的报告机制。也使用导出到HTML,PDF和TXT。 虽然存在一个问题:当用户直接将报告保存到文件中(而不是先预览它)时,文件扩展名不会被Rave添加到文件名中。因此,创建的文件看起来像报告(而不是Report.pdf),用户需要指定应用程序来查看此报告manualy。为了解决这个问题,我写了下面的代码RvSystem1 BeforeRrint事件:Rave Reports - 如何查找安装过程中用户选择的文件格式?

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

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

谢谢 Tofig哈萨诺夫

回答

1

看来,我已经找到解决办法我自己)我用RVSystem的渲染对象属性。 这里是代码:

程序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; 

端;

相关问题