2009-09-28 49 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; 

端;

相關問題