计算机理论

计算机网络
计算机理论
计算机应用
电子商务

本类阅读TOP10

·Frontpage网页制作
·C#做的ASP.NET登錄篇
·C语言实现串行通信接口程序
·Foxpro DBF数据库转换成SQL Server 6.5表的几种方法
·企业信息化的新选择——Intranet
·动态哈夫曼编码的改进
·论计算机网络中服务的概念
·Visual C++中的开放数据库连接技术
·关于烟汽应用计算机信息技术加强企业管理的调查报告
·Solaris下PRO*C和OCI程序设计分析与比较

分类导航
演讲致辞党团范文
心得体会领导讲话
经验介绍事迹材料
总结汇报计划方案
常用范文写作指南
证券金融银行管理
债务市场保险租赁
金融研究证券投资
财务管理投资决策
财务分析融资决策
财务管理市场营销
会计审计会计审计
成本会计管理会计
CPA行业管理学
战略竞争旅游管理学
成本管理管理学理论
物流管理人力资源管理
财政税收财政政策
财税法规税务研讨
税收理论国债研究
财政研究经济学
中国经济经济学理论
新经济学产业经济
国际经济经济学相关
地方经济发展战略
国际贸易公共管理
公共政策行政管理
经济管理企业战略
管理理论市场营销
企业研究企业文化
文化类西方文化
传统文化社会学相关
艺术学美学
音乐影视
艺术理论社会学
伦理道德环境保护
人口问题农村研究
教育学历史学
教育学国学
理工科理科相关
统计学物理学
工业设计交通
土建水利学材料工程学
电子学通信学
化工计算机
计算机网络计算机理论
计算机应用电子商务
文学外国语
人物研究哲学
哲学相关思想哲学
科技哲学中国哲学
西方哲学逻辑学
政治政治相关
民族主义资本主义
社会主义马克思主义
法律行政法
法学理论司法制度
经济法民法
医学医学
临床医学药学
其他文秘
公务员考试最新资讯
考试资料复习指导
面试指南教育教学
论Delphi开发商品化软件的优点

