古人雲∶“工欲善其事,必先利其器。”
這句話,我想凡是用Delphi的朋友,應該都有很深切的體會吧。的確,如果Delphi沒有了控制的支持,那麼人氣度一定會大大的降低,不會有現在這樣多的Fan了,俺也就改行用BCB或VC了,呵呵。
但是,現在控制滿天飛,不要說DSP(Delphi Super Page)了,光一個深度歷險上面的控制就已經洋洋灑灑上萬數了,而且每天還在更新,多恐怖啊∶)然而,選擇多了以後,煩惱也就隨之而來了(呵呵,如果MM也能有那麼多讓我挑就好了),因為無法一個個的都去試過,所以有許多的優秀控制還不是為人所知,因此我就寫下了這篇文章,希望能為大家當個嚮導,起到一個拋磚引玉的作用吧。
好了,現在轉入正題。首先來大體上為控件分一下類,以方便我們後面的討論。
但因為控制的種類太多,所以就粗略的分為以下幾個類別∶
---介面風格類
---Shell外觀類
---Editor類
---Grid類別
---DB類
---Report類
---圖形類
---綜合類
約定的前提是∶All FreeWare,All source.至於那些要花錢購買的商業控件,我將在後面另外進行討論。對於文中我們所討論的每一個控件,都會給出一個品質得分,商業控件和免費控件一視同仁,不以價格論高低,而以品質分高下:
大體的評分標準如下:
一級棒的超cool控制:
★★★★★
也很不錯的控制:
★★★★
雖一般但有特色的控制:★★★
三顆星以下的控制就不在本文的討論範圍內了。 (☆表示★的效力減半)
還要注意的就是,則篇文章旨在向大家推薦一些優秀的第三方控件,文中提及的所有控件都可以在www.Delphiuser.com網站上下載。
◆首先,我們先來討論一下免費的第三方控制項(有原始碼):
㈠介面風格類別------------
一個優秀的軟體應該要有一個優秀的操作介面,我想這應該是不容置疑的。但是用過C/C++寫程式的朋友一定會有這樣的感嘆,作一個美觀又容易上手的介面實在太累了(除了BCB外)。但自從Delphi橫空出世之後,這一切就豁然改觀了。
這裡我先為大家推薦四套優秀的介面製作控制包。
1.FlatStyle2.1 品質:★★★★★
-------------------------------------------------- ----
評測:
非常非常棒的介面控制包,什麼叫Cool?用過了FaltStyle後,你就知道了:)在最新的2.1版中,FlatStyle作了很大的改動,不但新增了好幾個控件,還對源碼作了很大幅度的修改,更加有條理了.不過,還是有幾個小bug,呵呵,但無傷大雅.AWater自己又在這個基礎上,修訂了一下,並增添了幾個控件,使用的感覺只有一個字可以形容,呵呵,爽呀!強烈推薦!
2.JLAqua1.0 品質:★★★★★
-------------------------------------------------- --
評測:
這是一個類Mac OS介面的控制包,如果你對蘋果那可人的界面情有獨鍾的話,這個東東是你最好的選擇.絕對的搶眼.但由於是1.0版,AWater用了後覺的還是意猶未盡,好像還是少了點什麼.不過已經很不錯了呢,向您推薦.
3.Platinum Controls 品質:★★★☆
-------------------------------------------------- --
評測:
又是一個類Mac OS介面的控制包,和上面的JLAqua相比較的話,主要的不同點在於這個控制包所模擬的是一種較為經典的老式的Mac OS風格界面,而JLAqua則比較新潮一些,同時這個控制包所提供的控制種類也比較少,功能也較為單一。但是,還是頗有點特色的,值得推薦。
4.CoolForm 品質:★★★
--------------------------------------------------
評測:
第一次用這傢伙的時候,還真被它的名字給唬住了,後來仔細一看它的源碼,才發現不過如此,其實就是一個作古里古怪的Form的東東而已,不過寫得很簡潔,功能也不俗,特別是他內帶的屬性編輯器,寫得很有意思,可以根據你所提供的圖片而自動的生成Mask圖像。呵呵,還算不錯的一個控件,用不用隨你。
㈡Shell外觀類-------------
相信很多朋友在寫程式時,並不滿足Delphi提供的OpenDialog和SaveDialog吧,有時需要作一個類似資源管理器(Explorer)的東東,而Delphi提供的FileListBox和DirectoryListBox的卻又太難看,太簡陋。雖然Delphi提供了ShellApi.pas,但自己再從頭寫一個這樣的Component卻又太麻煩時,下面的這幾個東東可以讓你從多餘的重複勞動中解放出來。
1.DFS TSystemTreeView v0.95 Beta 品質:★★★★☆
-------------------------------------------------- ---
評測:
說起DFS,相信凡是用Delphi的老鳥,一定不會陌生。這個控制可以算是精品了,AWater也就不多嚼舌了,但由於是Beta版的緣故吧,還是有些不太穩定,偶爾會出錯。所以就只打了四顆星,有點委屈它了呢,呵呵。向您推薦!
2.LsFileExplorer 2.7 品質:★★★☆
-------------------------------------------------- -
評測:
挺不錯的一個控制包,唯一可惜的地方是其中的TLsDirTreeCombo部分有一個bug,就是當把TLsDirTreeCombo放在TCoolBar或TControlBar之上時,一旦width有變化,你就會發現TLsDirTreeCombo的ClickButton位置會有嚴重的錯位。呵呵,本來AWater想給它打★★★★☆的,結果就一落千丈啦,滿可惜的。如果這個bug能夠修正的話,那就很不錯了,不過話又說回來,畢竟是免費的嗎。還是值得向您推薦。
㈢Editor類別----------
有沒有這樣的感覺呢? Memo太簡單,Richedit不好用,版本也太亂,容易出問題。想不想擁有像Delphi自帶的Editor一樣的支援語法高亮,功能又強大的編輯控制呢?請看下面兩個東東吧。
1.mwEdit 0.92a 品質:★★★★★★
-------------------------------------------------- ---
評測:
這個東東可是目前免費控制中的頂級之作,擁有商業控件般的強大功能,同時又開放原始碼,可是廣大的Delphi程式設計師的福氣呦!有了它,您也能夠輕鬆的寫出像Delphi自帶的Editor一樣的編輯器來,它除了支援Pascal語法的特殊高亮顯示之外,還能夠支援其它十多種的語法高亮顯示。最妙的是,mwEdit居然還能夠跟資料庫連結起來,呵呵。實在是太強大了,向您強烈推薦!
2.unicode edit 1.0 品質:★★★★☆
-------------------------------------------------- ---
評測:
這個控制是著名的JEDI項目之一,大體上和上面的mwEdit相似,不過功能還沒有它那麼強大,但也已經很不錯了。特點是內建了超過一百個unicode(WideString)的函數,是不是很恐怖呀?呵呵,向您推薦!
㈣Grid類別--------
在現實中的許多資料組織方式非常適合用Grid來表示,尤其是在一個資料量大,資訊繁雜的系統中,如果沒有Grid control,那將是無法想像的。然而Delphi自帶的Grid,不管是StringGrid,還是DrawGrid,或DBGrid,都還嫌不夠強大。下面的幾個Grid控制也許會讓你感到興奮的。
1.TStringAlignGrid 2.0 品質:★★★★
-------------------------------------------------- ---
評測:
這個控制雖然是個免費的東東,但是可以看出作者還是很用心的。功能不能說非常強大,但卻夠用,只要你不是做什麼特別的東西,這個控制絕對是你最好的選擇。而且附帶了一份詳細的help文件,值得推薦。
㈤DB類別------
這方面好像沒有什麼特別突出的免費控件,挑來撿去的,就只找到這一個,呵呵。
1.TkbmMEMTABLE v. 2.33 品質:★★★★
-------------------------------------------------- -
評測:
一個不錯的內存表控件。如果你正急需這方面的控制的話,就試試看。值得推薦。
㈥Report類別----------
說到報表,許多朋友的心裡一定會翻湧起種莫名的滋味吧。在品嚐過QuickReport帶來的尷尬之後,尋找一個優秀的,功能出眾的報表控件就一直是我們孜孜以求的,下面為大家推薦兩個非常優秀的報表控件,而且還都是我們國人自己開發的,呵呵,掌聲歡迎:
1.eReport 品質:★★★★☆
-------------------------------------------------- ---
評測:
非常優秀的報表控件,完全為了中國的報表格式所設計,同時內帶一個報表編輯器,工作模式類似於套打,本來用QuickReport需要乾一個月的活,用eReport三天就可以搞定了,呵呵。不過,要指出的是,eReport現在還不能支援報表嵌套,不能不說是一種遺憾。 (居作者王寒鬆自己說,報表嵌套的部分本來是已經寫好了的,可惜不當心給搞丟了,後來也就一直沒有寫下去了。嗚嗚嗚......)
2.rmachine 品質:★★★★
-------------------------------------------------- ---
評測:
說起這個東東,可能知道的人並不是很多。但說起FastReport,相信大家應該都有所耳聞吧。這個控制項就是在著名的FastReport的基礎上發展起來的,修正了一些Bug,增強了許多功能。挺不錯的,呵呵。推薦!
㈦圖形類--------
應該說圖形類別控制範圍太大,從一般的Image到Chart,還有各種各樣的Effect.內容實在太多太廣,我就簡單的挑幾個最有特色的介紹個大家吧。
1.FastLib 品質:★★★★★★
-------------------------------------------------- ---
評測:
非常非常優秀的圖形庫,提供了大量的圖形處理函數,功能之強大甚至連一些商業控制都自愧不如。用它作出的各種的圖形特效,呵呵,只能說一個絕字。向您強烈推薦!
2.GLScene(OpenGL Component) 品質:★★★★☆
-------------------------------------------------- ---
評測:
有沒有試過這樣寫OpenGL程式:選一個模型,然後為它添加燈光,紋理。即時調整大小,位置。不滿意?就換一個模型,重來一次。一切好像不是在寫程序,而好像在3DSMax中現場編輯的感覺一樣。怎麼樣,奇妙吧,還不快去試試。呵呵,向您強烈推薦!
3.TPicShow v2.3 品質:★★★★☆
-------------------------------------------------- ---
評測:
這個小東東,提供了一百二十二種的圖形特效,而且效率也不錯。剩下去了你的大量查書,編碼的時間,快來試試吧,給你的程式裡的圖形加上些切換特效,讓你的用戶嘖嘖稱讚你的程式介面。呵呵,向您強烈推薦!
㈧綜合類--------
綜合類別的控制包,就是指那些囊括了各種類型的控件的大雜燴,下面為大家列舉幾個免費控件中優秀的綜合類控件包:
1.RxLib 2.75 品質:★★★★☆
-------------------------------------------------- ---
評測:
說起這傢伙,大家應該早巳如雷貫耳了吧?呵呵,所以AWater就不多說了,可別告訴我說你還不知道,向您強烈推薦!
2.RALib 1.52a 品質:★★★★★
-------------------------------------------------- ---
評測:
這個東東和RxLib雖然名字差了一個字,但功能卻比RxLib還要強,只不過在國內的知名度沒有RxLib那麼響罷了,去試試吧,保證你會驚喜萬分的。向您強烈推薦!
3.DevExPRess Forum Library 2.0 品質:★★★★☆
-------------------------------------------------- ---
這個控制包是著名的Delphi控制廠商Developer Express出品的一套免費且有原始碼的擴充包。秉持著Developer Express的一貫風格,這個控件包處處透露出一股「貴族」的味道,其中包含了許多的優秀控件,給人的感覺可一點都不像是免費的控件,如果你看一下它的源碼,更有這種感覺,條理清晰,結構合理。不愧是名家出手。呵呵。不過,這麼好的東東也不是隨便就能得到的,首先得參加Developer Express的Forum,在他們那裡註冊之後(當然是免費的),才可以得到。快去註冊吧。強烈推薦!
好了,看過了上面的這些免費的第三方控制之後,下面讓我們來看一下商業控件的情形吧,我們同樣也把商業控制分成8個類別,進行一下評測,來和前面推薦的免費的控件來比一比看,到底是誰利害,商業控制不一定能全佔優呢!
◆商業控制(可是要花錢去買的喲):
㈠介面風格類別------------
1.DevExpress Bars 3.1 品質:★★★★★★
-------------------------------------------------- ---
評測:
是由著名的Delphi控制廠商Developer Express出品的類別Word2000介面的控制組。功能之強大,介面之華麗,呵呵,簡直是一言難盡呀。我甚至都有些懷疑Dephi的選單和工具列就是用這個東東作的。實在太cool了,相較之下,免費的ToolBar97,簡直就成了雞脅,食之無味啊。呵呵,如果你想做出一個精美的流行介面,這是你最好的選擇,而且也能剩下你大量的重複勞動時間。強烈推薦! ! !
2.ExtarPack 1.5 品質:★★★★★
-------------------------------------------------- ---
評測:
如果你想把自已的程式介面作很另類的話,這個東東就是最好的選擇了,呵呵。你可以把你的程式武裝到牙齒,如果別人不知的話,一定以為你再用什麼的新式作業系統呢。呵呵,想給別人一個驚喜嗎,就用ExtarPack吧。會讓你滿意的很。不過,我可要事先提醒你,這個東東的耗費系統資源量也不小喲。強烈推薦!
3.FormContainer 1.5 品質:★★★★★
-------------------------------------------------- ---
你不會沒用過Delphi自帶的TeeChart吧,這個東東就是出TeeChart的那個公司的兩個程式設計師寫的,品質嗎,呵呵,一級棒的呢。絕對不給TeeChart丟臉。知道一個人為什麼會在電腦面前傻傻的發呆嗎?多半是看到了用FormContainer寫的程式了。呵呵。真的是絕了,絕對是經典的介面風格,讓你意想不到的一種驚喜。 AWater很配服能寫出這個控制的程式設計師,非常了不起。可惜搞不到原始碼,不然一定要好好研究一下。向您強烈推薦! !
㈡Shell外觀類-------------
1.Shell Control Pack VCL v1.5 品質:★★★★★★
-------------------------------------------------- ---
評測:
關於這個控件,AWater也就不想多費話了。只想說一句:用著的感覺就好像在用資源管理器(Explorer)一樣。呵呵,非常非常的棒子。向您強烈推薦! !
㈢Editor類別----------
1.Dream Memo 3.1 品質:★★★★☆
-------------------------------------------------- ---
評測:
由著名的Delphi控制廠商「夢幻隊」Dream Company出品的強大的編輯控制。應該說各方面都非常優秀。至少在AWater沒有使用mwEdit之前一至認為它是最好的,現在嗎,嘿嘿,最好的當然就論不到它了。不過,的確非常強大,可惜這個東東寫的太龐雜。所以嗎,Bug也比較多。但還是值得向您推薦的。
2.PlusMemo 5.2 品質:★★★★☆
-------------------------------------------------- ---
評測:
這個控制可是元老了,功能強大。很有特色。很有自已的風格,也支援數據感應。而且作的也很小巧。非常不錯。向您強烈推薦! !
㈣Grid類別--------
1.DevExpress ExpressQuantumGrid 2.1 品質:★★★★★★
-------------------------------------------------- ---
評測:
又是由著名的Delphi控制廠商Developer Express出品的超級Grid控制項。主要應用於資料庫的操作使用方面。功能強悍,有許多的「獨門武功」。呵呵,如果借用圍棋的段位來評分的話,這個控制的水平恐怕還在九段之上。堪稱超一流。就算是同樣的商業控制項中,在操作資料庫方面,比ExpressQuantumGrid強的恐怕還沒生出來。如果再配上同門所出的dxTreeList,dxPrintSystem,真的是打遍天下無敵手了。而且是百分之百的純VCL寫成的。是不是COOL待了,呵呵。向您強烈推薦! ! ! ! !
2.TopGrid 2.01 品質:★★★★★
-------------------------------------------------- ---
評測:
這個控制項雖然在操作資料庫功能方面沒有像前面的DevExpress ExpressQuantumGrid那樣犀利。但它卻適應面很廣,可以勝任StringGrid,DrawGrid,DBGrid的所有工作,不像ExpressQuantumGrid只適用於資料庫操作。而且TopGrid的介面非常的Cool,有點像PowerBuild裡的DataWindow的感覺,而且是比較美觀。功能十分靈活,可以非常方便的操作Grid中的每一個Cell,唯一的缺點是編譯出來的EXE檔大了點,不過用aspack壓一下就可以兩全了,呵呵。向您強烈推薦! ! !
3.XLGrid 1.62 品質:★★★★★
-------------------------------------------------- ---
評測:
用這個控制讓我想起了MS的Excel,呵呵。強大,強大,還是強大。可惜不支援資料庫操作。在它的主頁上有預發布2.0的實現功能計劃書,AWater看了後,大流口水,太Cool了,可惜還沒發布。不過這個1.62版的,巳經很爽了。向您強烈推薦! ! !
㈤DB類別------
實在太多太多了,從高端的ASTA到性能全面的DBISAM,從DAO到Topaz,還有大名鼎鼎的InfoPower,實在是太多了,而且個個都是五星級的。 AWater就不寫了,反正這方面,是商業控制全面勝出。呵呵。
㈥Report類別----------
1.ReportBuilder 5.0 品質:★★★★★
-------------------------------------------------- ---
評測:
非常非常強大的報表控件,不要問我它到底強大到如何程度,因為這估計得整整寫上五六千字才能向你介紹清楚。如果你正在為手頭缺少一個功能強大,適用面廣報表控制項時,那麼就只有它了,這是你最好的選擇。可以說,只要你想得到,它基本上都是作到的。向您強烈推薦! ! !
2.HTMLReport 品質:★★★★☆
-------------------------------------------------- ---
評測:
放上這個東東,可能有湊數之嫌。不能說功能非常非常強。但你看它的名字,裡面有個很時興的字眼:HTML。呵呵,對了,它就是作這個用的。如果你有這方面的需要,找它就沒錯了。整體性能也很不錯。當然還沒有強大到像上面那個REportBuilder一樣恐怖。向您強烈推薦! !
㈦圖形類--------
1.Pegasus公司的系列圖形控製品質:★★★★★
-------------------------------------------------- ---
評測:
Pegasus公司出品過許多知名的圖形控件,像是像FXTools,ImagN'之類大家都早巳有所耳聞的超級控件。如果你對圖形處理方面有較為高的要求,則應該考慮一下Pegasus 公司出品的這些一流的控制。可不是一般的免費控制可以替代的喲。向您強烈推薦! !
㈧綜合類--------
綜合類的我就不寫評測了,反正無論是恐龍級的LMD,AHM2000,還是RZLIB,或是精緻的1stClass。強大的功能和繁多的控件,都不是免費的控件包可以相提並論的,用的時侯,唯一讓我擔心的,就是我倒底該用哪一個好呢?呵呵,這豈不也是一種煩惱嗎:)
比較之下,我想大家心裡都有了一個底了吧。在以上免費控制和商業控制的共八個大類的評測下,應該說商業控制佔了絕對的優勢,只除了一個Editor類,免費控制可以和商業控制一較高下之外,其餘的都是有一定的差距。特別是在DB類方面,免費控制一方死的最殘,呵呵。不過話說回來,天下到底沒有白吃的午餐,好東西總還是要花錢去買的嗎。但是,最後我們可以得出這樣一個結論,雖然商業控制功能強大,品質優秀。但是,在你沒有哪麼多的資金去購買,或者你對程序的某方面性能要求並不是非常苛刻時,你完全可以考慮使用一些優秀的第三方免費控件,或以之為藍本在這個基礎上進行二次開發,來達到你的設計要求,這也是一個非常不錯,而且也很省錢的方案吧:)
從上面的論述中,大家應該可以了解到了一些關於delphi的第三方控制的資料了,不過AWater在這裡要提醒大家的是,控制雖好,但也不能濫用。更不能什麼都依靠控件,一個好的程式設計師,不但要會用,更要會自己寫。有空多研究一下優秀控制項的源碼,對水平的提升是大有幫助的,也能更深入的理解物件導向程式設計的機制。希望有朝一日,我們中國人也能寫出像delphi的優秀程式來,讓滿世界的老外為我們來開發第三方的控件,呵呵呵.....