引言 1
第一部分 Delphi 4集成开发环境 5
第一章 Delphi 4 概述 5
1.1 Delphi 4简介 5
1.1.1 Delphi 产生背景 5
1.1.2 Delphi 4特点 6
1.2 Delphi 4集成开发环境安装 7
1.2.1 硬件和软件环境要求 7
1.2.2 Delphi 4的安装 7
1.2.3 Delphi 4的文件组织 9
1.3 本章小结 10
1.4 问题与解答 10
2.1.1 Delphi 4集成开发环境(IDE)的运行 11
2.1 集成开发环境(IDE) 11
第二章 Delphi 4集成开发环境 11
2.1.2 集成开发环境的主窗口 12
2.2 Delphi 4集成开发环境的菜单 13
2.2.1 File菜单 13
2.2.2 Edit菜单 14
2.2.3 Search菜单 15
2.2.4 View菜单 16
2.2.5 Project菜单 17
2.2.6 Run菜单 18
2.2.7 Component菜单 19
2.2.8 Database菜单 20
2.2.9 Tools菜单 20
2.2.11 Help菜单 21
2.2.10 Workgroup菜单 21
2.3 工具栏 22
2.4 构件栏 23
2.4.1 Standard选项卡 23
2.4.2 Additional选项卡 24
2.4.3 Win32选项卡 25
2.4.4 System选项卡 26
2.4.5 Internet选项卡 26
2.4.6 Data Access选项卡 27
2.4.7 Data Controls选项卡 28
2.6 问题与解答 29
2.7 专题讨论 29
2.5 本章小结 29
2.4.8 ActiveX选项卡 29
第三章 Delphi 4常用工具软件 30
3.1 窗体编辑器 30
3.1.1 窗体的存在形式 30
3.1.2 创建应用程序窗体 32
3.1.3 在窗体编辑器中放置构件 32
3.1.4 改变构件的尺寸 32
3.1.5 拷贝和粘贴检件 33
3.1.6 删除和恢复构件 33
3.1.7 调整构件布局 34
3.1.8 调整窗体构件的Tab次序 35
3.1.9 设置非可视构件的创建次序 35
3.1.10 锁定窗体位置 36
3.2 对象编辑器 36
3.2.1 设置构件对象的属性 37
3.2.2 设置构件需要响应的事件 38
3.3 代码编辑器 39
3.3.1 创建新的单元文件 39
3.3.2 编辑文件 40
3.3.3 查找操作 40
3.3.4 标识符浏览功能 41
3.3.5 动态帮助功能 42
3.4 代码浏览器 44
3.5 对齐工具栏 45
3.5.1 显示对齐工具栏 45
3.5.2 窗体编辑器中的构件位置调整 46
3.6 对象存储器 46
3.6.1 打开对象存储器 46
3.6.2 在对象存储器存储对象 47
3.7 图像编辑器 48
3.7.1 编辑位图 49
3.7.2 编辑图标 50
3.8 本章小结 50
3.9 问题与解答 51
3.10 专题讨论 51
3.10.1 测验 51
3.10.2 练习 51
第四章 Delphi 4工程管理 52
4.1 Delphi 4工程项目 52
4.1.1 工程文件 53
4.1.2 窗体文件 54
4.1.3 单元文件 56
4.2.1 工程管理器的工具栏 57
4.2 工程管理器 57
4.2.3 工程项目管理器的弹出菜单 58
4.2.2 工程项目管理器的状态栏 58
4.3 Delphi 4的编译器和连接器 61
4.3.1 Delphi 4编译和连接环境的设置 61
4.3.2 工程项目文件的编译和连接 61
4.3.3 运行应用程序 62
4.4 本章小结 62
4.5 问题与解答 62
4.6 专题讨论 63
4.6.1 测验 63
4.6.2 练习 63
5.1.2 运行错误 64
5.1.3 逻辑错误 64
5.1 应用程序错误类型 64
5.1.1 语法错误 64
第五章 Delphi 4集成调试环境 64
5.2 集成调试环境设置 65
5.3 运行应用程序 65
5.3.1 设置程序启动参数 65
5.4 控制程序运行 66
5.4.1 运行到文本编辑器光标所在位置 66
5.4.2 单步运行和跟踪 67
5.4.3 暂停和终止应用程序运行 67
5.5 使用断点 67
5.5.1 设置断点 67
5.5.3 断点列表对话框 68
5.5.2 删除断点 68
5.5.4 创建条件断点 69
5.6 检查变量和表达式的值 70
5.6.1 观察变量值变化 70
5.6.2 计算和修改变量值 71
5.7 检查函数和过程调用 72
5.8 监视线程状态 73
5.9 监视微处理器状态 74
5.10 本章小结 75
5.11 问题与解答 75
5.12 专题讨论 75
5.12.1 测验 75
5.12.2 练习 76
6.1 Pascal符号 79
6.1.1 特定符号 79
第二部分 Object Pascal语言基础 79
第六章 基本的Pascal语法 79
6.1.2 标识符 80
6.1.3 字符串 80
6.1.4 注释 80
6.1.5 分隔符号 81
6.2 数据类型 81
6.2.1 整数类型 81
6.2.2 实数类型 82
6.2.3 字符类型 82
6.2.4 布尔类型 82
62.5 常量与变量 83
6.2.6 表达式 84
6.3 Pascal语言的语句 85
6.3.1 赋值语句 85
63.2 条件语句 85
6.3.3 case语句 87
6.3.4 while语句 87
6.3.5 repeat语句 88
6.3.6 for语句 89
6.4 枚举、子界、集合和记录 90
6.4.1 类型的定义 90
6.4.2 枚举类型 90
6.4.3 子界类型 91
6.4.4 集合类型 92
6.4.5 记录类型 93
6.5 函数和过程 94
6.5.1 概述 94
6.5.2 函数的声明和调用 95
6.5.3 过程的声明和调用 96
6.6 数组 97
6.6.1 一维数组 97
6.6.2 二维数组 98
6.7 指针 99
6.7.1 指针类型和指针变量 99
6.7.2 标准过程new和dispose 100
6.7.3 动态存储单元和动态变量 100
6.7.4 指针操作 101
6.9 问题与解答 102
6.8 本章小结 102
6.10 专题讨论 103
练习 103
第七章 Object Pascal语言 104
7.1 单元文件 104
7.2 类和对象 105
7.2.1 Object Pascal语言中类的基本概念 105
7.2.2 类的定义 105
7.2.3 对象的声明 107
7.2.4 构造函数与析构函数 108
7.3.1 类成员的可见性 110
7.3.2 私有成员 110
7.3 类的访问控制 110
7.3.3 保护成员 112
7.3.4 公有成员 114
7.3.5 发行成员 114
7.3.6 自动成员 115
7.4 类与类的成员 115
7.4.1 字段成员 115
7.4.2 属性成员 116
7.5 继承 118
7.5.1 单一继承 119
7.5.2 赋值兼容性 119
7.6 多态性 121
7.6.1 静态方法 121
7.6.2 虚函数和多态方法 122
7.7 本章小结 124
7.6.3 抽象方法 124
7.8 问题与解答 125
7.9 专题讨论 125
7.9.1 测验 125
7.9.2 练习 125
第八章 异常处理 126
8.1 异常处理的基础 126
8.2 异常处理 127
8.2.1 try-except语句 128
8.2.2 try-finally语句 129
8.3 运行异常 131
8.4 构件异常 132
8.5.1 定义异常对象类 133
8.5 使用自定义的异常类 133
8.5.2 使用自定义的异常类 134
8.6 本章小结 135
8.7 问题与解答 135
8.8 专题讨论 136
8.8.1 测验 136
8.8.2 练习 136
第三部分 Windows应用程序的基本构件 139
第九章 Delphi 4编程模式与构件 139
9.1 Windows应用程序开发过程 139
9.1.1 创建新的应用程序工程 139
9.1.2 添加菜单和菜单项 140
9.1.3 添加About对话框 142
9.1.4 应用程序代码 144
9.2.2 应用程序编程模式的特点 146
9.2.1 Delphi编程模型 146
9.2 Delphi应用程序编程模型 146
9.3 构件 147
9.3.1 构件的定义 147
9.3.2 构件的构成 148
9.3.3 Delphi 4视化构件库的体系结构 148
9.4 窗体构件 150
9.4.1 窗体的属性 151
9.4.2 窗体构件的事件响应 155
9.4.3 窗体构件的方法 162
9.7 专题讨论 163
9.7.1 测验 163
9.6 问题与解答 163
9.5 本章小结 163
9.7.2 练习 164
第十章 Delphi主窗口构件 165
10.1 菜单 165
10.1.1 菜单简介 165
10.1.2 主菜单构件和菜单项构件 166
10.2 菜单设计器 168
10.2.1 启动菜单设计器 168
10.2.2 创建菜单项 168
10.2.3 加速键和快捷键 170
10.2.4 增加和删除菜单项 171
10.2.5 添加菜单分隔符 171
10.2.6 创建多级菜单 171
10.2.7 使用菜单模板进行菜单设计 172
10.2.8 菜单项事件处理 173
10.3 菜单的动态控制与操作 174
10.3.1 增加菜单项 174
10.3.2 删除菜单项 174
10.3.3 隐藏/显示菜单项 175
10.3.4 更改菜单项的标题 175
10.3.5 菜单项变灰操作 175
103.6 设置菜单项选择标志 176
10.4 工具栏构件和工具栏按钮构件 176
10.4.1 工具栏构件 177
10.4.2 工具栏按钮(TToolButton)构件 177
10.4.3 设计和实现应用程序的工具栏和快捷按钮 178
10.5 CoolBar构件 179
10.5.1 CoolBar构件 180
10.5.2 使用CoolBar构件设计应用程序的工具栏 182
10.6 状态栏 184
10.6.1 状态栏构件 184
106.2 在状态栏中显示菜单项和工具栏按钮的提示信息 186
106.3 在状态栏中显示应用程序运行时状态信息 189
10.7 本章小结 192
10.8 问题与解答 192
10.9 专题讨论 193
10.9.1 测验 193
10.9.2 练习 193
第十一章 对话框和对话框构件 194
11.1 对话框简介 194
11.2.1 标签构件(Tlabel) 195
11.2 组成对话框的常用构件 195
11.2.2 命令按钮构件 196
11.2.3 选项按钮构件(TRadioButton) 200
11.2.4 复选框构件 201
11.2.5 文本编辑框构件 203
11.2.6 列表框构件(TListBox) 209
11.2.7 组合列表框构件(TComboBox) 213
11.2.8 滚动条构件 223
11.3 通用标准对话框构件 232
11.3.1 打开文件对话框 232
11.3.2 颜色对话框 233
11.3.3 字体对话框 234
11.3.4 打印对话框 235
11.3.5 查找对话框 236
11.3.6 应用程序举例 237
11.4 本章小结 242
11.5 问题与解答 243
11.6 专题讨论 243
11.6.1 测验 243
11.6.2 练习 243
第十二章 Win32应用程序常用构件 245
12.1 Track Bar构件 245
12.1.1 Track Bar构件简介 245
12.1.2 Track Bar构件 246
12.1.3 Track Bar构件的使用 247
12.2.1 ProgressBar构件简介 249
12.2.2 ProgressBar构件 249
12.2 ProgressBar构件 249
12.2.3 ProgressBar构件的使用 250
12.3 属性表控件 252
12.3.1 属性表控件简介 252
12.3.2 属性表构件(TPageControl) 253
12.3.3 属性页构件(TTabSheet) 254
12.3.4 使用属性表构件实现属性对话框 255
12.4 图标队列构件 256
12.4.1 图标队列控件简介 256
12.4.2 图标队列构件(TlmageLisk) 256
12.4.3 图标队列构件的使用 258
12.5 树视图构件 259
12.5.1 树视图构件简介 259
12.5.2 树视图构件(TTreeView) 260
12.5.3 使用树视图构件进行应用程序设计 262
12.5.4 节点项队列(TTreeNodes)构件 263
12.5.5 树视图节点项(TTreeNode) 264
12.5.6 树视图的应用程序举例 266
12.6 列表视图构件 273
12.6.1 列表视图控件简介 273
12.6.2 列表视图构件(TListView) 274
12.6.3 使用列表视图构件进行应用程序设计 276
12.6.4 在应用程序运行时使用列表视图构件 278
12.6.5 使用列表视图的应用程序举例 279
12.7 综合应用程序 284
12.8 本章小结 296
12.9 问题与解答 296
12.10.1 测验 297
12.10.2 练习 297
12.10 专题讨论 297
第十三章 图形图像构件 298
13.1 Delphi 4图形、图像构件 298
13.2 基本的绘图工具构件 298
13.2.1 画笔构件 298
13.2.2 画刷构件(TBrush) 301
13.2.3 字体构件(TFont) 303
13.2.4 位图构件(TBitmap) 305
13.3 画布构件 306
13.4 图像构件 310
13.4.1 图像构件常用属性 310
13.4.2 应用程序举例 310
13.5.1 几何图形构件常用属性 311
13.5 几何图形构件(TShape) 311
13.5.2 Shape构件使用举例 312
13.6 综合应用程序 313
13.7 本章小结 330
13.8 问题与解答 330
13.9 专题讨论 330
13.9.1 测验 330
13.9.2 练习 330
第四部分 综合应用程序 333
第十四章 RichEdit构件和RichEdit应用程序 333
14.1 RichEdit构件 333
14.1.1 RichEdit构件的属性 333
14.1.2 RichEdit构件的事件 336
14.1.3 RichEdit构件的常用方法 336
14.2 RichEdit演示应用程序 337
14.2.2 设计RichEdit的主窗口 338
14.2.3 设计RichEdit的菜单 338
14.2.1 RichEdit应用程序框架 338
14.2.4 设计应用程序工具栏 339
14.2.5 设计应用程序的标尺 340
14.2.6 添加状态栏构件 341
14.2.7 添加通用对话框构件 342
14.2.8 添加RichEdit构件 342
14.3 实现RichEdit应用程序程序功能 343
14.3.1 应用程序初始化 343
14.3.2 关闭应用程序 345
14.3.3 创建新的文件功能 346
14.3.4 打开文件功能 346
14.3.6 剪贴板功能 347
14.3.5 文件存盘功能 347
14.3.7 改变文本字体功能 349
14.3.8 拖放操作 349
14.3.9 打印功能 349
14.3.10 定位尺 349
14.4 RichEdit程序源代码 351
14.5 本章小结 365
14.6 问题与解答 365
14.7 专题讨论 365
14.7.1 测验 365
14.7.2 练习 365
15.1.3 Windows操作系统的多媒体服务 366
15.1.2 多媒体计算机 366
15.1.1 人与计算机交互的方式 366
15.1 多媒体计算机基础知识 366
第十五章 多媒体构件和多媒体应用程序 366
15.1.4 MCI接口 367
15.2 卡通构件 369
15.2.1 卡通控件简介 369
15.2.2 卡通构件 370
15.2.3 卡通构件的使用 371
15.3 媒体播放器构件 373
15.3.1 媒体播放器构件简介 374
15.3.2 媒体播放器构件的使用 378
15.3.3 多媒体应用程序 379
15.6.2 练习 385
16.6.1 测试 385
15.6 专题讨论 385
15.5 问题与解答 385
15.4 本章小结 385
第十六章 线程构件和多线程应用程序 386
16.1 线程基础知识 386
16.1.1 进程和线程 386
16.1.2 多任务 387
16.1.3 线程调度 387
16.2 Delphi多线程应用程序 388
16.2.1 Delphi多线程工作模型 388
16.2.2 线程构件 389
16.2.3 创建线程类 391
16.2.4 多线程同步 393
16.2.5 控制线程运行 395
16.2.6 多线程间通信 396
16.3 本章小结 402
16.4 问题与解答 402
16.5 专题讨论 403
16.5.1 测验 403
16.5.2 练习 403
第十七章 Internet构件和面向Internet应用程序 404
17.1 Internet简介 404
17.1.1 TCP/IP协议 404
17.1.2 Internet网络地址 404
17.1.3 Internet网络的服务 405
17.2 Internet构件 406
17.2.1 Socket简介 406
17.2.3 数据报Socket的工作过程 407
17.2.2 数据流Socket的工作过程 407
17.2.4 ClientSocket构件 408
17.2.5 ServerSocket构件 409
17.3 面向Internet应用程序 411
17.3.1 应用程序功能简介 411
17.3.2 应用程序源代码 412
17.4 本章小结 421
17.5 问题与解答 421
17.6 专题讨论 421
17.6.1 测验 421
17.6.2 练习 421
附录A 标准函数 422
附录B 常用虚拟键值表 431
附录C 配套另售光盘中的内容 436