⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wzjh11.htm

📁 Delphi文摘精华.rar
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80"><meta name="GENERATOR" content="Microsoft FrontPage 3.0"><title>论Delphi开发商品化软件的优点</title></head><body bgcolor="#FFFFFF" link="#0000FF" vlink="#800080"><p align="center"><font size="6" face="宋体">论Delphi开发商品化软件的优点</font> &nbsp; </p><p align="center"><font face="宋体">珠海天心商用软件有限公司总经理:魏建</font> </p><p align="left"><br><font face="宋体">1995年10月,当我们在考虑选择哪种开发工具来开发新的Windows版本企业管理软件<br>时,有很多意见:VC++ 2.0,BC++ 4.5,VB 4.0,PB 4.0,Foxpro 2.5 for Windows<br>和Delphi C/S。 由于以前我们的全部 DOS和Windows产品全是由Borland C++编写<br>的,彻底感觉过C++编写大型应用软件的优点和缺点---能解决 所有问题但投入代价<br>太高!所以我们决定抛弃C++,另外选择。用郑重起见,我和几个主力开发人员一起<br>测试了其余的开发工具,最后几乎全部决定采用一个很新的工具Delphi 1.0 C/S,当<br>时考虑的因素如下:</font> </p><ol>  <li><font face="宋体">Delphi是唯一真正的编译语言。由于大型通用软件的速度要求较高,经验和测<br>    试表明PB,VB,Foxpro编写的大程序较慢,Delphi的程序开发和运行时都很快。</font></li>  <li><font face="宋体">Delphi C/S支持单机的dBase,Paradox数据库和流行的关系数据库,如<br>    Oracle,Sybase,MS SQL Server等。这样,最后的系统可以在单机、Netware网<br>    络文件共享方式和C/S条件下运行,扩大了企业使用范围。</font></li>  <li><font face="宋体">Delphi的Pascal语言是和C++是几乎相同的面向对象语言,非常好,习惯了C++     <br>    OO 编程的高级C++程序员很容易接受。而且,Borland的Pascal一直非常好。</font></li>  <li><font face="宋体">Delphi C/S有全部构件的Source,可以在需要的时候修改和增加构件。</font></li></ol><p><br><font face="宋体">现在,我们完成了一套庞大的产品</font>&quot;<fontface="宋体">天心企业全能管理系统</font>&quot;<font face="宋体">,是一套包含企业的财务<br>管理、仓库管理、销售管理、应收应付帐款管理、报表系统、成本核算、生产管理、<br>商场POS前后台业务处理、工资考勤管理和结合Internet/Intranet的公文管理、报表<br>查询的完整系统。它是32位的应用,运行于英文和简体、繁体Windows 95/NT上,后<br>台支持各种数据库连接,包括NT、95、Netware和Unix环境下的MS SQL Server、<br>Oracle、Sybase、Informix、IBM DB/2、 Interbase、 Access、 Foxpro等。 系统<br>规模庞大, 14M的源代码由600多个Pascal文件和接近400个DFM文件构成,包含自己<br>开发和购买的40多个Delphi构件以及4个Active X(OCX)构件。</font> <br><br><font face="宋体">如此大规模的开发的顺利完成,经历从Delphi 1.0 C/S升级到2.0 ,2.01C/S,使我们<br>对Delphi 2.01 C/S Suite版本有了非常彻底的了解,下面就几个比较突出的优点谈<br>谈我们的感受。</font> <ol>  <li><font face="宋体">几乎完美的面向对象语言和技术。</font></li></ol><dir>  <li><font face="宋体">Delphi1.0的面向对象已经非常彻底,但2.0更好,增加了可视的Form的继承。<br>    这大大方便了类似数据输入界面的管理,比如收款录入和付款录入界面,很多<br>    动作相同,于是可以先构造一个Form作为基类,继承下去两个甚至多个界面,<br>    相同动作写于基类中,不同的编写于子类中。由于所有函数支持</font>&quot;<font    face="宋体">虚函数</font>&quot;<font face="宋体">特<br>    性,对程序编写和维护非常方便,大量类似的报表也采用了此技术。</font>     <br>    <br>    <font face="宋体">考虑到系统中有大量的数据录入动作,我们编写了一个构件,叫DBKey,专门解<br>    决界面数据和数据库之间的动作。这样,程序员只要考虑用户输入数据的正确<br>    性和关系,而不用考虑数据如何存入数据库中和数据浏览、移动时的细节。如<br>    果数据进入数据库时的请求出错,构件会自动Rollback还原到录入状态,给出<br>    提示,使所有画面的处理动作一致。每个数据录入界面上都使用DBKey,还实现<br>    了很多细节的管理动作和打印动作。在输入界面完成后,只要修改和增加DBKey<br>    的功能,全部界面都具有了相同功能。比如,我们的表单打印输出就是在全部<br>    录入界面完成后,才加入在构件中的,于是全部界面都有了漂亮一致的打印输<br>    出功能。</font> <br>    <br>    <font face="宋体">由于每个企业对报表输出的数据要求都可能不一致,我们的报表输出的也采用<br>    了一个专用构件,程序员只要将需要的数据提交出来到一个临时数据库中就可<br>    以了。以后对数据的小计、合计、排序、增加自定义计算栏位、调整栏位顺<br>    序、报表打印样式、字体设计和将数据转出为各种dbf,txt,Word,Excel文件或<br>    发电子邮件、传真等功能都统一由构件实现。这样,使用户的使用感觉非常一<br>    致;而我们的维护工作也变得非常简单。</font> <br>    <br>    <font face="宋体">Delphi本身提供了一个很好的DBGrid,但我们在实际应用中,发现缺少一个中<br>    国人很常用的双层表头功能,比如上层表头为工资,下层为基本工资、加班工<br>    资、房屋补贴等。于是,我们继承DBGrid派生了一个新的类,只编写了200多行<br>    程序,就实现了此功能。</font> <br>    <br>    <font face="宋体">Delphi的对象技术还帮助我们完成了两个高难度的工作:多语言支持和类似于<br>    Windows 95的桌面和菜单管理。我们的软件可以自动和运行期间人工调整显示<br>    的语言:大陆的GB码、港台的BIG5码和英文,为外资企业提供了方便。我们的<br>    软件由于功能很多,一般用户可能不会全部使用,也有可能希望更改表示功能<br>    的桌面和图标,重新根据部门安排和调整工作图标,于是我们又编写了一个构<br>    件能将用户重新设计的桌面、菜单保存起来,并对应系统的具体功能。这样,<br>    我们的系统就可以根据用户的需求,随意的修改和组合,可复杂也可以简单。<br>    这样的功能,用别的RAD工具实现起来就会非常困难。</font> <br>    <br>    &nbsp; </li></dir><ol start="2">  <li><font face="宋体">完善的数据处理能力。</font></li></ol><dir>  <li><font face="宋体">Delphi 2.0中,增加了Data Modules的概念,可以将数据包装在一个模块中,<br>    在系统启动时或空闲时 将它打开,这样,所有使用这些Table的模块都可以公<br>    用它,避免重复打开和关闭。并且,由于所有数据Table位于一个模块中,非常<br>    便于管理维护和迁移升级。</font> <br>    <br>    <font face="宋体">BDE的别名机制,使数据库迁移变得非常容易,从Desktop转为Client/Server只<br>    要改变和设置好别名就可以了。BDE本身附带有Oracle,Sybase,MS SQL <br>    Server,Interbase和dBase,Paradox 的驱动 程序 ,可以直接连接上述数据<br>    库,BDE 3.5又增加了Informix和IBM DB2的支持。通过对ODBC的支持, 又可以<br>    连接所有提供ODBC驱动的关系数据库。Delphi提供了一个函数,叫<br>    ISSQLBased,用于判断当前数据库是否是基于SQL数据库的,为特别的需求提供<br>    了判断方法。</font> <br>    <br>    <font face="宋体">Delphi提供了非常方便的工具SQL Explorer,可以快速浏览各种数据库服务器<br>    上的资料,如stored procedure等。另外一个工具是SQLMonitor,可以测试和<br>    优化SQL查询。还提供了一个数据搬迁工具,可以将数据从一个地点全部或部分<br>    搬迁到另外一种数据库中。</font> <br>    <br>    <font face="宋体">BDE中,可以针对不同关系数据库设置大量的相关参数,调节处理性能。更提供<br>    了带缓存的更新动作CachedUpdate,大大提高了交易处理能力,这样,可以将<br>    多笔资料录入修改放在缓存中,确认后,再一次性的更新数据库。这个功能大<br>    大减轻了程序员保存临时数据的负担!</font> <br>    <br>    &nbsp; </li></dir><ol start="3">  <li><font face="宋体">对标准技术的完整支持。</font></li></ol><dir>  <li><font face="宋体">Delphi提供了Windows 32位特性的完整支持。用Delphi编写multi-thread多线<br>    程的程序非常简单, 系统提供了一个叫Thread Object的物件,只要新建一个<br>    Thread Object,然后给出Class Name, 就产生了一个继承TThread的Class,<br>    在Execute中添入相关代码,就完成了。我们的系统中就使用了multi-thread来<br>    提高系统的执行效率,在空闲时,提前打开相关数据库的Table。</font>     <br>  </li>  <li><font face="宋体">Delphi 2.01升级后,提供了对Microsoft的Active X技术(OCX技术的改进)的支<br>    持, 可以在Delphi中 像使用标准构件一样使用ActiveX构件,你可以直接购买<br>    别人开发的大量Active X(OCX)构件直接     使用,比如像复杂得可以完全兼容<br>    Microsoft Excel 7.0的Formula One构件,大量支持WWW浏览器技术的构件<br>    等。2.01版本中,还直接提供了一组Active X构件, 实现了对<br>    ftp,pop3,smtp,http,nntp等协议支持。这样,在Delphi编写的应用程序中,就<br>    可以非常方便的进行Internet的访问,如收发E-Mail,访问Home Page和<br>    Download软件升级版本。Delphi中,对OLE2的支持也是非常完整,由于增加了<br>    一种数据类型Variant,我们可以在程序中,对Word,Excel等OLE2对象进行操<br>    作,非常方便。</font> <br>    <br>    &nbsp; </li></dir><ol start="4">  <li><font face="宋体">大量的第三方构件产品和工具。</font></li></ol><dir>  <li><font face="宋体">在Internet上,有全球大量的Delphi程序员编写的构件和范例程序。最有名的<br>    好象是DSP(Delphi Super Page,http:<br>    //sunsite.icm.edu.pl/~robert/delphi//)和Delphi32(http:<br>    //www.delphi32.com/)。前者是建立于Sunsite上的,位于波兰,有成千个构件<br>    和范例程序是Freeware和Shareware,可以免费或购买使用,几乎各种专题都会<br>    涉及。比如,我们早期曾考虑编写MAPI程序,结果去DSP上马上就找到一大堆构<br>    件和范例,还有Source,大大加快了开发速度;后来又有一次希望编写TWAIN32<br>    的扫描仪接口,结果有一下就有3个构件支持。于是,我们养成一个习惯就是当<br>    编写一个特别功能的构件时,先去Internet上找一找,几乎每次都会有收获。</font>     <br>    <br>    <font face="宋体">还有大量的公司编写的高水平的Delphi构件,比如Info     Power的一组Data <br>    Control构件,水平非常高,很实用;大大有名的就是Delphi 2.0附带的Quick     <br>    Report构件,我们购买了Source,写得非常漂亮,能非常高效方便地处理较小<br>    规模的数据,输出报表,刚发表的2.0版本更好,能处理非常复杂和大量的数<br>    据,使用更方便。</font> <br>    <br>    &nbsp; </li></dir><p align="left"><font face="宋体">随着我们产品开发的完成,我们非常庆幸当初选择了Delphi作为开发工具,它几乎全<br>是非常彻底解决了遇到的问题,满足需求非常彻底。当然,还有很多功能没有谈到,<br>比如,集成的PVCS的版本管理器,Visual Query Builder,打包的安装程序工具<br>InstallShield Express等等,非常方便。我们还试用了刚推出的Borland C++ <br>Builder,好象和Delphi是孪生兄弟似的,差别仅是语言分别为C++和Pascal,在<br>Borland C++ Builder中可以直接编译Delphi的代码。如果你还想继续使用C++,那选<br>Borland C++ Builder好啦!</font> <br><br><font face="宋体">Delphi 3.0或Delphi 97据说即将推出,我们得到的资料说和Internet集成度进一步<br>提高,Form可以变为Active Form,如果真是字面上的意义的话,也许不久我们的产<br>品就可以在Internet上运行了。</font> <br><br>&nbsp; </p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -