有很多第三方控件,就是delphi优势。vcl的优势就是开放性。
用delphi开发程序久了,程序员都会有自己开发的一些类库,和控件。
我自己就有一个类库,都是日积月累做的一些函数,过程,和自己开发的控件。
有些是在控件是在vcl的基础上扩展的,有些是完全自己做的。
比如搂主说delphi的dbgrid不好用,的却功能不太好。但你可以是第三方控件,
有很多不错的,也可以自己开发一个控件。我选择了第二者,我因为dbgrid没有打印功能而
烦恼,我是做管理系统的,需要做很多报表,很是麻烦,于是我想如果dbgrid能打印多好,dbgrid
显示什么,打印什么多棒。于是动手做,我在原dbgrid的基础上增加了一个类作为打印方面的
功能,可是设置标题,明细,页眉,页脚.....等等很多功能,基本上可以完成打印报表的需求。
可是用了一段时间发现有些问题。
1、没有打印预览。
2、我还希望能打印stringgrid,可是要在stringgrid的基础上再拓展还要编码。
3、使的dbgrid变大,一套软件会用很多dbgrid,具体程序编译后会增加多少我没做实验,反正
我感觉不好。
4、控件虽说可以完成基本打印功能,但我觉得不够完美,我想以后逐渐增加功能。因为我不是专门
搞控件开发的,所以只能利用空余时间。如果dbgrid增加功能stringgrid也要增加,二套控件都要
升级太麻烦了。
5、如果那天delphi升级拓展dbgrid的功能,或者向使用第三方的控件,我的控件就不能使了。
于是我重新做了一个控件,可以连,stringgrid,接dbgriddatasource,即使这些控件升级,只要
是在原来的基础上就可以用我的控件,而且增加了打印预览,以及很多功能。以后想要扩展功能只要
改这个控件就可直接用于dbgrid,stringgrid,datasource。
而所开发的软件系统不用改代码,只要重新编译就可以完成升级。
以后我还想我的控件可以打印更多的控件。
其实增加一个打印其它控件功能,只要短短行几十行代码,简单的控件则更少。
原因我是把打印控件分成了两部分,一部份是生成打印内容,一部分打印和预览。
再一个就是代码细化,每一部分都有很多模块,每一个模块实现一定功能,而增加一个打印其他
控件的功能,只需改动第一部分其中一个模块,其他模块不受影响。
也就是说我的控件扩展起来是很方便的,而且对使用控件的软件系统没什么影响。
其实这个控件从去年夏天基本定型,断断续续几经升过好几次级了~
而我大大小小也做了几个软件系统,每次升级都是利用做完一个软件系统,空余时间来完成升级。
因为每做完一套系统,总觉得这个控件就需要增加一些功能。升完级后,做新的系统就可以使用新
升级的控件了。
通过做控件的过程,使我对面向对象的软件开发方法有了更深更新的理解,对我以后开发软件有
很大的帮助。
如果那位朋友对我的控件感兴趣可以到下面的地址下载:
http://www.csdn.net/cnshare/soft/15/15471.shtm
我只是中专毕业,而且在一家小公司工作,好多东西都是自己摸索来的,还有很多csdn朋友指点。
所以我的控件肯定在编程方面有很多不足和错误,望各位高手,多多指点。