内容简介
目 录
序
第一部分面向对象的Pascal
第1章 可视化编程RAD——一种
快速应用程序开发工具
1.1 Delphi 2.0
1.2本书的各部分
1.2.1有关Windows API的章节
1.2.2充分利用本书
1.2.3其他内容
1.3 Delphi来源声明和Unicode声明
1.4 内存剧场
1.5使用组件配制板
1.6检查提示和警告信息
1.7程序代码中的新变化
1.8本书中的程序代码
1.9本书的内容从何而来
1.10其他作者
1.11写作本书的目的
第2章Win32中Delphi的变量类型
2.1 旧的字符串类型和新的字符串类型
2.2长字符串和独立调试器
2.3深入研究短字符串ShortString
2.4关于AnsiString
2.5 Trim函数
2.6 AnsiString和PChar
第二部分 Win
2.7引用计数
2.8 WideChar和Unicode
2.9 Variant
2.10导出和基本整数类型
2.11 Currency类型
2.12小结
3.1字符串——数组的一种形式
第3章 字符串和文本文件
3.2 PChar:另一种以0结尾的字符串
3.3使用字符串
3.4基于日期的文件名
3.5 ReplaceChars函数
3.6使用Move和FillChar函数
3.7限制ShortString的长度
3.8使用文本文件工作
3.9小结
第4章 指针和PChar类型
4.1指针和Win32
4.2指针和内存剧场
4.3用New和Dispose分配内存
4.4声明指针:一个实际的例子
4.5权限冲突:招致麻烦
4.6指针和对象
4.8 PChar和Char数组
4.7将一个指针设为nil
4.9小结
第5章 指针、链表以及内存
5.1PChar上的指针运算
5.2链表
5.3第二个链表的例子
5.4在调试中检查指针
5.5关于空指针的其他内容
5.6关键内容的回顾
5.7另一种无效的指针
5.8小结
第6章 异常
6.1关于异常所隐含的理论
6.2异常类
6.3基本异常语法
6.4建立并且引发自己的异常
6.5使用资源来追踪错误字符串
6.6try..finally程序块
6.7替代缺省的异常处理器
6.8引发异常、流、释放内存
6.9小结
第7章 多任务与多线程
7.1进程和存储
7.2多任务和多线程
7.3 多线程:一个简单的例子
7.4 一个程序,多个线程
7.5 在Windows API下使用位图
7.6在Thread2程序中使用线程
7.7使用Mutexes
7.8线程与VCL
7.9 TThread对象
7.10设定线程的优先级
7.11再看Delphi的线程
7.12小结
第8章 Win32内存管理
8.1 Win32内存管理一瞥
8.2为什么不用了解这东西
8.3 4GB虚拟内存空间近观
8.4分配虚拟内存的理论
8.5使用VirtualAlloc
8.6分配内存和使用堆
8.7把文件映象进内存
8.8内存管理基础
8.9小结
9.1简述
WinProc
第9章 VCL库之外:WinMain和
第三部分Windows API
9.2 Windows API程序:一个最简单的
例子
9.3代码
9.4注册窗口
9.5创建窗口
9.6 Window过程
9.7从另一个角度观察
9.8和Delphi的关系
9.9重载TForm.WindProc
9.10小结
第10章 对话框和资源
10.1使用源码
10.2旧风格Windows对话框
10.3使用源代码:深入Windows API
10.4在标准的DelphiRAD程序中使用
资源
10.5批处理文件问题
10.5.1重访命令行
10.5.2获得16位和32位Windows
API兼容
10.6小结
第11章 消息和显示文本
11.1 MESSAGES.PAS
11.2什么是消息
11.3第二个大型Windows程序
11.4 Case 语句、MESSAGES.PAS和
Message Crackers
11.5创建消息处理器
过程
11.7总结MessageCrackers
11.6 MESSAGES.PAS和缺省Window
11.8图画文本(Painting Text)
11.9 BeginPaint、EndPaint和设备
描述表
11.10文本输出(TextOut)和画文本
(DrawText)
11.11 Windows API 与RAD Delphi的
关系
11.12小结
第12章 鼠标和键盘
12.1 一个报告鼠标和键盘事件的程序
12.2 forward声明
12.3 Windows键盘和鼠标消息
12.4处理wm_Char消息
12.5用wm_KeyDown检测按键
12.6系统键
12.7 wm_MouseMove消息
12.8按钮选择和双击的处理
12.9处理wm_Paint
12.10小结
第13章 Windows API和DLL
13.1 DLL基础
13.2一个简单的DLL
13.3从API应用程序中调用Delphi对
话框
13.4创建对DLL的调用
13.5重温WndProc
13.6 wm_Paint和InvalidateRect
13.7运行时动态装载DLL
13.7.1 理解MESSAGES.PAS
13.7.2完全用Windows API调用书写的DLLs
13.7.3 APIDLL
13.7.4一个等同的Squares单元
13.8小结
第14章 Windows控件和Callbacks
14.1理解控件和消息
14.2字体显示程序
14.3静态控件(Static Controls)
14.4列表框(List Boxs)
14.5复选框(Check Boxs)
14.6编辑控件(Edit Controls)
14.7 FontsExp的测试
14.8传送消息
14.9 SendMessage和PostMessage函数
14.10枚举系统字体
14.11 FontCallBack函数
14.12与列表框通信
14.12.1显示字体
14.12.2复选框的使用
14.12.3高亮选择
14.12.4 ShowTheFont返回值
14.12.5 GetTextMetrics和FontStr
模块
14.13小结
第四部分数据库
第15章 使用TTable和TDataSet
15.1数据库基础
15.2数据模块
15.3对象储存器(Object Repository)
15.4数据库浏览器(Database Explorer)
15.5理解TDataSet类
15.6导航例程
15.7字段
文件
15.8使用SetKey和FindKey查找一个
15.9用ApplyRange筛选数据集的记录
15.10用OnFilterRecord事件筛选
15.11书签
15.12创建链接的光标
15.13跟踪数据集状态
15.14小结
第16章SQL和TQuery对象
16.1 TQuery基本知识
16.2 SQL特性
16.3 TQuery和参数
16.4 SQL特性和Format函数
16.5通过TDataSource传递参数
16.6执行多表连接
16.7参数化查询和Join语句
16.8打开或ExecSQL
16.9TQuery的特殊特性
16.10小结
第17章 字段和数据库工具
17.1关系数据库
17.1.1 一对多关系:数据和索引
17.1.2一对多关系:代码
17.1.3关系数据库和连接
17.1.4 Joins和QBE
17.2字段编辑器(Fields Editor)
17.3计算字段
17.4运行时的TabGrid
17.5 Lookup字段
17.6多记录(MultiRecord)对象
17.7小结
18.1 支持16位和32位平台
18.2定义数据
第18章 实用数据库
18.3定义该程序的外观
18.4创建完成的程序
18.5进出只读模式
18.6数据排序
18.7查找数据
18.8筛选数据
18.9打印记录
18.10设置颜色
18.11标志文件(Marking Files)
18.12剪贴板:剪切、复制和粘贴
18.13小结
第19章本地InterBase服务器
19.1建立本地InterBase
19.2建立InterBase别名(Alias)
19.3创建数据库
19.4用WISQL浏览数据库
19.5事务(Transaction)
19.6高速缓存更新(Cached Updates)
19.7多对多关系
19.8小结
第20章 高级InterBase技术
20.1 Music程序
20.2建立数据库结构
20.2.2发生器、触发器和存储过程
20.2.1其他索引
20.3 Delphi终端中的存储过程
20.4对于MUSIC.GDB的完整的数据
定义
20.5服务器方规则和客户方规则
20.6关于Music程序接口的简介
20.7 Music程序代码
20.8压缩口令:TDatabase对象
20.9建立表格事件
20.10筛选器和查询功能
20.11在Album表上查询
20.12小结
第21章ReportSmith
21.1范例报表
21.1.1建立一个报表
21.1.2要求1
21.1.3要求2
21.1.4要求3
21.1.5要求4
21.2范例报表1的Delphi表格
21.3范例报表2的Delphi表格
21.3.1要求1
21.3.2要求2
21.3.3要求3
21.3.4要求4
21.3.5要求4的继续
21.4范例报表3
21.5小结
第五部分对 象
第22章 消息处理
22.1 Delphi事件
22.2理解事件
22.3利用Delphi集来跟踪消息
22.4跟踪鼠标和键盘消息
22.5捕获虚拟按键
22.6直接处理事件
22.7处理wm_Command消息
22.8小结
第23章 对象和继承
23.1对象
23.2创建简单的对象
23.3理解继承
23.4 VCL程序的继承关系
23.5虚拟、动态和消息
23.5.1方法表与类型
23.5.2方法的指针
23.5.3对象与方法指针的综述
23.6 is与as操作符
23.7小结
第24章 对象、封装及属性
24.1封装
24.2简洁:好的对象设计的秘密
24.3一个实例
24.4属性
24.5关于属性的深入研究
24.6小结
25.1远程的多态性继承
第25章 多态性继承技术
25.2从另一角度看多态性继承
25.3虚拟方法和多态性继承
25.4 VCL中的多态性继承
25.5多态性继承的封装(主要观点的
回顾)
25.6 OBJECT 4
25.7 OBJECT 4的主要特性
25.8多态性继承的典型方法
25.9 MaskEdit和其他问题
25.10方法地址和多态性继承
25.11小结
第26章 创建组件
26.1组件理论
26.2创建已存在的组件的派生类
26.3扩展UNLEASH部分
26.4从头开始创建组件
26.5 CLOCK组件
26.6为组件建立图标
26.7 5个主要的Tools API
26.8属性编辑器
26.9小结
第27章 创建非可视组件
27.1 FindAllW程序
27.2使用TFileIterator重复查看目录
27.3何时应把可视对象转化成组件
27.4 AllDirs和FileIter单元
27.5重复浏览目录
27.6使用FindFirst、FindNext和
FindClose
27.7创建事件处理函数
27.8 DelAllDb程序
27.9小结
第六部分OLE与COM
第28章 对象的链接和嵌入
28.1基本概念
28.2 OLE技术:嵌入、就地激活和OCX
28.3在运行时使用TOleContainer
28.4 TOleContainer、文件IO和SCaling
28.5使用DDE
28.5.1简单的DDE服务器
28.5.2另一个DDE客户和服务器的
例子
28.6通过命令行来编译
28.7对资源的处理
第29章 OLE自动化的基础
29.1什么是OLE自动化
29.2作为OLE对象的Variant变量
29.3 自动化和登录
29.4 OLE参数:有名的和变化的
29.5 Variant数组
29.6 Excel自动化
29.7简单的OLE自动化服务器
29.8给自动化服务器加方法和属性
29.9 Delphi中的区域自动化服务器
29.10具体的包含
29.11 自动化对象
29.12小结
第30章 COM对象的基本知识
30.1 从DLL中输出VCL对象
30.2创建一个DLL服务器
30.3 登录和GUID
30.4创建对象
30.5考虑IClassFactory
30.6 IUnknown和IMyObject
30.7实现IClassFactory
30.8释放DLL
30.9创建客户程序
30.10从IMyObject中输出额外函数
30.11调试DLL
30.12创建一个EXE服务器
30.13在OLE文档上
30.14小结
存储
31.1使用结构化存储
第31章 COM、自动化、结构化
31.2打开一个已有的混合文件
31.3 VCL外的自动化
28.8小结
31.4调用TMyAuto对象
31.5 RunSimp程序
31.6关于OLE的最后几点
31.7小结
第七部分多媒体和游戏
第32章 Games SDK
32.1历史过程
32.2 Windows 95 Game SDK
32.3组件对象模块
32.4 DirectDraw
32.5 IDirectDraw对象
32.5.1 DirectDraw结果代码及Delphi异常
32.5.2选择全屏模式
32.5.3添加应用程序异常处理
32.6显示界面
32.6.1转换页面
32.6.2加上返回中止
32.6.3进入后部缓冲区
32.6.4恢复界面
32.6.5在DirectDeaw界面上画图
32.6.6锁定Windows
32.6.7使主模块无效
32.6.8 控制Delphi:自定义Canvas类
32.7 改善图像
32.8 关于调色板
32.9 全部组织起来
32.9.1 带透明区的位图块移动
32.9.2 一个简单的动画类
32.9.3更新显示
32.9.4处理键盘输入
32.9.5进入消息循环
32.10需要精灵
32.10.1 TDDSprite类
32.10.2 显示统计量
32.10.3复制精灵
32.10.4 更新统计值
32.10.5在设计时刻生成精灵
32.11小结
第33章 制作SDK世界
33.1 快速动画与Games SDK
33.2 XFire程序
33.3 XFire总览
33.4 DrawBoard部分
33.5 GameBoard部分
33.6生成一个迷宫
33.7在地图上滚动
33.8小结
第34章 Delphi多媒体编程
34.1 多媒体探秘
34.2文件格式:需要多大的磁盘空间
34.3硬件:需要什么样的机器
34.4为何要为多媒体烦恼
34.5 Delphi与多媒体
34.6TMediaPlayer组件
34.7在运行时打开TMediaPlayer
34.8多媒体程序的两个方面
34.9媒体通道程序的进一步讨论
34.10定义一个可以放影像的窗口
34.11演示程序
34.12 MIDI细节
34.13小结
第35章 高级多媒体性能
35.1在Delphi中使用OWL
35.2 工具和限制
35.3关于MIDI文件的一些说明
35.4面对mciSendCommand的语言
35.5集中注意力
35.6播放文件
35.7录制声音
35.8 Media32程序
35.9 多媒体特征通道的核心文件
35.10性能对话框
35.11恰当的前端
35.12 与多媒体文件工作
35.13设置时间格式
35.14处理mm_Notify消息
35.15小结
第八部分Internet
第36章 采用Delphi进行CGI编程
36.1从何处入手
36.2 Web文档是HTML文件
36.3为什么编写网络应用程序如此
烦人
36.4比较网络节点
36.4.3静态与动态页面
36.4.1公共与私有
36.4.2服务端平台是什么
36.4.4交互作用的网络节点
36.4.5数据库驱动的网络节点
36.5分析网络节点
36.5.1网页
36.5.2流程中的网点地址页面
36.5.3选择自己的软件工具
36.6 CGI详述
36.6.1 INI包含的一切
36.6.2使用HTML窗体
36.6.3 CGI程序的作用
36.7为什么不是很容易
36.7.1性能
36.7.3存储状态
36.7.4 HTML美工与程序员分离
36.7.2跟踪时期
36.7.5商业准则
36.8框架的需要
36.9电子商贸及安全
36.10关于java
36.11 小结
37.1.3 多才多艺的小构件
37.1.2组件是舞台上的演员
37.1.1组件是TForm的邻居
37.1 生活是不确定的,先来些点心
第37章 在Delphi中控制BDE
37.1.4自己动手
37.2返回主要通道
37.2.1 关键内容出现
37.2.2 TWebApp和Company
37.2.3 TWebCommandLine
37.2.6生成HTML
37.2.4 TWebHtmlMemu
37.2.5TWebMenu
37.3控制Delphi数据库组件
37.3.1 介绍TWebDataGrid和TWebDataSource
37.3.2练习
37.3.3进一步定制
37.3.4 一个新的Cyber-Shopping接口
37.4控制Delphi
37.4.1 String Grid
37.4.2电子邮件
37.4.3 加上组件
37.4.4定义基本的 E-Mail设置
37.4.5交互的轮廓
37.4.6定制图形
37.5网络交通
37.6小结