翻譯|使用教程|編輯:李顯亮|2020-08-24 10:27:50.550|閱讀 641 次
概述:Delphi編程語言,即Turbo Pascal,已經成為許多開發者的起點。在本文中,將使用FastReport VCL報表生成器來創建收據本身,并使用用戶應用程序來打印它。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
報表生成器FastReport VCL是用于在軟件中集成商務智能的現代解決方案。它提供了可視化模板設計器,可以訪問最受歡迎的數據源,報告引擎,預覽,將過濾器導出為30多種格式,并可以部署到云,Web,電子郵件和打印中。
近日,FastReport VCL更新至v6.7,在新版本中,添加了對最新版本IDE的支持,簡化了用于付款標準的條形碼的創建,新增從預覽窗口直接編輯RichView的功能,同時修復了多個Bug問題。歡迎下載體驗。(點擊下方按鈕下載)
Delphi編程語言,即Turbo Pascal,已經成為許多開發者的起點。由于簡單明了的語法和以程序化風格編寫的能力,它變得非常容易學習。很多人將它與Visual Basic進行比較,但在其流行的高峰期,Delphi給了更多的機會,這要歸功于它的數據庫工作組件和自己的數據庫--Interbase。
盡管C #和.Net平臺取代了Delphi和VCL,但仍有大量的擁護者。即使是用這種語言編寫的舊應用程序也可以使用現代庫輕松升級,例如FastReport 6 VCL報表生成器。例如,自動化會計系統需要報表。
一個自動化的銷售會計系統應該允許形成付款單據,如銷售收據。在本文中,將探討如何從Delphi應用程序中創建和打印銷售收據。我們將使用FastReport VCL報表生成器來創建收據本身,并使用用戶應用程序來打印它。除了打印之外,還可以簡單地將收據顯示在報表查看窗口中,可以從該窗口中打印收據,將其保存為流行的文檔格式之一,將其作為電子郵件發送或上傳到云存儲中。
要創建銷售收據,我們需要的信息有:訂單、客戶、賣家和訂單內容。
在本文中,將使用FastReport VCL發行版中的demo.mdb數據庫。為了創建應用程序,將使用Delphi 7開發環境。
首先,讓我們在表單中添加兩個按鈕:一個用于運行報表設計器,另一個用于顯示或打印成品報表。將OpenDialog組件也添加到表單中--這將允許我們選擇所需的報表文件來打開。
現在讓我們繼續為報表創建一個數據源--銷售收據。如上所述,我們使用的是demo.mdb數據庫,或者更準確的說是表。訂單,客戶,項目,零件和員工。我們將使用ADOConnection組件連接到數據庫,并使用ADOTable組件從每個表中獲取數據。Orders表與Customers、Items和Employees表相連。因此,我們需要設置這些連接。為此,為每個ADOTable添加一個DataSource組件,為了使所有這些表在報表中可用,為每個表添加frxBDDataSet組件。
因此,要使用一個表,我們應該獲得三個組件:ADOTable,DataSource,frxDBDataSet。
在ADOConnection中,從FastReport VCL交付創建到demo.mdb數據庫的連接。這些組件設置(針對五個表中的每個)如下所示。
訂單表:
1.對于ADOTable,設置屬性:
2.對于DataSource,設置屬性:
?數據集–訂單。
3.對于frxDBDataSet,設置屬性:
?數據集–訂單;
?用戶名–訂單。
客戶表:
1.對于ADOTable,設置屬性:
2.對于數據源,設置屬性:
?數據集–客戶。
3.對于frxDBDataSet,設置屬性:
?數據集–客戶;
?用戶名–客戶。
項目表:
1.對于ADOTable,設置屬性:
2.對于數據源,設置屬性:
?數據集–項目。
3.對于frxDBDataSet,設置屬性:
?數據集–項目;
?用戶名–項目。
零件表:
1.對于ADOTable,設置屬性:
2.對于數據源,設置屬性:
?數據集–零件。
3.對于frxDBDataSet,設置屬性:
?數據集–零件;
?用戶名–零件。
員工表:
1.對于ADOTable,設置屬性:
2.對于數據源,設置屬性:
?數據集–員工。
3.對于frxDBDataSet,設置屬性:
?數據集–員工;
?用戶名–員工。
客戶表、項目表和雇員表與DataSource1(第一個表--訂單)有關系。它們通過鍵連接,因此對于訂單表中的一條記錄,將選擇這些表中的相應記錄。
項目表包含了訂單中的項目信息。沒有關于項目的具體數據--只有一個到零件表的鏈接。讓我們從零件表中添加兩個字段--價格和描述--到物品表的ADOTable中。這樣,我們以后就不需要使用Parts表了。
要將可計算字段添加到Items表中,雙擊ADOTable對象,就會看到一個包含表字段的窗口。最初它是空的,但你可以從上下文菜單中選擇添加字段......來加載它們。
價格和描述字段將從 "零件 "表中提取。在上下文菜單中選擇 "新建字段... "并添加價格字段。
以同樣的方式添加產品描述(描述字段)。
現在,只要我們創建了數據源并配置了表之間的關系,讓我們在表單中添加幾個按鈕。你可能還記得,第一個按鈕是啟動報表設計器,第二個按鈕是顯示報表。不要忘記在表單中添加frxReport組件。
為每個按鈕添加一個點擊事件。下面是顯示報表設計器的事件處理程序代碼。
frxReport1.DesignReport();
要打印完成的報表,可以在表單中添加 "打開文件 "對話框,選擇在設計器中創建的報表。打印報表的代碼將是這樣的。
OpenDialog1.Filter := 'FastReport VCL (*.fr3)|*.FR3'; OpenDialog1.Execute(); if Length(OpenDialog1.FileName)>0 then begin frxReport1.LoadFromFile(OpenDialog1.FileName); frxReport1.PrepareReport(); frxReport1.Print(); end
如果需要預覽報告,可以將“打印”功能替換為“報告”顯示:
frxReport1.ShowReport();
現在你可以運行該應用程序,點擊設計報表按鈕,然后進行報表創建。
首先,選擇報表數據集。
我們在這個報表中不需要零件表,所以不需要選擇它。我們繼續創建模板。在我們的報表中,有兩個數據帶。MasterData和DetailData。在第一個數據帶中,我們輸出的是客戶的信息。
以及客戶的其他信息:
該范圍鏈接到“訂單”表。訂單的內容信息將顯示在下級數據帶中:產品名稱,數量,項目價格,指定數量的價格。總計-例如總凈額,稅率,最終金額(含稅)-將顯示在頁腳中。
行總小計的計算方法是將數量和物料價格相乘作為單個表項的一部分:
在這里我們可以說我們的報告已準備好顯示。將其保存到本地存儲,然后關閉報表設計器。使用表單上的第二個按鈕,選擇保存的報告并進行打印(如果您在代碼中使用了打印選項),或者如果選擇了報告預覽選項– ShowReport(),則對其進行預覽。
就是這樣,你只需花費很少的精力,就可以為你的會計系統實現有用的功能。幾乎不費吹灰之力,您就可以為您的會計系統實現有用的功能。現在,從報表查看窗口,你可以打印它或保存在流行的文件格式之一。PDF, DOCS, XLSX, XML, RTF和許多其他格式。
還想要更多嗎?您可以點擊閱讀【FastReport 報表2020最新資源盤點】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入FastReport技術交流群(783996712),我們很高興為您提供查詢和咨詢。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn