内容简介
第一部分 基础
Delphi的版本
第1章 Borland Developers Studio 3.0简介
一个用于.NET和ALM的全新IDE
IDE的多重个性
IDE概述
部分安装
欢迎使用Delphi 2005
用多种配置启动IDE
Delphi 2005 IDE结构
桌面设置
To-Do列表
菜单
Delphi编辑器
扩展的搜索结果
Delphi 2005代码折叠和区域化
代码识别
Delphi 2005代码片断
源代码文件编码
编辑器的结构视图
同步编辑
在编辑器中执行浏览
类完成
编辑器历史记录
其他编辑器快捷键
新增的其他编辑器特性
设计器
设计器的结构视图
对象检查器
复制和粘贴构件
项目管理
项目文件
工具和生成工具
项目组文件
项目选项
Delphi编程的题外话
查看源代码文件
UML设计器
Delphi 2005中的C
IDE数据库工具
小结
Win32 API
第2章 Win32和Microsoft.NET平台
构件对象模型
OOP类库
.NET的“营销”目标
Microsoft.NET是什么
为什么营销.NET
VES:虚拟执行系统
CIL:公用中间语言
CLR:公用语言运行时环境
CLS:公用语言规范
.NET编译周期与JIT
管理化执行模型和无用单元收集机制
CTS:值类型
CTS:公用类型系统
组件是什么
名称空间与组件
CTS:引用类型
联编和装载组件
组件版本化和GAC
小结
组件的动态装载
核心的语言特性
第3章 Delphi编程语言
类与对象
动态地创建构件
方法的其他相关信息
封装
private、protected和public
私有何时真的私有
用属性做封装
封装与窗体
构造器
Delphi的对象引用模型
析构器和Free方法
赋值对象
对象与内存
继承已有类型
保护型字段与封装
后期联编与多态性
继承与类型兼容性
超越并重新定义方法
抽象方法
虚方法与动态方法的对比
密封类与终结方法
嵌套类型和嵌套常量
类型安全的向下转换
使用接口
异常处理
程序流程与finally块
异常类
记录错误
异常与构造器
类引用
使用类引用创建构件
for…in循环
内联
小结
Microsoft.NET上的Delphi语言
第4章 .NET上的Delphi语言
全局函数与伪单元类
有益的旧单元
几乎作为名称空间的单元
单元初始化与类构造器
统一码标识符
限定标识符
标识符
原始类型
基本数据类型
包装原始类型
Delphi的枚举与集合类型
记录
记录还是类
字符串
引用类型
Delphi中新增的预定义记录
可变记录
使用不安全类型
无类型参数
使用PChar类型
使用new分配内存
为了稳妥起见的类型转换
file of类型已经消失
访问说明符
类获得新基础
类数据与类静态方法
抽象类
类构造器
助手类
属性
给实例应用构造器
索引器还是数组属性
调用继承的构造器
无用单元收集世界中的释放与销毁
类引用与元类
接口现在是“纯粹的”
操作符获得新基础
表征还是极端的RTTI
声明定制的表征
使用Reflect工具检查表征
多点传送事件
小结
RTL的单元
第5章 Delphi Win32运行时库
Win32中的System单元
SysUtils与SySConst单元
Math单元
ConvUtils与StdConvs单元
DateUtils单元
StrUtils单元
新增的WideStrUtils单元
DelphiMM与ShareMem单元
Variants与VarUtils单元
Types单元
使用SysUtils单元管理文件
TObject类
显示类信息
TPersistent类
published(公开)关键字
按名称访问属性
列表与字符串列表
列表与容器类
容器类
类型安全的容器与列表
TStream类
流技术
具体的流类
使用文件流
TReader和TWriter类
流与持久性
使用ZLib压缩流
小结
所有权
TComponent类
第6章 可视化构件库的体系结构
Name属性
删除窗体字段
隐藏窗体字段
可定制的Tag属性(在Win32和.NET平台上)
VCL for.NET中的TComponent类
方法指针
Delphi中的事件
事件
事件就是属性
VCL的传统部分
VCL考虑
TControl与派生类
Parent与控件
.NET中的TControl与派生类
字体
激活和可见属性
与构件大小及位置有关的属性
TWinControl类
颜色
文本输入构件
打开构件工具框
选择具体选项
列表
范围
命令
处理输入焦点
控件相关的技术
控件锚点
使用Splitter构件
使用浮动提示
加速键
自绘制控件与样式
图形索引列表
ListView与TreeView控件
数据的树形结构
定制树节点
小结
使用普通窗体
TForm类
第7章 窗体处理
窗体样式
边框样式
设置其他窗口样式
监视键盘输入
直接窗体输入
获取鼠标输入
使用鼠标拖动与绘图
在窗体上绘图
特殊图形技巧:Alpha混合、颜色键和动画API
位置、大小、滚动和缩放
滚动窗体
窗体强制
创建和关闭窗体
窗体创建事件
对话框和其他二级窗体
关闭窗体
在运行时创建二级窗体
给程序添加二级窗体
创建对话框
模态窗体与新增的PopupMode
非模态对话框
Windows通用对话框
Application对象
处理Delphi 2005中的鼠标激活
激活应用程序与窗体
使用Screen对象跟踪窗体
Delphi中的框架与子窗口
创建MDI应用程序
MdiDemo示例
可视化窗体继承性
MdiMulti示例
从基窗体中继承
多态窗体
了解框架
框架与页面
无页面的多个框架
基窗体与接口
使用基窗体类
使用接口
小结
多页面窗体
第8章 用VCL创建用户界面
PageControl与TabSheet构件
带有自绘选卡的图像查看器
向导程序的用户界面
RichBar示例
Toolbar控件
工具栏中的菜单和组合框
简单的状态栏
ActionList构件
Delphi中的预定义动作
实际中的动作
动作编辑器的工具栏与动作列表
工具栏容器
Delphi的停放支持
控件栏中的菜单
在ControlBars中停放ToolBar
停放到PageControl构件
Delphi 2005中新增的停放构件
ActionManager体系结构
创建一个简单的演示程序
最近最少使用菜单项
使用列表动作
移植现有程序
小结
Delphi for.NET中的System单元
Delphi for.NET的运行时库
第9章 Delphi.NET运行时库与框架类库
Delphi运行时DLL:Borland.Delphi.DLL
Borland.VclRtl例程
Borland.VclRtl类
基类库(BCL)
System.Object类
StringBuffer类
容器类
规则表达式
.NET流
Component类
WinForms库
无DFM文件,只有代码
WinForms控件
假朋友与其他差别
从GDI到GDI+
窗体类
小结
WinForms中没有的VCL特性
第二部分 Delphi面向对象体系结构
关于RAD的题外话
第10章 再加工与单元测试
极限编程
敏捷方法学
单元测试
再加工
声明再加工
Delphi 2005 IDE中的再加工
再加工与单元测试组合
提取到资源串
重命名再加工
提取方法再加工
查找引用特性
查找单元再加工
DUnit
Delphi 2005 IDE中的单元测试
NUnit
其他单元测试提示
小结
什么是动态链接
Wind32中的DLL
第11章 动态体系结构(库、包与组件)
DLL的用途
使用现有的DLL
Delphi DLL编写者应遵守的规则
在Delphi中开发DLL
从DLL中导出字符串
修改库名称
调用Delphi DLL
运行时调用DLL函数
内存中的Win32 DLL:代码与数据
使用内存映像文件共享数据
创建设计时与运行时包
使用运行时包
Delphi包
包的版本管理
编写与编译包
使用包的动态体系结构
使用运行时包的应用程序
在运行时装载组件包
使用包的接口
包的结构
编写和使用一个管理化DLL
从包到组件
动态装载一个管理化DLL
从装载到下载
检查组件
使用组件的动态体系结构
小结
COM与.NET的历史简介
第12章 COM与.NET互用性
实现IUnknown接口
类工厂的作用
全局惟一标识符
第一个COM服务器
COM接口和对象
初始化COM对象
测试COM服务器
自动化
使用接口属性
调度自动化调用
编写一个自动化服务器
类型库编辑器
服务器代码
注册自动化服务器
编写服务器的客户端
构件中的服务器
自动化对象的范围
COM数据类型
.NET互用性
在.NET中使用COM
在Win32中使用.NET
在COM客户使用.NET对象
在Win32应用程序中使用.NET例程
小结
第三部分 Delphi的面向数据库
访问Win32中的数据库:dbExpress、本地数据以及其他可选方案
第13章 Delphi的数据库体系结构
Borland数据库引擎
dbExpress库
用于ADO的dbGo
MyBase和ClientDataSet构件
InterBase Express
MyBase:可独立使用的ClientDataSet
定制数据集构件
连接到现有的本地表
XML和CDS格式
从MIDAS DLL到MidasLib单元
定义新的本地表
创建索引
查找记录
过滤
DBNavigator与数据集操作
网格中的数据
使用数据敏感控件
基于列表的数据敏感控件
基于文本的数据敏感控件
使用查找控件
TDataSet类
图形数据敏感控件
数据集的状态
数据集的字段
使用Field对象
Field类的层次式结构
添加计算字段
查找字段
用字段事件处理空值
导航数据集
使用书签
数据库表列的总和
编辑数据库表列
绘制DBGrid
定制数据库网格
允许多项选择的网格
拖到网格
模拟Delphi的数据敏感控件
带有标准控件的数据库应用程序
向数据库发送请求
分组
分组与合计
定义合计
使用ClientDataSet构件的主/细结构
主/细结构
处理数据库错误
小结
客户/服务器体系结构
第14章 利用VCL数据库构件开发客户/服务器应用程序
数据库设计的元素
从主关键字到OID
实体与关系
单向游标
另外的约束
InterBase简介
使用IBConsole
InterBase服务器端编程
dbExpress库
平台与数据库
使用单向游标工作
驱动器版本化问题
SQLConnection构件
dbExpress构件
dbExpress数据集构件
SQLMonitor构件
使用单个构件或者多个构件
几个dbExpress演示
用SetSchemaInfo访问数据库元数据
参数化查询
在单向够用时:打印数据
更新操作的处理
信息包和高速缓存
数据更新
使用事务
IBX数据集构件
使用InterBase Express
创建一个IBX示例
IBX管理构件
创建现场查询
获得更多的系统数据
监控InterBase Express
实际问题
生成器与ID
不区分大小写的搜索
处理位置与人员
创建用户界面
预订课程
创建一个查找对话框
小结
添加一个自由查询窗体
Microsoft数据访问构件(MDAC)
第15章 使用ADO
OLE DB提供者
使用dbGo构件
一个实用示例
ADOConnection构件
动态属性
数据链接文件
获取模式信息
使用Jet引擎
通过Jet使用Excel
通过Jet使用Paradox
通过Jet使用文本文件
导入和导出
游标位置
使用游标
游标类型
组合游标位置与类型
客户索引
无记录计数
复制
嵌套的事务
事务处理
锁类型
ADOConnection属性
数据的更新
批更新
开放式加锁
解决更新冲突
不连通的记录集
连接池
持久性记录集
小结
公文包模型
ADO.NET的体系结构
第16章 使用ADO.NET
在连通模式中工作
通过OleDbConnect访问数据
通过ODBC访问数据
在不连通模式中工作
使用接口的通用数据访问
使用OleDbDataAdapter
设计时创建DataTable
设计时无现场数据
数据集数据的直接访问
数据内容构件
数据集类中的主/细关系
XML格式的数据集
生成定制的数据集类
使用DataView进行分类与过滤
管理缓存的数据和更新
使用Borland Data Provider(BDP)
与ClientDataSet的比较
配置BDP
使用BDP做可视化开发
BDP模式服务
BDP的其他特性
在VCL应用程序中使用ADO.NET
小结
DataSnap的技术基础
第17章 多层体系结构
连接协议
IAppServer接口
提供数据包
Delphi支持构件(服务器端)
Delphi支持构件(客户端)
第一个应用服务器
创建一个样本应用程序
第一个薄层客户
字段与数据集约束
给服务器添加约束
创建一个.NET客户
包含字段属性
给客户添加特性
字段与表事件
刷新数据
更新序列
参数化查询
高级的DataSnap特性
主/细关系
定制的方法调用
使用连接代理
其他的提供者选项
对象池
简单的对象代理
Microsoft.NET中的多层开发
定制数据包
实际中的.NET远程控制
.NET远程控制体系结构
实际中的ADO.NET远程控制
使用Delphi构件的ADO.NET远程控制
小结
模型
第18章 使用企业核心对象(ECO)
类
操作
表征
派生的表征:OCL
关联
派生的表征:Code
逆向派生的表征
派生的关联
关联类
ECOSpace
使用ECO与数据库
持久性
开放式加锁
创建数据库模式
句柄
用户界面
ExpressionHandle
ReferenceHandle
CurrencyManagerHandle
数据联编
OCLPSHandle
变量
代码中的ECO
创建对象第二部分
获取一个指向当前选定对象的引用
创建对象第一部分
从代码中执行OCL代码
小结
第四部分 Delphi与因特网
开发套接字应用程序
第19章 HTML与HTTP开发
套接字编程的基础
使用Indy的TCP构件
使用HTTP
TThread类
Delphi中的线程
使用IdHTTP构件抓取HTTP内容
WinInet API(Win32)
FCL的WinClient类(.NET)
一个简单的HTTP服务器
Delphi的HTML生成器构件
生成HTML
生成HTML页面
生成HTML表
生成数据页面
使用样式表
来自定制服务器的动态页面
CGI综述
动态的Web页面
使用动态库
Delphi的WebBroker技术
使用Web APP Debugger做调试
创建多用途WebModule
动态的数据库报表制作
查询与窗体
使用Apache
使用IIS
一个图形化的网页点击计数器
实际示例
使用一个Web搜索引擎做搜索
小结
WebSnap框架
第20章 WebSnap与IntraWeb
管理多个页面
服务器端脚本
适配器
数据集适配器的Web接口
使用DataSetAdapter
定位文件
使用会话
WebSnap会话、用户和权限
请求登录
IntraWeb
从网站到Web应用
了解内幕
IWSimpleApp程序的源代码
IntraWeb体系结构
开发IWSimpleApp示例的Delphi for.NET版本
开发IntraWeb应用程序
编写多页应用程序
会话管理
集成WebBroker(和WebSnap)
控制版面设计
Web数据库应用程序
链接到细节数据集
将数据转移到客户端
Delphi 2005部署管理器
小结
ASP.NET与Web服务器
ASP.NET基础知识
第21章 ASP.NET体系结构
Delphi中的空白页面
脚本设计技术
了解代码滞后模型
创建ASP.NET页面
状态管理简介
Control类
Web控件
HTML控件
Page类
使用ASP.NET控件的浏览器诀窍
验证控件内容的有效性
使用数据库
ASP.NET中的数据访问
使用Borland的DBWeb构件
开发ASP.NET应用程序
在页面之间转移数据
会话管理
窗体身份验证
小结
ASP.NET应用程序部署
ASP.NET中的高速缓存
XML简介
第22章 使用XML技术
核心的XML语法
构造完备的XML
使用XML
Delphi中的XML文档管理
使用DOM编程
TreeView中的XML文档
在.NET中使用XMLDocument构件
使用DOM创建文档
XML数据联编接口
在.NET中使用本机XMLDOM
从语法上分析XML
使用SAX API
在.NET中分析XML的语法
使用XSLT
使用XPath
实践中的XSTL
XSLT与WebSnap
直接XSL变换与DOM
ASP.NET中的XSLT
使用变换映射XML
处理大型XML文档
从ClientDataSet到XML文档
从XML文档到ClientDataSet
小结
第23章 Web服务与SOAP
Web服务技术
Delphi Win32 SOAP支持
一个SOAP客户:股票报价
在Delphi for Win32中创建Web服务
调试SOAP头部
将已有类暴露为Web服务
REST体系结构与Delphi
REST客户技术
创建REST服务器
用于REST服务器的客户
.NET中的Web服务
.NET Web服务客户
创建.NET服务器
SOAP上的数据库数据
访问数据
传递XML文档
客户程序(利用XSLT映射到客户数据集)
SOAP上的DataSnap
处理附件
小结
第五部分 附录
Essential Pascal
Essential Delphi
附录A 了解Delphi的基础知识
Delphi Power Book
笔者自己的工具
CanTools向导
附录B 附加的Delphi工具
其他重要的免费工具
内存快照(Memory Snap)
Project JEDI
对象调试器(Object Debugger)
Gexperts
InstantObjects