1995年10月,当我们在考虑选择哪种开发工具来开发新的inds版本企业管理软件时,有很多意见:V++ 2.0,B++ 4.5,VB 4.0,PB 4.0,Fxpr 2.5 fr inds和Delphi /S。 由于以前我们的全部 DS和inds产品全是由Brland ++编写的,彻底感觉过++编写大型应用软件的优点和缺点---能解决 所有问题但投入代价太高!所以我们决定抛弃++,另外选择。为郑重起见,我和几个主力开发人员一起测试了其余的开发工具,最后几乎全部决定采用一个很新的工具Delphi 1.0 /S,当时考虑的因素如下:
1.Delphi是唯一真正的编译语言。由于大型通用软件的速度要求较高,经验和测试表明PB,VB,Fxpr编写的大程序较慢,Delphi的程序开发和运行时都很快。
2.Delphi /S支持单机的dBase,Paradx数据库和流行的关系数据库,如rale,Sybase,S SQL Server等。这样,最后的系统可以在单机、Netare网络文件共享方式和/S条件下运行,扩大了企业使用范围。
3.Delphi的Pasal语言是和++是几乎相同的面向对象语言,非常好,习惯了++ 编程的高级++程序员很容易接受。而且,Brland的Pasal一直非常好。
4.Delphi /S有全部构件的Sure,可以在需要的时候修改和增加构件。
现在,我们完成了一套庞大的产品"天心企业全能管理系统",是一套包含企业的财务管理、仓库管理、销售管理、应收应付帐款管理、报表系统、成本核算、生产管理、商场PS前后台业务处理、工资考勤管理和结合Internet/Intranet的公文管理、报表查询的完整系统。它是32位的应用,运行于英文和简体、繁体inds 95/NT上,后台支持各种数据库连接,包括NT、95、Netare和Unix环境下的S SQL Server、rale、Sybase、Infrix、IB DB/2、 Interbase、 Aess、 Fxpr等。 系统规模庞大, 14的源代码由600多个Pasal文件和接近400个DF文件构成,包含自己开发和购买的40多个Delphi构件以及4个Ative X(X)构件。
如此大规模的开发的顺利完成,经历从Delphi 1.0 /S升级到2.0 ,2.01/S,使我们对Delphi 2.01 /S Suite版本有了非常彻底的了解,下面就几个比较突出的优点谈谈我们的感受。
1.几乎完美的面向对象语言和技术。
Delphi1.0的面向对象已经非常彻底,但2.0更好,增加了可视的Fr的继承。这大大方便了类似数据输入界面的管理,比如收款录入和付款录入界面,很多动作相同,于是可以先构造一个Fr作为基类,继承下去两个甚至多个界面,相同动作写于基类中,不同的编写于子类中。由于所有函数支持"虚函数"特性,对程序编写和维护非常方便,大量类似的报表也采用了此技术。
考虑到系统中有大量的数据录入动作,我们编写了一个构件,叫DBKey,专门解决界面数据和数据库之间的动作。这样,程序员只要考虑用户输入数据的正确性和关系,而不用考虑数据如何存入数据库中和数据浏览、移动时的细节。如果数据进入数据库时的请求出错,构件会自动Rllbak还原到录入状态,给出提示,使所有画面的处理动作一致。每个数据录入界面上都使用DBKey,还实现了很多细节的管理动作和打印动作。在输入界面完成后,只要修改和增加DBKey的功能,全部界面都具有了相同功能。比如,我们的表单打印输出就是在全部录入界面完成后,才加入在构件中的,于是全部界面都有了漂亮一致的打印输出功能。
由于每个企业对报表输出的数据要求都可能不一致,我们的报表输出的也采用了一个专用构件,程序员只要将需要的数据提交出来到一个临时数据库中就可以了。以后对数据的小计、合计、排序、增加自定义计算栏位、调整栏位顺序、报表打印样式、字体设计和将数据转出为各种dbf,txt,rd,Exel文件或发电子邮件、传真等功能都统一由构件实现。这样,使用户的使用感觉非常一致;而我们的维护工作也变得非常简单。
Delphi本身提供了一个很好的DBGrid,但我们在实际应用中,发现缺少一个中国人很常用的双层表头功能,比如上层表头为工资,下层为基本工资、加班工资、房屋补贴等。于是,我们继承DBGrid派生了一个新的类,只编写了200多行程序,就实现了此功能。
未完...点击下方链接下载完整文档