|
.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&
【字体:大 小】
|