作者:未知 来源:应用文写作网 加入时间:2005-12-29 月光软件站


   1995年10月,当我们在考虑选择哪种开发工具来开发新的Windows版本企业管理软件时,有很多意见:VC++ 2.0,BC++ 4.5,VB 4.0,PB 4.0,Foxpro 2.5 for Windows和Delphi C/S。 由于以前我们的全部 DOS和Windows产品全是由Borland C++编写的,彻底感觉过C++编写大型应用软件的优点和缺点---能解决 所有问题但投入代价太高!所以我们决定抛弃C++,另外选择。为郑重起见,我和几个主力开发人员一起测试了其余的开发工具,最后几乎全部决定采用一个很新的工具Delphi 1.0 C/S,当时考虑的因素如下:

  1.Delphi是唯一真正的编译语言。由于大型通用软件的速度要求较高,经验和测试表明PB,VB,Foxpro编写的大程序较慢,Delphi的程序开发和运行时都很快。

  2.Delphi C/S支持单机的dBase,Paradox数据库和流行的关系数据库,如Oracle,Sybase,MS SQL Server等。这样,最后的系统可以在单机、Netware网络文件共享方式和C/S条件下运行,扩大了企业使用范围。

  3.Delphi的Pascal语言是和C++是几乎相同的面向对象语言,非常好,习惯了C++OO 编程的高级C++程序员很容易接受。而且,Borland的Pascal一直非常好。

  4.Delphi C/S有全部构件的Source,可以在需要的时候修改和增加构件。

   现在,我们完成了一套庞大的产品"天心企业全能管理系统",是一套包含企业的财务管理、仓库管理、销售管理、应收应付帐款管理、报表系统、成本核算、生产管理、商场POS前后台业务处理、工资考勤管理和结合Internet/Intranet的公文管理、报表查询的完整系统。它是32位的应用,运行于英文和简体、繁体Windows 95/NT上,后台支持各种数据库连接,包括NT、95、Netware和Unix环境下的MS SQL Server、Oracle、Sybase、Informix、IBM DB/2、 Interbase、 Access、 Foxpro等。 系统规模庞大, 14M的源代码由600多个Pascal文件和接近400个DFM文件构成,包含自己开发和购买的40多个Delphi构件以及4个Active X(OCX)构件。

  如此大规模的开发的顺利完成,经历从Delphi 1.0 C/S升级到2.0 ,2.01C/S,使我们对Delphi 2.01 C/S Suite版本有了非常彻底的了解,下面就几个比较突出的优点谈谈我们的感受。

          1.几乎完美的面向对象语言和技术。

  Delphi1.0的面向对象已经非常彻底,但2.0更好,增加了可视的Form的继承。这大大方便了类似数据输入界面的管理,比如收款录入和付款录入界面,很多动作相同,于是可以先构造一个Form作为基类,继承下去两个甚至多个界面,相同动作写于基类中,不同的编写于子类中。由于所有函数支持"虚函数"特性,对程序编写和维护非常方便,大量类似的报表也采用了此技术。

  考虑到系统中有大量的数据录入动作,我们编写了一个构件,叫DBKey,专门解决界面数据和数据库之间的动作。这样,程序员只要考虑用户输入数据的正确性和关系,而不用考虑数据如何存入数据库中和数据浏览、移动时的细节。如果数据进入数据库时的请求出错,构件会自动Rollback还原到录入状态,给出提示,使所有画面的处理动作一致。每个数据录入界面上都使用DBKey,还实现了很多细节的管理动作和打印动作。在输入界面完成后,只要修改和增加DBKey的功能,全部界面都具有了相同功能。比如,我们的表单打印输出就是在全部录入界面完成后,才加入在构件中的,于是全部界面都有了漂亮一致的打印输出功能。

  由于每个企业对报表输出的数据要求都可能不一致,我们的报表输出的也采用了一个专用构件,程序员只要将需要的数据提交出来到一个临时数据库中就可以了。以后对数据的小计、合计、排序、增加自定义计算栏位、调整栏位顺序、报表打印样式、字体设计和将数据转出为各种dbf,txt,Word,Excel文件或发电子邮件、传真等功能都统一由构件实现。这样,使用户的使用感觉非常一致;而我们的维护工作也变得非常简单。

  Delphi本身提供了一个很好的DBGrid,但我们在实际应用中,发现缺少一个中国人很常用的双层表头功能,比如上层表头为工资,下层为基本工资、加班工资、房屋补贴等。于是,我们继承DBGrid派生了一个新的类,只编写了200多行程序,就实现了此功能。

  Delphi的对象技术还帮助我们完成了两个高难度的工作:多语言支持和类似于Windows 95的桌面和菜单管理。我们的软件可以自动和运行期间人工调整显示的语言:大陆的GB码、港台的BIG5码和英文,为外资企业提供了方便。我们的软件由于功能很多,一般用户可能不会全部使用,也有可能希望更改表示功能的桌面和图标,重新根据部门安排和调整工作图标,于是我们又编写了一个构件能将用户重新设计的桌面、菜单保存起来,并对应系统的具体功能。这样,我们的系统就可以根据用户的需求,随意的修改和组合,可复杂也可以简单。这样的功能,用别的RAD工具实现起来就会非常困难。

            2.完善的数据处理能力。

  Delphi 2.0中,增加了Data Modules的概念,可以将数据包装在一个模块中,在系统启动时或空闲时 将它打开,这样,所有使用这些Table的模块都可以公用它,避免重复打开和关闭。并且,由于所有数据Table位于一个模块中,非常便于管理维护和迁移升级。

  BDE的别名机制,使数据库迁移变得非常容易,从Desktop转为Client/Server只要改变和设置好别名就可以了。BDE本身附带有Oracle,Sybase,MS SQLServer,Interbase和dBase,Paradox 的驱动 程序 ,可以直接连接上述数据库,BDE 3.5又增加了Informix和IBM DB2的支持。通过对ODBC的支持, 又可以连接所有提供ODBC驱动的关系数据库。Delphi提供了一个函数,叫ISSQLBased,用于判断当前数据库是否是基于SQL数据库的,为特别的需求提供了判断方法。

   Delphi提供了非常方便的工具SQL Explorer,可以快速浏览各种数据库服务器上的资料,如stored procedure等。另外一个工具是SQLMonitor,可以测试和优化SQL查询。还提供了一个数据搬迁工具,可以将数据从一个地点全部或部分搬迁到另外一种数据库中。

   BDE中,可以针对不同关系数据库设置大量的相关参数,调节处理性能。更提供了带缓存的更新动作CachedUpdate,大大提高了交易处理能力,这样,可以将多笔资料录入修改放在缓存中,确认后,再一次性的更新数据库。这个功能大大减轻了程序员保存临时数据的负担!

            3.对标准技术的完整支持。

  Delphi提供了Windows 32位特性的完整支持。用Delphi编写multi-thread多线程的程序非常简单, 系统提供了一个叫Thread Object的物件,只要新建一个Thread Object,然后给出Class Name, 就产生了一个继承TThread的Class,在Execute中添入相关代码,就完成了。我们的系统中就使用了multi-thread来提高系统的执行效率,在空闲时,提前打开相关数据库的Table。

  Delphi 2.01升级后,提供了对Microsoft的Active X技术(OCX技术的改进)的支持, 可以在Delphi中 像使用标准构件一样使用ActiveX构件,你可以直接购买别人开发的大量Active X(OCX)构件直接 使用,比如像复杂得可以完全兼容Microsoft Excel 7.0的Formula One构件,大量支持WWW浏览器技术的构等。2.01版本中,还直接提供了一组Active X构件,实现了对ftp,pop3,smtp,http,nntp等协议支持。这样,在Delphi编写的应用程序中,就可以非常方便的进行Internet的访问,如收发E-Mail,访问Home Page和Download软件升级版本。Delphi中,对OLE2的支持也是非常完整,由于增加了一种数据类型Variant,我们可以在程序中,对Word,Excel等OLE2对象进行操作,非常方便。

            4.大量的第三方构件产品和工具。

  在Internet上,有全球大量的Delphi程序员编写的构件和范例程序。最有名的好象是DSP(Delphi Super Page,http://sunsite.icm.edu.pl/~robert/delphi//)和Delphi32(http://www.delphi32.com/)。前者是建立于Sunsite上的,位于波兰,有成千个构件和范例程序是Freeware和Shareware,可以免费或购买使用,几乎各种专题都会涉及。比如,我们早期曾考虑编写MAPI程序,结果去DSP上马上就找到一大堆构件和范例,还有Source,大大加快了开发速度;后来又有一次希望编写TWAIN32的扫描仪接口,结果有一下就有3个构件支持。于是,我们养成一个习惯就是当编写一个特别功能的构件时,先去Internet上找一找,几乎每次都会有收获。

  还有大量的公司编写的高水平的Delphi构件,比如Info Power的一组DataControl构件,水平非常高,很实用;大大有名的就是Delphi 2.0附带的QuickReport构件,我们购买了Source,写得非常漂亮,能非常高效方便地处理较小规模的数据,输出报表,刚发表的2.0版本更好,能处理非常复杂和大量的数据,使用更方便。

  随着我们产品开发的完成,我们非常庆幸当初选择了Delphi作为开发工具,它几乎全是非常彻底解决了遇到的问题,满足需求非常彻底。当然,还有很多功能没有谈到,
比如,集成的PVCS的版本管理器,Visual Query Builder,打包的安装程序工具InstallShield Express等等,非常方便。我们还试用了刚推出的Borland C++Builder,好象和Delphi是孪生兄弟似的,差别仅是语言分别为C++和Pascal,在Borland C++ Builder中可以直接编译Delphi的代码。如果你还想继续使用C++,那选Borland C++ Builder好啦! 

  Delphi 3.0或Delphi 97据说即将推出,我们得到的资料说和nternet集成度进一步提高,Form可以变为Active Form,如果真是字面上的意义的话,也许不久我们的产品就可以在Internet上运行了。 

作者:魏建 


相关文章

相关软件