Delphi第三方组件总述

来自:http://www.hongen.com/pc/program/third/delphi/dthird01.htm

众所周知,Delphi提供了大量的组件,使用这些组件基本上已能满足我们的编程需求。但是在对于有特定要求的程序,仅仅使用Delphi自带的组件就无法适应了。例如,Delphi没有提供串口通信组件(反正我是没有找到),编写有关串口通信的程序就需要使用API函数来实现串口通信,比较麻烦。另外,Delphi自带的一些组件功能比较简单,很难满足我们一些特定的要求。值得庆幸的是,现在有很多的第三方组件,这些组件功能强劲,而且覆盖了编程的方方面面,极大的方便了我们。使用这些第三方组件往往达到事半功倍的效果,大大提高编程的效率。同时还能使我们的程序更漂亮、更专业、更强大。所以第三组件是我们使用Delphi编程一大法宝。

  第三方组件往往是Delphi自带组件的扩展,是在Delphi自带组件的基础上加强功能,并进行功能细化和专业化。例如,有些第三方组件把按钮、标签细化为很多种,每一种实现一种特定的功能。另外一些第三组件是Delphi中没有的,这些组件往往是根据编程时常遇到的需求,将一些常用的方法、函数以及API集成到这些组件中,编程时就不需要编写这些程序了。如TrayIcon、Specomm等。这些组件往往都特别有用。

  第三组件从组成上分可分为单个组件和组件包。单个组件只有一个组件,这些组件一般都比较专业,往往功能也比较强大,如Specomm。组件包由多个组件组成,组件包又可分两种:一种是整套组件,它包含了各种各样的组件(可能有上百个),一般覆盖了Delphi编程的大部分领域,如AHM、Rxlib、ABC等,这些组件一般不会太专业,功能上主要是Delphi自带组件的扩展,不会太强大;另一种组件包组件较少,一般只有6、7个,往往只涉及一个方面,但是这些组件往往都很有特点,功能非常强大,在编程过程中十分有用,如CoolMenu、DragDrop、XlGrid等等。

  从组件的使用领域来划分,第三方组件可分为:界面增强类、图形图像类、多媒体类、系统类、数据库类、网络类等等。

  第三方组件一部分是个人编制的,这些组件往往是单个组件或小的组件包,它们的优良与编制者的水平密切相关。有些个人组件就非常好,很专业,有些就不是太强大。个人组件一般是共享的,而且是免费的。另一部分的组件,特别是组件包是由专门的组件商提供的,这些组件往往比较专业,性能比较稳定,这些组件有些是免费共享的,有些则是需要注册交费的。一般说来需要付费的组件(包)是企业级别的,功能特别强大。免费组件与之相比是有等级差别的。但是对于我们来说,这些免费组件(包)已是够用了。而且,我们还可以在网上找到付费的组件(包)的注册码或破解文件。

  现在国内编制Delphi组件的个人或组织(开发商)较少,绝大部分的第三方组件(包)都是有国外提供的。但我们不需到这些国外站点去下载,国内有很多的Delphi站点都提供有Delphi组件下载。这里可以推荐几个:

  Delphi大学(http://go.163.com/~xuguohua/index.html)
  
Delphi大师(http://go.163.com/~delphi6/)
  
崔卫的世界(http://go.163.com/~mycwcgr/)

  现在的第三方组件很多,比较出名有:Rxlib2.75、AHM2000 for Delphi5、ABC5D、XlGrid1.62、CoolMenu1.5、DragDrog3.7等等。我们将后面对这些典型组件(包)进行介绍。

   第三方组件都需要安装才能在Delphi中使用,各种组件的安装可能有较大的差异,有些很麻烦,有些却是全自动的。对于初学者,第三方组件的安装是一个很现实的问题,我们将在后面对第三方组件的安装进行详细的说明。

下面这篇文章是一位网友对多种第三方组(控)件的看法,英雄所见所略同,他的见解还是颇有见地的。但所谓智者见智,仁者见者,下面的红字是我的个人看法。

  古人云∶“工欲善其事,必先利其器。” 这句话,我想凡是用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的优秀程序来,让满世界的老外为我们来开发第三方的控件,呵呵呵.....

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值