1

Delphi 7 を使用しています。Rave を使用してレポート メカニズムを実装しています。また、HTML、PDF、および TXT へのエクスポートも使用されます。ただし、問題があります。ユーザーがレポートをファイルに直接保存すると (最初にプレビューせずに)、ファイル拡張子が Rave によってファイル名に追加されません。そのため、作成されたファイルは (Report.pdf ではなく) Report のようになり、ユーザーはこのレポートを手動で表示するアプリケーションを指定する必要があります。この問題を解決するために、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(送信者: 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 に答える