原創(chuàng)|對(duì)比評(píng)測(cè)|編輯:龔雪|2014-04-08 09:25:23.000|閱讀 2769 次
概述:本文將對(duì)Delphi報(bào)表控件中最有知名度的QuickReport和FastReport報(bào)表控件進(jìn)行某些方面的比較,希望能對(duì)讀者有所幫助。?
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
從Delphi中加入報(bào)表控件之后到最新的Delphi7之前,QuickReport一直是Delphi附帶的報(bào)表控件,拋卻商業(yè)的利益不談,QuickReport能夠長(zhǎng)期占領(lǐng)Delphi的報(bào)表控件也在一定程度上表明QuickReport在報(bào)表處理方面有其獨(dú)特的方面。但是使用過(guò)QuickReport的朋友肯定會(huì)有這樣的感覺(jué),QuickReport報(bào)表在某些方面的功能確實(shí)是比較欠缺,本文將從以下幾方面對(duì)Delphi報(bào)表控件QuickReport 和FastReport進(jìn)行對(duì)比。
對(duì)線框的控制
在實(shí)際的應(yīng)用中,中國(guó)式的報(bào)表絕大多數(shù)都是表格的形式,線框的繪制非常重要,而在QuickReport中,進(jìn)行線框的繪制似乎不是很方便,不同的線型(水平線、垂直線)采用的是同一個(gè)QRShape控件,對(duì)每一個(gè)字段四周的線框都要進(jìn)行不同的設(shè)置,比較麻煩,并且在預(yù)覽的時(shí)候在不同的顯示比例的情況下個(gè)別線段可能會(huì)出現(xiàn)重合或者斷開的情況,雖然在真正打印的時(shí)候只要設(shè)置的正確確實(shí)不會(huì)出現(xiàn)重合或斷開的情況,但是在預(yù)覽的時(shí)候看上去很不舒服。
而FastReport對(duì)于線框的處理比QuickReport要好的多,使用Line控件可以很方便的完成水平線、垂直線的繪制,而且不會(huì)出現(xiàn)線框重合或者斷開的情況。靜態(tài)報(bào)表的情況下,F(xiàn)astReport還包含自動(dòng)水平線、垂直線的對(duì)齊功能,水平線和垂直線的接頭處會(huì)自動(dòng)完成對(duì)齊,不會(huì)出現(xiàn)接頭錯(cuò)開的情況。對(duì)于動(dòng)態(tài)報(bào)表的情況,只要準(zhǔn)確設(shè)置線框的位置,生成的報(bào)表會(huì)非常整齊、規(guī)范。對(duì)于動(dòng)態(tài)FastReport報(bào)表,在進(jìn)行繪制線框的時(shí)候必須要注意的一點(diǎn)是:線框必須放置在相對(duì)應(yīng)的區(qū)域內(nèi),否則設(shè)置的線框就不會(huì)顯示出來(lái)了,這一點(diǎn)是跟QuickReport是類似的。
中文換行的支持
而對(duì)于中文內(nèi)容的換行,QuickReport的支持并不如程序員料想的那樣進(jìn)行自動(dòng)換行,即使設(shè)置了WordWrap=true和AutoStrench=false。主要的原因在于QuickReport自身的自動(dòng)換行機(jī)制只有在遇到空格的時(shí)候才會(huì)進(jìn)行換行,如果是英文單詞的化當(dāng)然沒(méi)有問(wèn)題,碰到空格的時(shí)候當(dāng)然就可以換行了,但是中文就不同了,字與字之間是沒(méi)有空格的,這樣QuickReport在處理的時(shí)候并不會(huì)在字與字之間斷開,因此并不會(huì)進(jìn)行自動(dòng)換行。
FastReport中對(duì)于自動(dòng)換行的設(shè)置就簡(jiǎn)單多了,只需設(shè)置相關(guān)字段的WordWrap屬性為true即可,簡(jiǎn)單方便。
報(bào)表的修改
在FastReport中,只需要在Delphi工程中添加一個(gè)frDesigner控件,則工程中所有的報(bào)表都具有了最終用戶可以修改的功能。在這種情況下,只需要雙擊報(bào)表,就會(huì)出現(xiàn)報(bào)表的設(shè)計(jì)界面,在這個(gè)界面中,可以對(duì)報(bào)表的所有對(duì)象進(jìn)行相關(guān)屬性的設(shè)置,用戶可以方便的完成對(duì)最終報(bào)表的修改。
除了上述的三點(diǎn)之外,F(xiàn)astReport還具有很多優(yōu)點(diǎn),比如:直接編譯在Delphi EXE中,不需要?jiǎng)討B(tài)鏈接庫(kù);支持JPEG(使用Delphi類庫(kù))和GIF(使用RX類庫(kù));包含圖表,圖表,條形碼,帶陰影的文本;報(bào)表生成的頁(yè)數(shù)無(wú)限制;在報(bào)表預(yù)覽中查找文本等等。
總結(jié):
根據(jù)與QuickReport報(bào)表的比較可以得出這樣的結(jié)論,F(xiàn)astReoport報(bào)表控件的功能更豐富、性能更強(qiáng)大,比QuickReport更適合創(chuàng)建管理系統(tǒng)報(bào)表的控件。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn