Delphi控件的“拿来主义”

2016-01-29 14:24 3 1 收藏

Delphi控件的“拿来主义”,Delphi控件的“拿来主义”

【 tulaoshi.com - Delphi 】

  我还是一个半瓢水的程序员,因此目前为止我所能努力达到的境界是:

  一个半瓢水的程序员,管他会不会写控件,只要能拿来改就可以了。

  使用过Delphi的朋友都知道,我们在设计Delphi应用程序的某一功能时总是希望能够有现成的第三方免费控件可以拿来使用。但实际情况往往是,网上的控件确实种类繁多,优秀作品也数不胜数,但真正完全能够符合设计者具体要求的控件却很少。究其原因,不外乎以下几条

  1、国人开发的应用程序大多具有中国特色,而优秀的第三方控件往往是国外程序开发人员开发的(大名鼎鼎的Rxlib,知道吧,俄罗斯人的作品)。功能定义上的差别导致了控件的不可用性,看看QuickReport就知道了(当然,QuickReport编的也很烂)。

  2、真正优秀的第三方控件总是从大局上把握控件所能达到的功能,细节问题考虑的不多。而我们设计的程序通常要考虑到很多操作细节上的问题(一般是客户的要求,有时会有些变态)

  3、对于许多很有特色的控件,我们所需要的只是其中一部分功能,但是它被整合到了某一个大的方法中,无法为我们所用。

  4、优秀和免费总是两个矛盾,天下没有免费的午餐。

  种种原因,限制了开发者对控件资源的充分利用。其实,很多控件的代码都提供了开放的接口。只要大家对控件的原理有一定的了解,然后对别人的控件代码作一捏捏的修改,就可以无缝的添加自己需要的功能,或剔除冗余的功能。既达到了开发的目的,又避免了重写代码的麻烦,一举两得(好像很不负责任啊,没办法了,半瓢水嘛)。关于控件的原理,应该有很多文章介绍过了,在这里我想通过一个具体的实例来介绍一下怎样将别人的控件"拿来"为我所用。

  这个例子是关于如何将一个文本数据导入导出控件作一些简单的修改之后拿来使用的。

  ◆程序功能

  将图书馆的ISO文件中的部分数据转到Oracle8数据库中。

  ◆设计要求

  1.显示导入进度条。

  2.在导入过程中,如果某条纪录导入失败,不显示异常,而将导入失败的纪录记入日志。


来源:https://www.tulaoshi.com/n/20160129/1493167.html

延伸阅读
标签: Delphi
下面就来介绍一下这些控件的简单应用: 指定一个数据源 数据控件必须通过TDataSource构件连接数据集。TDataSource构件扮演的角色实际上就是数据控件与数据集之间的桥梁。首先,把一个数据集构件放到窗体或数据模块上,设置它的DatabaseName属性指定要访问的数据库,设置它的TableName属性指定要访问的表。接着,把一个TDataSo...
  unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, ExtCtrls, StdCtrls, jpeg; const LMouseDown=False; type   TForm1 = class(TForm)     Edit1: TEdit;     Panel2: TP...
Delphi中TXMLDocument控件的用法      Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很&...
标签: Delphi
  Delphi以其优秀的界面和简单的用法深受广大程序员的喜爱.笔者经过摸索,自做了一个具有动态显示特性的控件。只柙谥鞒绦蛑械饔酶每丶囊桓龇椒纯墒迪侄允尽T诙允镜耐?为了不影响主程序做其他的事情,笔者采用了比较流行的线程技术。  一. 方案  自做一个父类为TEdit的控件,应该有一个Text属性,能自...
  可视化控件(Visual Component)实际上就是一个类(class),要编写一个类,可以直接在*.pas文件中编写。但是要编写控件,则必须使用包(package)。从File菜单中选择New,新建一个Package,这就是存放和安装控件用的包。然后单击Package窗口中的Add按钮,添加一个元件(Unit)。 在弹出的对话框最上方选择New Component。因为一...

经验教程

685

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部