古人云∶“工欲善其事,必先利其器。” 这句话,我想凡是用Delphi的朋友,应该都有很深切的体会吧。的确,如果Delphi没有了控件的支持,那么人气度一定会大大的降低,不会有现在这样多的Fan了,俺也就改行用 BCB或VC了,呵呵。 但是,现在控件满天飞,不要说DSP(Delphi Super Page)了,光一个深度历险上面的控件就已经洋洋洒洒上万数了,而且每天还在更新,多恐怖啊∶) 然而,选择多了以后,烦恼也就随之而来了(呵呵,如果MM也能有那么多让我挑就好了),因为无法一个个的都去试过,所以有许多的优秀控件还不是为人所知,因此我就写下了这篇文章,希望能为大家当个向导,起到一个抛砖引玉的作用吧。好了,现在转入正题。
首先来大体上为控件分一下类,以方便我们后面的讨论。 但因为控件的种类太多,所以就粗略的分为如下几个类别∶
---界面风格类
---Shell外观类
---Editor类
---Grid类
---DB类
---Report类
---图形类
---综合类
(这里的分类不是很准确,也不够全面)
约定的前提是∶All FreeWare,All source.至于那些要花钱购买的商业控件,我将在后面另外进行讨论。对于文中我们所讨论的每一个控件,都会给出一个品质得分,商业控件和免费控件一视同仁,不以价格论高低,而以质量分高下。大体的评分标准如下:
一级棒的超cool控件: ★★★★★
也很不错的控件: ★★★★
虽一般但有特色的控件: ★★★
三颗星以下的控件就不在本文的讨论范围之内了。(☆表示★的效力减半)
◆首先,我们先来讨论一下免费的第三方控件(有源代码):
㈠界面风格类
一个优秀的软件应该具有一个优秀的操作界面,我想这应该是不容置疑的。但是用过C/C++写程序的朋友一定会有这样的感叹,作一个美观而又容易上手的界面实在太累了(除了BCB外)。但自从Delphi横空出世之后,这一切就豁然改观了。 这里我先为大家推荐四套优秀的界面制作控件包。
1.FlatStyle2.1 品质:★★★★★
评测: 非常非常棒的界面控件包,什么叫Cool?用过了FaltStyle后,你就知道了:)在最新的2.1版中,FlatStyle作了很大的改动,不但新增了好几个控件,还对源码作了很大幅度的修改,更加有条理了.不过,还是有几个小bug,呵呵,但无伤大雅.AWater自己又在这个基础上,修订了一下,并增添了几个控件,使用的感觉只有一个字可以形容,呵呵,爽呀!强烈推荐!
(FlatStyle2.1确实是不错的一套不错的组件,顾名思义,它的一大特点是Flat效果,但要评为5星级组件似乎还差一点点,我在编程中用它就用得不多)
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就不多说了,可别告诉我说你还不知道,向您强烈推荐!
(将RxLib评为5星级亦不为过)
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,简直就成了鸡胁,食之无味啊。呵呵,如果你想作出一个精美的流行界面,这是你最好的选择, 而且也能剩下你的大量重复劳动时间。强烈推荐!!!
(DevExpress Bars 3.1确实是一套很Cool的组件)
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版的,巳经很爽了。向您强烈推荐!!!
(XlGrid组件实在是太Cool了,我正在用它,的确很好,现在的新版本是1.63)
㈤DB类
实在太多太多了,从高端的ASTA到性能全面的DBISAM,从DAO到Topaz,还有大名鼎鼎的InfoPower,实在是太多了,而且个个都是五星级的。AWater就不写了,反正这方面,是商业控件全面胜出。呵呵。
(Delphi最大的特点是它强大的数据功能,所以第三组件(特别是商业组件)中最为突出的也是要数据库类)
㈥Report类
1.ReportBuilder 5.0 品质:★★★★★
评测: 非常非常强大的报表控件,不要问我它到底强大到如何程度,因为这估计得整整写上五六千字才能向你介绍清楚。如果你正在为手头缺少一个功能强大,适用面广报表控件时,那么就只有它了,这是你最好的选择。可以说,只要你想得到,它基本都作到的。向您强烈推荐!!!
2.HTMLReport 品质:★★★★☆
评测: 放上这个东东,可能有凑数之嫌。不能说功能非常非常强大。但你看它的名字,里面有个非常时兴的字眼:HTML。呵呵,对了,它就是作这个用的。如果你有这方面的需要,找它就没错了。总体性能也很不错。当然还没有强大到像上面那个REportBuilder一样恐怖。向您强烈推荐!!
㈦图形类
1.Pegasus公司的系列图形控件 品质:★★★★★
评测: Pegasus 公司出品过许多知名的图形控件,比如像FXTools,ImagN\'之类大家都早巳有所耳闻的超级控件。如果你对图形处理方面有较为高的要求,则应该考虑一下Pegasus 公司出品的这些一流的控件。可不是一般的免费控件可以替代的哟。向您强烈推荐!!
㈧综合类
综合类的我就不写测评了,反正无论是恐龙级的LMD,AHM2000,还是RZLIB,或是精致的1stClass。强大的功能和繁多的控件,都不是免费的控件包可以相提并论的,用的时侯,唯一让我担心的,就是我倒底该用哪一个好呢?呵呵,这岂不也是一种烦恼吗?
(这实在是一种烦恼,我有时陷入这些超Cool组件包的包围之中,但不管你爱几个mm,你最终只能选择一个,呵呵)
比较之下,我想大家心里都有了一个底了吧。在以上免费控件和商业控件的共八个大类的评测下,应该说商业控件占了绝对的优势,只除了一个Editor类,免费控件可以和商业控件一较高下之外,其余的都是有一定的差距。特别是在DB类方面,免费控件一方死的最惨,呵呵。
不过话说回来,天下到底没有白吃的午餐,好东西总还是要花钱去买的吗。但是,最后我们可以得出这样一个结论,虽然商业控件功能强大,品质优秀。但是,在你没有哪么多的资金去购买,或你对程序的某方面性能要求并不是非常苛刻时,你完全可以考虑使用一些优秀的第三方免费控件,或以之为蓝本在这个基础上进行二次开发,来达到你的设计要求,这也是一个非常不错,而且也很省钱的方案吧。
从上面的论述中,大家应该可以了解到了一些关于delphi的第三方控件的资料了,不过AWater在这里要提醒大家的是,控件虽好,但也不能滥用。更不能什么都依靠控件,一个好的程序员,不但要会用,更要会自己写。有空多研究一下优秀控件的源码,对水平的提高是大有帮助的,也能更加深入的理解面向对象编程的机制。希望有朝一日,我们中国人也能写出像delphi的优秀程序来,让满世界的老外为我们来开发第三方的控件,呵呵呵..... 。