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