中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用FastReport VCL的TfrxReport組件

發布時間:2021-07-09 09:11:53 來源:億速云 閱讀:898 作者:chen 欄目:編程語言

這篇文章主要介紹“怎么使用FastReport VCL的TfrxReport組件”,在日常操作中,相信很多人在怎么使用FastReport VCL的TfrxReport組件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用FastReport VCL的TfrxReport組件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的報告和文檔創建VCL庫。它提供了可視化模板設計器,可以訪問最受歡迎的數據源,報告引擎,預覽,將過濾器導出為30多種格式,并可以部署到云,Web,電子郵件和打印中。

近日,FastReport VCL更新至v6.9,在新版本中,在PDF導出中增加了對以下對象的交互式表單支持:文本,復選框和圖片。能夠通過InteractiveFormsFontSubset屬性將所需的字形僅包含在交互式形式中。同時修復了多個Bug問題。歡迎下載體驗。(點擊下方按鈕下載)

立即點擊下載FastReport VCL v6.9最新版

加載和保存報告

默認情況下,報告表單與項目表單一起存儲,即存儲在DFM文件中。在大多數情況下,不需要任何其他操作,因此您無需采取特殊措施即可加載報告。如果您決定將報告表單存儲在文件中或DB BLOb字段中(這提供了極大的靈活性,即您可以在不重新編譯程序的情況下修改報告),則必須使用以下TfrxReport方法來加載和保存報告:

function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;

從文件中加載具有給定名稱的報告。如果第二個參數等于“ True”,但找不到該文件,則它將生成異常。如果文件加載成功,則返回“ True”。

procedure LoadFromStream(Stream: TStream);

從流中加載報告

procedure SaveToFile(const FileName: String);

將報告保存到具有指定名稱的文件中

procedure SaveToStream(Stream: TStream);

將報告保存到流中

帶有報告表單的文件默認情況下具有“ FR3”擴展名。

例子:
Pascal:

frxReport1.LoadFromFile('c:\1.fr3');
frxReport1.SaveToFile('c:\2.fr3');

C ++:

frxReport1->LoadFromFile("c:\\1.fr3");
frxReport1->SaveToFile("c:\\2.fr3");

設計報告

調用報表設計器是通過TfrxReport.DesignReport方法執行的。設計人員必須包含在您的項目中(使用TfrxDesigner組件或將“ frxDesgn”單元添加到使用列表中就足夠了)。

該DesignReport方法采用兩個默認參數:

procedure DesignReport(Modal: Boolean = True; MDIChild: Boolean = False);

Modal參數確定設計者是否應該是模態的。MDIChild參數允許使設計器窗口成為MDI子窗口。

例子:

frxReport1.DesignReport;

運行報告

應用以下兩種TfrxReport方法之一將啟動報告:

procedure ShowReport(ClearLastReport: Boolean = True);

啟動報告并在預覽窗口中顯示結果。如果“ ClearLastReport”參數等于“ False”,則該報告將添加到先前構建的報告中,否則將清除先前構建的報告(默認情況下)。

function PrepareReport(ClearLastReport: Boolean = True): Boolean;

在不打開預覽窗口的情況下啟動報告。參數分配與“ ShowReport”方法中的相同。如果成功構建了報告,則返回“ True”。

在大多數情況下,使用第一種方法更為方便。它會立即顯示預覽窗口,同時繼續構建報告。

如果需要在先前構造的報表中添加另一個報表(此技術用于批量報表打印),則可以方便地使用“ ClearLastReport”參數。
例子:

frxReport1.ShowReport;

預覽報告

可以通過兩種方式在預覽窗口中顯示報告:通過調用TfrxReport.ShowReport 方法(如上所述)或借助該TfrxReport.ShowPreparedReport方法。在第二種情況下,不執行報告構造,但顯示完成的報告。這意味著,您應該在PrepareReport方法的幫助下預先構建它,或者從文件中加載以前構建的報告(請參閱加載和保存完成的報告)。

例子:
Pascal:

if frxReport1.PrepareReport then
  frxReport1.ShowPreparedReport;

C ++:

if(frxReport1->PrepareReport(true))
  frxReport1->ShowPreparedReport();

在這種情況下,報告構建首先完成,然后顯示在預覽窗口中。構造大型報告可能要花費很多時間,因此使用ShowReport異步方法比PrepareReport/更好ShowPreparedReport。默認情況下,可以通過TfrxReport.PreviewOptions屬性分配預覽設置。

打印報告

在大多數情況下,您將從預覽窗口中打印報告。要手動打印報告,應使用以下TfrxReport.Print方法,例如:

frxReport1.LoadFromFile(...);
frxReport1.PrepareReport;
frxReport1.Print;

同時,將出現可以設置打印參數的對話框。您可以默認分配設置,并在該TfrxReport.PrintOptions屬性的幫助下禁用打印對話框。

加載并保存完成的報告

可以從預覽窗口執行。這也可以在TfrxReport.PreviewPages方法的幫助下手動執行:

function LoadFromFile(const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean;
    procedure SaveToFile(const FileName: String);
    procedure LoadFromStream(Stream: TStream);
    procedure SaveToStream(Stream: TStream);

分配和參數類似于相應的TfrxReport方法。默認情況下,包含完成的報告的文件的擴展名為“ FP3”。

例子:
帕斯卡:

frxReport1.PreviewPages.LoadFromFile('c:\1.fp3');
frxReport1.ShowPreparedReport;

C ++:

frxReport1->PreviewPages->LoadFromFile("c:\\1.fp3");
frxReport1->ShowPreparedReport();

注意:完成報表加載后,將通過ShowPreparedReport方法執行其預覽!

匯出報告

可以從預覽窗口執行。也可以通過TfrxReport.Export方法手動執行該操作。在此方法的參數中,應指定要使用的導出過濾器:

frxReport1.Export(frxHTMLExport1);

導出過濾器組件必須可用(您必須將其放在項目的窗體上)并已正確調整。

創建一個自定義預覽窗口

FastReport在標準預覽窗口中顯示報告。如果由于某種原因它不適合您,則可能會創建一個自定義預覽表單。為此,TfrxPreview設計了FastReport組件面板中的組件。要顯示報告,應將此TfrxReport.Preview屬性的鏈接分配給該屬性。

使用TfrxPreview組件時有兩個典型的問題。它不處理鍵(箭頭,PgUp,PgDown等)和鼠標滾輪(如果有)。要TfrxPreview使用鍵,請將焦點傳遞給它(例如,可以在OnShow表單的事件處理程序中完成):

frxPreview.SetFocus;

要TfrxPreview使用鼠標滾動,必須創建OnMouseWheel表單的事件處理程序并TfrxPreview.MouseWheelScroll在此處理程序中調用方法:

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; 
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  frxPreview1.MouseWheelScroll(WheelDelta);
end;

到此,關于“怎么使用FastReport VCL的TfrxReport組件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元江| 黄石市| 九江市| 罗定市| 汉寿县| 横峰县| 邵武市| 蚌埠市| 雷山县| 宝应县| 长寿区| 托克逊县| 柯坪县| 苏尼特左旗| 侯马市| 从化市| 龙游县| 惠来县| 武隆县| 九寨沟县| 武安市| 建平县| 孝昌县| 东乡县| 南丹县| 香格里拉县| 昌吉市| 静宁县| 勐海县| 阜南县| 华池县| 松滋市| 赤峰市| 临夏市| 许昌县| 清河县| 新兴县| 通辽市| 万年县| 吉隆县| 宣武区|