首页>参考读物>计算机科学与技术>软件与程序设计

Delphi 6企业级解决方案及应用剖析
作者 : 刘艺
出版日期 : 2002-07-01
ISBN : 7-111-10435-8
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 688
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书以Delphi 6的最新技术基于多种商用解决方案的BizSnap、基于分布式数据库应用的DataSnap和基于互联网应用的WebSnap为基础,详细介绍了Delphi 6在企业级应用开发中的技术要点。并且以"人力资源管理系统解决方案及应用"为例,剖析Delphi 6最新推出的WebSnap解决方案在Web网站开发应用方面的全部功能;以"电子商务货物配送系统解决方案及应用"作为多层分布式系统的应用实例,来介绍Delphi 6中被重新扩充和包装的MIDAS技术-DataSnap。 本书附带的光盘中还提供了大量的示例程序源代码,全部以Delphi完整的项目工程形式给出,方便读者学习和使用。
  本书特别适合于那些有一定编程基础,但对Delphi缺乏全面系统理解的中高级Delphi程序员。

图书前言

经过近一年的准备和写作,终于完成了《Delphi 6企业级解决方案及应用剖析》。此时,距Delphi 6的正式发布日差不多也已经快一年了。按照出版社的说法,我已经错过了Delphi 6图书的销售旺季。
  我一直很羡慕那些在第一时间里快速出书、抢占市场的同行们,无奈自己是一个人孤军作战,属于“小农经济”那种模式,比不上工作室的那种“工业化大生产”的模式,他们分工协作,流水线上出效率。据说,潘爱民老师曾经翻译一本书用了一年的时间,看来慢工出细活的还不止我一人,甚幸。
  纵观Delphi 6的新技术,主要集中在其基于多种商用解决方案的BizSnap、基于分布式数据库应用的DataSnap和基于互联网应用的WebSnap,即成为Delphi 6的新亮点所谓三大Snap技术。虽然这三大Snap重新包装了许多Delphi原有的技术,但也有不少全新的东西,比如,BizSnap整合了XML、SOAP和Web Service;DataSnap在MIDAS的基础上增加了Connection Pooling; WebSnap新推出了Web Modules、Dispatcher和Adapter。可以看出,Delphi 6是Borland将Delphi从Windows native RAD工具转向eBusiness RAD工具的一个初具形状的产品,非常值得我们细细研究。
  总之,每当Delphi的新版本出来时,我的心情总是非常激动。
  关于编程和开发
  许多人往往把软件编程和软件开发混为一谈,包括市面上的一些计算机编程教材也冠以开发指南的名称误导读者。实际上软件编程和开发有着本质区别。编程(Programming)的重心在于代码级的实现,强调的是编程语言的灵活运用和实现方法。包括语法结构(如数据类型、分支转向、系统函数、属性事件等)和编程方法(如面向过程或面向对象编程的方法等)。而开发(Developing)的重心则在于系统的实现,强调的是系统的构建和相互作用的技巧。它除了需要编程方面的基础知识外,还需要软件工程的思想、系统构架的方法以及丰富的实际经验。实际上,在软件开发中并不是以编程为中心,而是以项目的解决方案及其实现为中心。它对编程的要求十分灵活,比如,对于许多功能性、通用性的组件可以购买而无需自己编写。它为了使系统构建快速、可靠易维护,提倡尽量少写代码。少写代码并不是让程序员偷懒,而是让程序员多考虑代码复用、设计模式等更深层的问题。我们许多的程序员常常以狂写代码为荣,乐于吹嘘自己写过多少万行代码;而真正的高手则是以开发效率和系统效率为目标,以少写代码为荣。而实际上,编程高手和开发高手并不统一,因为他们的目标不一样。
  目前在国内的大学中,往往只讲软件编程,不讲(或略讲)软件开发,这使得不少计算机专业的大学毕业生缺乏软件工程的概念和软件开发的经验,很难胜任软件开发工作。
  社会上一般把程序员的技术水平分为四级。第一级技术水平的程序员有一定的编程基本功,他们主要是刚毕业的大学生,对他们的要求是编写质量合格的代码,不出代码级错误。第二级技术水平的程序员编程质量较高,做过几个软件项目,有数年的工作经验,并能指导新手的工作,但缺乏对系统的整体把握能力。第三级技术水平的程序员具有一定的系统分析与系统设计的能力,但对系统构建和设计、开发模式的理解在深度和广度上还有不足。第四级技术水平的程序员是系统构架师,他们不仅技术超群,经验丰富,还谙悉软件工程的思想。他们成功开发过软件产品,并且能使技术转化为有价值的商品。如果你的技术水平达到三、四级,那么,你就有可能成为项目主管。
  由此可见,编程是基础,开发是目标。如果要想真正成为项目主管,你除了要以编程水平服人,更要站在系统开发的高度,整体把握解决方案,处理好系统、模块及代码间的关系。
  在本书中,虽然我们也讲到了编程,但这不是一本谈编程的书而是一本指导软件开发的书。我们希望大家能从中读到更多的体系结构,而不仅仅是程序代码。因为先进的开发思想可能比单纯的编程技巧更为重要!
  再谈Delphi
  我经常碰到不少学编程的朋友在讨论哪种编程语言最好,C/C++、VB、Delphi、还是Java。现在又多出了C#。网上也有这样的话题,先是论战,然后开始骂人。总之,单从编程语言来讲,其实都没有什么,关键看你怎么学。君不见有学C++的人,还在写面向过程的程序吗?他们只知道循环、分支、判断,不知道对象、多态、重载。那么学C++和学Basic有什么区别?所以,我认为,与其学很多时髦的语言,还不如学好、学精一种语言。然后触类旁通,再学其他语言也不难。这就像学习外语一样,要有钻劲。
  如果从开发工具角度来讲,Delphi则更能体现其优势和效率,是企业级开发的利器。用过Delphi的朋友都喜欢它的IDE风格、智能代码感知功能、模板库以及大量的控件。其实,我认为Delphi的高速编译器和对众多厂商解决方案和技术协议的支持则更为吸引人。而且Borland没有偏见,你会发现Delphi既支持CORBA又支持COM+,还支持其他更多的第三方技术,如XML、SOAP等。所以,不少学C的程序员选择了C++ Builder,就是因为他们喜欢Delphi风格的开发工具。据Borland台湾公司的工程师李维先生说,Borland公司的目标是把Delphi搞成一个跨平台、跨编程语言的开发平台,显然这个目标将超过微软的.net,因为目前.net没有做到跨平台。
  为什么要写这本书
  许多读者看到这本书的名字《Delphi 6企业级解决方案及应用剖析》,一定会想到我的前一本书《Delphi 5企业级解决方案及应用剖析》。有人会问,这是前一本书的升级版吗?为什么要写这本书,而不是重新写一本Delphi 6的书?
  其实,早在Delphi 6刚发布之际就有许多家出版社向我约稿写Delphi 6的书,但我没有其他作者的胆量敢贸然下笔。毕竟Delphi 6比Delphi 5新增了许多新技术,而对这些新技术的消化和写作并不是能在短时间内完成的。当不久之后,市面上名目繁多的Delphi 6的图书如雨后春笋般大量涌现时,我更加发现要写好一本Delphi 6的书实在不是一件容易的事。既然如此,与其出几本书,还不如把一本书写好。我认为质量比数量更重要。其实国外许多深受欢迎的Delphi书作者都是这样,比如Steve Teixeira和Xavier Pacheco的《Delphi X Developer's Guide》、Marco Cantu的《Mastering Delphi X》。
  两年前出版的《Delphi 5企业级解决方案及应用剖析》是读者比较喜欢的Delphi书之一,该书3次印刷,印数达9000册。另外,仅在www.china-pub.com网站的下载和点击都超过万次。甚至还出现了该书大量的电子版盗版光盘。这说明了读者对Delphi企业级开发应用技术强烈的兴趣和需求。一方面不少读者给我发来电子邮件,希望我能进一步介绍这方面的技术;另一方面,我觉得自己在这本书中有很多地方没有深入讲解,写得匆忙,并不太满意。借着Delphi 6的发布,我终于有机会来重新写作这本书,我希望在本书中能写得更好。
  现在看来,这本《Delphi 6企业级解决方案及应用剖析》既可以说是《Delphi 5企业级解决方案及应用剖析》的升级版,也可以说不是。
  首先说它是,是因为这本书继承和完善了原书的许多重要章节,将一些Delphi 5的程序升级到Delphi 6。大家知道,Delphi的每一次版本升级都是一次头痛的抉择,因为Borland在产品版本的兼容性方面做得很差。要命的是Borland经常会调整一些系统函数以及一些对象的属性和方法,所以即使是Delphi 5调试通过的程序往往无法通过Delphi 6的编译。比如像VarIsEmpty( )这样的系统函数,在Delphi 5中拿来就用,而在Delphi 6中就不行,需要Use一个Variants单元才行,一开始我还以为Delphi 6不支持它呢。所以,原书的大多数程序不经过修改是无法顺利在Delphi 6中编译运行的。即使是对于那些仅对原书示例程序感兴趣的Delphi 6读者,也有必要提供这种升级的版本。
  由于本书不是简单地将Delphi 5替换成Delphi 6(否则你早就能在书店找到这本书而无需等到现在),而是做了许多重大的改动,增加了近2倍页码的全新内容,所以它绝不仅是前一本书的修订版。即使你读过前一本书,仍然可以发现许多意想不到的新内容。关于新增和调整的内容我将在下面做详细介绍。
  这本书中的内容
  本书的内容包括了Delphi 6与企业级应用开发的介绍、Delphi 6企业级应用开发的技术要点以及3个典型的解决方案和应用实例剖析。其结构体系如下页图所示。
  我们在前面讨论过,编程和软件开发有着较大的区别。编程关注的是程序代码的编写方法和技巧,而软件开发除了需要编程基础之外,还要对开发的系统有更多的了解和构建。如果说编程是工艺,那么开发则是工程了。所以我在这本书的第一部分除了介绍用Delphi 6构建企业级应用的优势外,重点介绍了软件工程方面的实用知识。和前一本书相比,这部分内容有较大的更新,融汇了一些最新的软件工程思想和观点。当然,本书不是软件工程方面的教材,我只是从软件开发方法论的角度做一些有实用价值的交流,所以称之为“开发方略”。
  Delphi博大精深,虽然上手很快,但精通不易。由于对Delphi开发技术及VCL组件的不熟悉,使得不少程序员在开发时效率很低,代码质量不高。往往一个控件,几行代码就可以解决的问题,却绕了很多弯子,写了一大堆代码。既不好维护,又没有效率。本书的第二部分“Delphi 6企业级应用开发技术”就试图结合我开发的体会,介绍一些与企业级应用开发密切相关的技术要点。和前一本书相比,这里增加了对编程组件、界面设计、文件和字符处理、鼠标和键盘编程,以及Web应用程序开发等方面的介绍和大量的示例程序。这一部分的内容介绍没有停留在入门级的使用上,而是深入到一些技术内幕和技巧中,并结合大量的示例程序来帮助大家体会。特别是一些组件方法和属性的使用技巧你不一定能在其他书上找到,而一旦掌握则能极大地提高编程效率。需要指出的是,这一部分对Delphi 6中许多新增的组件都有详细介绍,比如TlabeledEdit、TvalueListEditor、TActionManager等。
  第三部分“人力资源管理系统解决方案及应用剖析”使用的已经不是原来的人力资源管理系统解决方案了。这一部分是全部重新写作的,实际上是写了如何用Delphi 6构建一个人力资源管理网站,因为我在这里使用的是Delphi 6最新推出的WebSnap解决方案。有许多Delphi程序员对Delphi在Web网站开发应用方面的能力将信将疑,这次我用WebSnap技术实现了前一本书中基于传统EXE的人力资源管理系统解决方案的全部功能,包括:人员管理、照片维护、动态查询、图表显示,还有邮件收发、BBS等辅助功能。我想这一部分内容会增加Delphi程序员在Web网站开发应用方面的信心。
  研究WebSnap花了我很大精力,但我太喜欢WebSnap了。试想Delphi程序员如果不用重新学习Java、ASP、PHP就能轻松搞定Web,那是什么感觉?是WebSnap给了我这种感觉。当然,WebSnap也有一点问题,而且没有太多的资料,许多WebSnap组件连帮助也不全,所以这部分写得很辛苦。2002年4月3日,和台湾的李维先生见面时,我告诉他我写了WebSnap。他莞尔一笑,说WebSnap不太好写,他不打算写这方面的内容。本来希望向李维讨教WebSnap的一些问题,后来这些问题还得我自己解决。另外,早就听说李维在写Web Services,所以我就没有写这方面的内容。
  本书的第四部分“电子商务货物配送系统解决方案及应用剖析”仍然是作为多层分布式系统的应用实例来讲解的。这里使用了Delphi的MIDAS技术,在Delphi 6中这一技术被重新扩充和包装成DataSnap。读者可以发现在Delphi 6中的组件面板上已经没有MIDAS页了。这一部分虽然没有全部重写但也做了不少改动,比如,将原来的“使用ActionList管理操作动作”一节,改成了“使用ActionManager管理操作动作”一节,以体现Delphi 6编程中实现工具栏和主菜单统一管理的新技巧。这部分大量的工作在程序的升级调试和修改上,以适应Delphi 6中MIDAS技术的发展。以前有读者抱怨这部分程序使用的是Oracle数据库,学习使用源代码很不方便(他们不熟悉Oracle或构建Oracle环境有困难)。虽然本书中为了继续体现企业级应用的特点,并以最新的Oracle9i数据库作为企业级应用的RDBMS配合应用程序讲解,但光盘中提供的源程序已经做了修改,使用的是Access数据库,以方便读者学习使用。
  第五部分是“自动控制与监测系统解决方案及应用剖析”。这部分改动不是很大,因为Delphi 6的版本变化对这一部分编程没有太大影响。但是本书还是对原来的内容进行了认真的修订,并增加一些有用东西。这部分关键是更新了所有的源程序,使之能顺利通过Delphi 6的编译。由于这里还用到了几个优秀的第三方组件,因此我修改了这些组件的源代码,使之升级到Delphi 6上,保证在Delphi 6中能继续使用。
  光盘中的源代码
  随书光盘中提供了大量的示例程序源代码。为了方便读者学习使用,全部是以Delphi完整的项目工程形式给出,包括.drp、.pas、.dfm、.dcu、.res等所有文件。所有代码均在Delphi 6中测试通过,确保好用。
  第二部分“Delphi 6企业级应用开发技术”提供了超过20MB、近50个示例程序,这些示例程序涉及到Delphi 6编程的方方面面问题,稍加改动即可应用到实际开发中。
  第三部分“人力资源管理系统解决方案及应用剖析”,除了提供系统完整的工程文件和全部源代码外,还提供了相关的SQL Server 2000的SQL脚本程序和示例数据。
  第四部分“电子商务货物配送系统解决方案及应用剖析”,为了方便读者,特地将Oracle9i数据库中的数据转换到Access数据库上,以便读者调试运行提供的源程序。其中,两个数据库部分SQL语句的差别在书中有详细介绍,敬请注意。读者要使用光盘上的Access数据库,请务必先在ODBC中配置好数据源,方可使用。
  第五部分“自动控制与监测系统解决方案及应用剖析”,已经将第三方控件源码进行了修改升级,保证示例程序运行无误。修改的源码亦无偿奉献。
  记得在《Delphi 5企业级解决方案及应用剖析》一书光盘中,不少程序代码是放在Word文件中,有些只给出了单个.pas文件,还有一些程序需要配置Oracle数据库环境,这都影响到读者的学习使用。读者来信反映的这些问题我都仔细地一一阅读,并在这本书中做了改进。但是,有的读者来信说自己正在开发一个人力资源管理系统或货物配送系统,要我提供这些系统的全部源代码,以便自己完成任务,云云。这使我很为难,因为虽然书中讲到的应用实例来自于商用系统的开发,但却不能完全使用商用系统开发的实际代码,以免涉及原系统的版权。本书的目的不是提供读者一个现成的商用系统或商用系统开发模板,而是通过剖析典型商用系统的解决方案和技术应用,来讲解类似系统的开发方法和实现途径,起抛砖引玉的效果。所以,坦率地讲,书中并没有提供任何完整的商用系统,即使作为典型模块来讨论的部分,也有进一步完善的必要。如果不加修改就直接将本书中的源代码照抄到自己的系统中,并不是明智之举。
  需要声明的是光盘上的程序和组件除了共享软件外,所有源程序和代码均为本书作者所有,不得用于商业目的。
  这本书的读者对象
  本书的读者对象主要是那些梦想成为或正在成为项目主管的Delphi程序员。他们有一定的编程基础,但对Delphi缺乏全面系统的理解和较深层次的精通。他们并不只满足于局部的编程工作,他们更关心整个项目的开发。他们开始摸索软件工程的方法,他们渴望知道更多、更详细、更完整的系统构建方略。他们注重实践,他们要看到真正的解决方案和应用实例。因为他们雄心勃勃、充满活力,为了自己的梦想敢于挑战!
  当然,即便是在这样一群读者中,由于个人的差异也会导致不同的阅读需求。希望大家不妨参考以下建议:Delphi编程基础不是太好或需要深入理解Delphi编程的读者建议首先阅读第二部分“Delphi 6企业级应用开发技术”,并研究体会光盘的大量示例程序。
  需要进一步参考和学习Delphi项目开发应用实例的读者,可研读本书第三至第五部分。
  对软件工程、系统构建及Delphi项目开发感兴趣的读者不妨选读第一部分。
  有编程基础,对使用Delphi进行Web开发感兴趣或怀疑Delphi Web开发能力的读者请立即阅读本书第三部分。
  致谢
  这本书的写作得到许多朋友的支持。
  首先要感谢参加本书编写工作的杨路刚、李祥、段立、王鲁军、尹亚兰、夏辉。感谢他们认真细致的工作。同样要感谢在其他方面协助本书编写工作的洪蕾、吴英、刘藩和吴永逸。
  另外还要感谢李维、Code6421、Tom Swan等许多同行,因为我在本书的编写中参考了他们的文章。本书还参考了Borland的Delphi 6技术手册《Developer誷 Guide》和其他方面的资料,在此一并致谢。
  由于本书编写中难免有疏漏之处。对于那些发现和指出讹误,提出批评意见或不吝赐教的读者,本人表示衷心感谢!
  最后,还要感谢那些支持正版图书的读者。我的前一本书《Delphi 5企业级解决方案及应用剖析》深受盗版之苦,该书的盗版书在一些图书大市场6折销售。而该书的电子版的盗版更是猖獗,不仅许多网站有,连街边的盗版光盘中也有。有的读者下载了电子版的盗版书后居然还发E-mail向我索取光盘源程序,让我很伤心。
  目前计算机图书市场有这样一种怪圈,一方面许多读者抱怨计算机图书质量不高、垃圾书太多,不愿意花钱买书;另一方面较低的版税和疯狂的盗版使得真正有经验的作者不愿意写书。所以没有那些支持正版图书的读者,就没有我们这些努力写书的作者,我们也不会有获得读者认可的快乐。
  再次感谢那些支持正版图书的读者,你们的付出一定会有回报!
  本书作者的技术支持网站http://www.chinanewdream.com和http://cn.groups.yahoo.com/ .group/LYBooks
  刘  艺
  2002年4年20日于南京
  E-mail:newdream @jlonline.com

