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