作者简介

刘艺:暂无

图书目录

第一部分  Delphi 6与企业级应用开发
第1章  用Delphi 6构建企业级应用 1
1.1  企业和企业级应用 1
1.2  企业级应用体系结构 3
1.2.1  表现层 4
1.2.2  业务层 6
1.2.3  数据层 7
1.2.4  三层结构的优势 8
1.3  企业级应用体系构建思想的发展 9
1.4  选择Delphi 6作为企业级开发的利器 15
1.4.1  Delphi 6适用对象和所能实现的
开发目标 18
1.4.2  用Delphi 6实现企业级多层应用
体系结构 19
第2章  企业级应用开发方略 22
2.1  企业级开发概述 22
2.1.1  企业级开发的多角度视图 22
2.1.2  信息系统的构成和参与者 24
2.1.3  系统开发生命周期 25
2.2  CMM与软件开发过程 26
2.2.1  与CMM有关的概念 27
2.2.2  CMM模型 28
2.2.3  CMM对软件过程的改进 32
2.3  开发组织管理 33
2.3.1  人员组织 33
2.3.2  项目管理 35
2.3.3  文档管理 39
2.4  需求和系统分析 42
2.4.1  需求分析 42
2.4.2  系统分析的方法 44
2.4.3  系统的信息分析和功能分析 46
2.4.4  系统的结构分析 49
2.5  分布式应用系统设计方法 53
2.5.1  分布式结构实现模型 53
2.5.2  设计目标和约束分析 55
2.5.3  设计分布式应用程序 58
2.6  组件模型和基于组件的开发 61
2.6.1  组件的概念 61
2.6.2  组件模型 62
2.6.3  基于组件的开发 64
2.6.4  组件标准 65
2.7  面向对象的开发方法 67
2.7.1  面向对象技术的背景及特点 68
2.7.2  面向对象程序设计与面向对象数据库 69
2.7.3  面向对象的系统分析与设计 70
2.8  质量管理和系统测试 73
2.8.1  软件的质量 73
2.8.2  质量管理 76
2.8.3  系统测试 78
第二部分  Delphi 6企业级应用开发技术
第3章  VCL和编程基本组件 81
3.1  Object类 81
3.2  VCL的层次结构 82
3.2.1  组件 84
3.2.2  Windows自己的组件 85
3.2.3  对象 85
3.3  VCL的属性、方法和事件 86
3.3.1  通用的VCL属性 86
3.3.2  通用的VCL方法 87
3.3.3  通用的 VCL事件 88
3.4  按钮型组件 89
3.4.1  TButton 89
3.4.2  TBitBtn 90
3.4.3  TSpeedButton 91
3.5  编辑型组件 92
3.5.1  Tlabel、TstaticText和TLabeledEdit 93
3.5.2  TEdit、TMaskEdit和TSpinEdit 94
3.5.3  Tmemo和TRichEdit 97
3.6  选择型组件 99
3.6.1  TRadioButton 和TRadioGroup 99
3.6.2  TcheckBox和TCheckListBox 101
3.6.3  TComboBox 102
3.6.4  TListBox 105
3.6.5  TComboBoxEx 109
3.6.6  TColorBox 111
3.7  调节型组件 111
3.7.1  TScrollBar 111
3.7.2  TSplitter 113
3.7.3  TTrackBar 115
3.7.4  TUpDown 115
3.8  容器型组件 117
3.8.1  TGroupBox 117
3.8.2  TScrollBox 117
3.8.3  TPanel 118
3.8.4  TPageControl 119
3.8.5  TFrame 122
3.9  显示型组件 126
3.9.1  TDrawGrid 126
3.9.2  TStringGrid 128
3.9.3  TTreeView 130
3.9.4  TListView 134
3.9.5  TValueListEditor 141
第4章  用户界面设计技术 145
4.1  用户交互界面设计概述 145
4.1.1  常用控件的设计 145
4.1.2  窗体和提示框的设计 147
4.2  菜单设计 148
4.2.1  TMainMenu 149
4.2.2  TPopupMenu 149
4.2.3  TMenuItem 151
4.2.4  Menu Designer 154
4.2.5  创建可移植菜单 156
4.2.6  动态菜单 160
4.2.7  宿主绘制菜单 164
4.2.8  菜单的融合 167
4.2.9  控制菜单设计 169
4.3  对话框 172
4.3.1  模式对话框与非模式对话框 172
4.3.2  公用对话框组件 176
4.3.3  标准对话框 189
4.4  快捷工具设计 194
4.4.1  工具栏设计 194
4.4.2  状态栏设计 203
4.4.3  系统托盘程序 206
4.5  Action及Action的统一管理 209
4.5.1  TAction 210
4.5.2  TActionList 211
4.5.3  TActionManager 212
4.5.4  创建Action Band 215
第5章  字符、文件处理和键盘、鼠标
编程 219
5.1  字符和文本的处理 219
5.1.1  字符和字符串相关类型 219
5.1.2  字符串相关方法 220
5.1.3  字符串列表 228
5.2  文件操作 230
5.2.1  文件命令 230
5.2.2  文本文件 233
5.2.3  有类型文件 234
5.2.4  无类型文件 238
5.2.5  初始化文件 239
5.2.6  文件流 241
5.2.7  内存映射文件 247
5.2.8  文件系统 250
5.3  键盘和鼠标编程 260
5.3.1  键盘编程 260
5.3.2  鼠标编程 262
第6章  Windows高级编程技术 271
6.1  DLL编程技术 271
6.1.1  DLL概貌 271
6.1.2  在Delphi中创建DLL 272
6.1.3  使用动态链接库 275
6.2  OLE和COM编程技术 277
6.2.1  COM对象和类工厂 277
6.2.2  Automation 280
6.2.3  创建Automation服务器 281
6.3  ActiveX编程技术 288
6.3.1  在Delphi中使用ActiveX控件 288
6.3.2  在Delphi中编写ActiveX控件 294
6.4  使用Windows注册表 294
6.5  Windows的消息处理 297
6.5.1  何为消息 298
6.5.2  消息的处理方法 298
6.5.3  Windows消息分类 300
6.5.4  发送消息 300
6.5.5  处理消息 301
6.5.6  消息过滤 302
第7章  图形图像及多媒体编程技术 305
7.1  图形图像技术 305
7.1.1  TCanvas对象 305
7.1.2  TShape对象 310
7.1.3  图像对象 311
7.2  多媒体程序设计 313
7.2.1  创建一个简单的媒体播放器 313
7.2.2  播放WAV文件和AVI视频 314
第8章  数据库应用技术 317
8.1  设计数据库应用程序 317
8.1.1  使用数据库 317
8.1.2  数据库应用程序的体系结构 319
8.1.3  设计用户界面 323
8.2  SQL编程技术 324
8.2.1  SQL语言简介 324
8.2.2  使用SQL编程 326
8.2.3  使用存储过程 331
8.2.4  使用事务 337
8.3  MIDAS和多层应用系统开发 339
8.3.1  MIDAS技术 339
8.3.2  MIDAS应用程序的工作流程 341
8.3.3  创建一个多层数据库应用程序的
基本过程 342
8.4  ADO数据库访问技术 346
8.4.1  ADO概述 347
8.4.2  连接ADO数据库 347
8.4.3  ADO数据集 354
8.4.4  使用TADODataSet 357
8.4.5  使用TADOTable 358
8.4.6  使用TADOQuery 358
第9章  Web应用程序开发技术 360
9.1  Web服务器应用程序概述 360
9.1.1  URL和HTTP 361
9.1.2  HTTP服务器 362
9.1.3  Web服务器应用程序类型 363
9.2  使用WebSnap 364
9.2.1  WebSnap概述 364
9.2.2  创建Web服务器应用程序 366
9.2.3  Web模块 370
9.2.4  Adapter 372
9.2.5  Page Producer 372
9.3  在WebSnap中编写服务器端脚本 373
9.3.1  脚本块 373
9.3.2  编辑和查看脚本 373
9.3.3  包含其他文件 374
9.3.4  脚本对象 375
9.4  WebSnap工作流程 376
9.4.1  WebContext 376
9.4.2  Dispatcher组件 376
9.4.3  Dispatcher工作原理 377
9.5  一个WebSnap实例 381
9.5.1  新建WebSnap应用程序 381
9.5.2  创建数据库模块 383
9.5.3  创建页面模块 384
9.6  Web服务器应用程序的调试 388
第三部分  人力资源管理系统解决
方案及应用剖析
第10章  系统概述 391
10.1  系统解决方案 391
10.1.1  系统背景 391
10.1.2  需求分析 392
10.1.3  实现方案 394
10.2  系统约定 396
10.2.1  编码规范 396
10.2.2  用户分组 399
10.3  数据库设计 400
10.3.1  设计数据库表结构 400
10.3.2  编写SQL Server 2000脚本语言 402
第11章  人事信息维护管理 408
11.1  人员维护 408
11.1.1完新建一个WebSnap应用程序 408
11.1.2完基本信息维护页面 411
11.1.3完完善记录的定位、浏览和增减功能 415
11.1.4完主从明细表的处理 419
11.2  照片维护 422
11.3  动态查询 428
11.3.1  决策查询 428
11.3.2  人员查询 433
11.4  图表显示 434
11.4.1  创建查询统计图表的ActiveForm 435
11.4.2  设计和整合统计图表页面 439
第12章  系统登录及安全控制 443
12.1  WebSnap安全机制 443
12.2  系统登录 446
12.3  安全控制 450
第13章  系统的进一步完善 453
13.1  增加BBS讨论组 453
13.2  增加收发邮件功能 457
13.2.1  登录邮件服务器 459
13.2.2  查看和阅读邮件 462
13.2.3  发送和群发邮件 473
13.3  页面的美化 477
第四部分  电子商务货物配送系统
解决方案及应用剖析
第14章  系统概述 485
14.1  系统解决方案 485
14.1.1  电子商务货物配送系统的实现
目标 485
14.1.2  对电子商务货物配送系统功能的
基本要求 486
14.1.3  电子商务货物配送系统的解决
方案 486
14.2  系统分析 488
14.3  数据组织 491
14.3.1  代码设计 491
14.3.2  数据库结构设计 494
14.3.3  创建数据库对象和数据维护 497
14.4  系统的初始设置 499
14.5  系统内部控制机制设计 506
第15章  代码维护模块 508
15.1  模块概述 508
15.2  使用Frame构建复用界面 509
15.3  使用DataModel集成数据库环境 512
15.4  使用Treeview导航表数据 517
15.5  使用公共单元实现模块维护 520
15.6  使用注册表设置系统参数 527
15.7  使用ActionManager管理操作动作 529
第16章  出库管理模块 539
16.1  模块概述 539
16.2  创建登录服务器程序 541
16.3  创建出库服务器程序 545
16.4  创建瘦型客户程序 549
第17章  统计分析模块 556
17.1  多层结构下的参数化查询 556
17.2  使用DBChart 560
17.3  自动容错和平衡服务器负载 562
第五部分  自动控制与监测系统
解决方案及应用剖析
第18章  自动控制与监测系统编程技术 567
18.1  Delphi中的多线程处理 568
18.1.1  进程和线程 568
18.1.2  多线程编程 572
18.1.3  线程的优先级 574
18.1.4  线程类 575
18.2  Windows的事件和消息 580
18.3  创建组件 582
18.3.1  创建组件 582
18.3.2  组件测试 585
18.3.3  注册组件 585
18.3.4  提供联机帮助 586
18.4  使用动态链接库 586
第19章  串口通信程序应用剖析 590
19.1  串行通信基础 590
19.1.1  数据通信基础 590
19.1.2  异步串行通信协议 592
19.1.3  DCE设备—Modem 593
19.1.4  RS-232C标准 595
19.2  串口通信API函数介绍 601
19.3  串口通信程序实现 607
19.3.1  利用嵌入式汇编语言开发
通信程序 607
19.3.2  利用多线程编写串口通信程序 621
19.3.3  Async32控件详解 625
19.3.4  Async32控件示例程序 633
第20章  硬件接口程序应用剖析 644
20.1  直接操作端口的Delphi单元 644
20.2  开发Windows驱动程序 646
20.3  用DLL编写硬件接口程序 648
20.4  用TVicHw32控件编程 650
20.4.1  TVicHw32控件说明 650
20.4.2  示例程序 653

教学资源推荐
作者: 骆斌 主编 邵栋 任桐炜 编著
作者: (美)Richard C.Detmer
作者: 孙浩 主编 刘亮 副主编 王宁 张莉萍 参编
参考读物推荐
作者: [美] 兰达尔 W.延森(Randall W. Jensen)著
作者: 邱郁惠
作者: 翟周伟 著