第1章 Delphi基础知识 1
1.1 Delphi简介 1
1.1.1 什么是Delphi 1
1.1.2 Delphi的特点 1
1.1.3 Delphi 7的新特性 3
1.2 Delphi可视化编程的基本概念 4
1.2.1 类和对象 4
1.2.2 对象的属性、事件和方法 5
1.2.3 类的封装 6
1.2.4 类的继承 7
1.2.5 类的定义和引用 7
1.2.6 TObject和TClass 8
1.2.7 窗体和组件 9
1.3 Delphi 7可视化编程的环境 10
1.3.1 进入Delphi 7 10
1.3.2 主窗体 11
1.3.3 对象观察器 13
1.3.4 对象树视图 15
1.3.5 窗体设计器 16
1.3.6 代码编辑器 16
1.3.7 项目管理器 18
1.3.8 使用联机帮助 19
1.4 Delphi可视化编程的步骤 19
1.4.1 创建一个工程 20
1.4.2 添加组件 20
1.4.3 设置属性 20
1.4.4 编写代码 21
1.4.5 保存工程 22
1.4.6 运行工程 23
1.4.7 关闭工程和关闭Delphi 23
1.5 组件的画法和一些操作 23
1.5.1 选定组件 24
1.5.2 组件的缩放和移动 24
1.5.3 组件的复制与删除 25
1.5.4 组件的对齐 25
1.5.5 锁定窗体上的组件 26
1.5.6 掌握一些常用的快捷键 26
1.6 程序设计的常用规范 26
1.6.1 程序代码的书写格式 27
1.6.2 命名规则 28
1.7 程序的基本组成 29
1.7.1 工程文件 29
1.7.2 单元文件 29
1.7.3 窗体文件 31
1.7.4 资源文件 33
1.7.5 应用程序文件 33
本章小结 33
练习 34
第2章 Delphi的语法基础 35
2.1 保留字与标识符 35
2.1.1 保留字 35
2.1.2 标识符 36
2.1.3 指令符 37
2.2 标准数据类型 37
2.2.1 数值型数据 38
2.2.2 字符数据 39
2.2.3 布尔型数据 40
2.3 常量与变量 40
2.3.1 常量 40
2.3.2 变量 41
2.4 运算符与表达式 45
2.4.1 算术运算符 45
2.4.2 位运算符 46
2.4.3 字符串运算符 47
2.4.4 关系运算符 47
2.4.5 布尔运算符 48
2.4.6 运算符的优先顺序 49
2.5 Delphi的程序结构 50
2.5.1 主程序 50
2.5.2 单元与作用域 51
2.5.3 程序段 52
本章小结 52
练习 52
第3章 Delphi的过程与函数 53
3.1 过程 53
3.1.1 事件过程的创建与调用 53
3.1.2 通用过程的语法格式 54
3.1.3 通用过程的创建与调用 55
3.2 函数 56
3.2.1 函数的语法格式 56
3.2.2 函数的定义与调用 57
3.3 向子程序传递参数 58
3.3.1 形式参数与实际参数 58
3.3.2 参数传递方式 59
3.3.3 使用默认参数 61
3.4 子程序的嵌套 61
3.4.1 嵌套层次 61
3.4.2 调用规则 62
3.5 常用函数与过程 62
3.5.1 数学运算函数 62
3.5.2 字符处理函数 63
3.5.3 日期时间函数 66
3.5.4 顺序类型函数 68
本章小结 69
练习 69
第4章 Delphi的窗体设计 70
4.1 Delphi的窗体 70
4.1.1 主窗体 70
4.1.2 应用窗体 70
4.2 窗体的属性 70
4.2.1 BorderIcons属性 71
4.2.2 BorderStyle属性 71
4.2.3 FormStyle属性 72
4.2.4 Position属性 72
4.2.5 其他属性 73
4.3 窗体的事件 73
4.3.1 创建和获得焦点时的事件 73
4.3.2 销毁和失去焦点时的事件 75
4.3.3 OnPaint事件 78
4.3.4 其他事件 79
4.4 窗体的创建和销毁 79
4.4.1 对象的生命周期 80
4.4.2 窗体的自动创建 80
4.4.3 窗体的销毁 80
4.5 模态和非模态的窗体 81
4.6 窗体的使用技巧 81
4.6.1 显示欢迎窗体 82
4.6.2 在窗体关闭前提示保存 83
4.6.3 窗体嵌入 84
本章小结 85
练习 86
第5章 Delphi的基本组件 87
5.1 组件简介 87
5.1.1 Delphi的组件分类 87
5.1.2 Delphi的标准组件 87
5.1.3 对象 88
5.2 按钮类组件 88
5.2.1 “Button”按钮组件 89
5.2.2 “BitBtn”按钮组件 91
5.2.3 “SpeedButton”按钮组件 93
5.3 文本类组件 96
5.3.1 Label组件 96
5.3.2 Edit组件 97
5.3.3 Memo组件 99
5.3.4 MaskEdit组件 102
5.3.5 RichEdit组件 105
5.4 单选、复选类组件 107
5.4.1 RadioButton组件 108
5.4.2 CheckBox组件 109
5.4.3 RadioGroup组件 111
5.5 成组类和修饰性组件 112
5.5.1 GroupBox组件 112
5.5.2 Panel组件 113
5.5.3 SrollBox组件 114
5.6 列表类组件 114
5.6.1 ListBox组件 115
5.6.2 ComboBox组件 117
5.6.3 ListView组件 119
5.6.4 TreeView组件 122
5.6.5 ImageList组件 123
5.7 多选项卡类组件 124
5.7.1 TabControl组件 124
5.7.2 PageControl组件 127
5.8 特别输入与输出类和计时器组件 131
5.8.1 TrackBar组件 131
5.8.2 UpDown组件 131
5.8.3 ProgressBar组件 132
5.8.4 Timer组件 133
本章小结 134
练习 135
第6章 Delphi的语句 136
6.1 语句的一般概念 136
6.1.1 语句的书写规则 136
6.1.2 语句格式中的符号约定 136
6.2 赋值语句和注释语句 137
6.2.1 赋值语句 137
6.2.2 注释语句 137
6.3 if语句 138
6.3.1 简单条件语句 138
6.3.2 复合条件语句 139
6.4 Case语句 141
6.4.1 多分支选择结构 141
6.4.2 case语句的应用 142
6.5 循环结构 144
6.5.1 while语句 144
6.5.2 repeat语句 145
6.5.3 for语句 147
6.5.4 循环的嵌套 149
6.5.5 循环的中断 150
6.6 with语句 153
本章小结 153
练习 154
第7章 Delphi的高级数据类型 156
7.1 类型定义语句 156
7.2 枚举类型 156
7.2.1 枚举类型定义与变量声明 156
7.2.2 枚举类型的运算 157
7.3 子界类型 160
7.3.1 子界类型定义与变量声明 160
7.3.2 子界类型变量的运算 161
7.4 集合类型 161
7.4.1 集合与集合类型 161
7.4.2 集合类型定义与变量声明 162
7.4.3 集合类型数据的运算 164
7.5 数组及其应用 168
7.5.1 静态数组 168
7.5.2 动态数组 175
本章小结 177
练习 178
第8章 菜单、工具栏及对话框设计 179
8.1 创建主菜单 179
8.1.1 使用菜单设计器设计菜单 179
8.1.2 设计各种类型的菜单 181
8.1.3 设计图像菜单项 182
8.1.4 设计主菜单的例子 183
8.1.5 使用菜单模板设计菜单 185
8.1.6 ActionList行为列表组件 185
8.2 创建快捷菜单 187
8.3 创建工具栏 187
8.3.1 用ControlBar组件创建工具栏 188
8.3.2 用ToolBar组件创建工具栏 188
8.3.3 用CoolBar组件创建工具栏 193
8.4 创建状态栏 195
8.5 信息对话框设计 197
8.5.1 MessageBox函数 197
8.5.2 MessageDlg函数 198
8.5.3 MessageDlgPos函数 199
8.5.4 ShowMessage过程 200
8.5.5 ShowMessageFmt过程 200
8.5.6 InPutBox函数 201
8.5.7 InPutQuery函数 201
8.6 专用对话框设计 202
8.6.1 打开与保存对话框 202
8.6.2 颜色与字体对话框 203
8.6.3 打印与打印设置对话框 205
8.6.4 查找与替换对话框 206
本章小结 209
练习 209
第9章 多文档界面设计 210
9.1 MDI窗体的组成 210
9.1.1 父窗体 210
9.1.2 子窗体 211
9.2 MDI窗体的创建 211
9.2.1 窗体类型 211
9.2.2 窗体的自动创建 211
9.2.3 窗体的手动创建 211
9.2.4 动态创建子窗体 213
9.2.5 使用模板创建标准的MDI窗体 213
9.3 MDI的属性和方法 214
9.3.1 MDI的主要属性 214
9.3.2 MDI的主要方法 214
9.4 MDI窗体菜单设计 216
9.4.1 菜单合并 216
9.4.2 菜单覆盖 217
9.5 MDI窗体的应用举例 217
本章小结 222
练习 222
第10章 异常处理及程序调试 223
10.1 什么是异常处理 223
10.2 异常处理结构 224
10.2.1 try...except结构 224
10.2.2 try...finally结构 225
10.2.3 再次引发异常 226
10.2.4 异常类的派生 227
10.3 异常的类型 227
10.3.1 运行时间库异常(RTL Exception)类 228
10.3.2 对象异常类 232
10.3.3 组件异常类 233
10.4 改变程序的默认异常处理 234
10.5 异常保护 235
10.5.1 需要保护的资源 235
10.5.2 产生一个资源保护块 235
10.6 异常响应 236
10.6.1 使用异常实例 237
10.6.2 提供默认响应 237
10.6.3 响应一组异常 238
10.6.4 自定义异常类的应用 238
10.6.5 利用异常响应编程 242
10.7 调试程序简介 243
10.7.1 常见的错误类型 243
10.7.2 调试的准备和开始 244
10.7.3 程序运行的控制 245
10.7.4 断点的使用 247
10.7.5 监视数据的值 250
10.7.6 其他调试工具 252
本章小结 254
练习 254
第11章 文件管理 255
11.1 基本文件类型 255
11.1.1 文本文件 255
11.1.2 记录文件 255
11.1.3 类型文件 255
11.1.4 无类型文件 256
11.2 文件的基本操作 256
11.2.1 文件的打开与关闭常用函数 256
11.2.2 目录操作函数 267
11.2.3 文件名操作函数 269
11.3 文件操作组件 271
11.3.1 文件操作组件及其相互关系 271
11.3.2 文件操作组件的应用 272
11.4 目录管理 275
11.4.1 驱动器管理 275
11.4.2 获得特定目录 282
11.4.3 遍历文件夹 283
本章小结 287
练习 288
第12章 图形图像程序设计 289
12.1 图形图像组件 289
12.1.1 几何图形组件(Shape) 289
12.1.2 图像组件(Image) 292
12.2 使用TCanvas绘图 293
12.2.1 像素操作 293
12.2.2 画笔操作 294
12.2.3 画刷操作 298
12.2.4 使用字体 299
12.2.5 使用TCanvas绘图 300
12.3 图形编程技巧 300
12.3.1 图像的淡入淡出显示 300
12.3.2 图像动态显示 302
本章小结 304
练习 304
第13章 多媒体程序设计 305
13.1 Animate组件 305
13.1.1 Animate组件的常用属性 305
13.1.2 Animate组件的常用方法 307
13.2 MediaPlayer组件 310
13.2.1 MediaPlayer组件的属性 311
13.2.2 MediaPlayer组件的方法 313
13.2.3 MediaPlayer组件的事件 313
13.3 使用MediaPlayer组件 314
13.3.1 使用播放控制导航条 314
13.3.2 设置显示面板 315
13.3.3 自定义控制播放 316
本章小结 317
练习 317
第14章 数据库应用程序设计 318
14.1 Delphi数据库编程基础 318
14.1.1 数据库基本概念 318
14.1.2 Delphi 7的数据库辅助工具 319
14.1.3 Delphi的数据库特性及功能简介 327
14.1.4 数据库开发使用的组件简介 328
14.2 Delphi数据库应用程序的开发与设计 332
14.2.1 数据库应用程序的开发步骤 333
14.2.2 数据库应用程序的设计 334
14.3 数据连接组件 339
14.3.1 TTable组件 339
14.3.2 TQuery组件 342
14.3.3 TDataSource组件 344
14.3.4 TDataBase组件 345
14.4 数据连接组件应用 347
14.4.1 动态创建表 347
14.4.2 动态创建和删除永久字段 351
14.5 数据控制组件 352
14.5.1 数据控制组件的特性与属性 352
14.5.2 TDBText组件 354
14.5.3 TDBEdit组件 355
14.5.4 TDBMemo组件 355
14.5.5 TDBImage组件 355
14.5.6 TDBGrid组件 356
14.5.7 DBNavigator组件 362
14.5.8 TDBCtrlGrid组件 363
14.5.9 TDBListBox组件 364
14.5.10 TDBComboBox组件 364
14.5.11 TDBCheckBox组件 365
14.5.12 TDBRadioGroup组件 365
14.6 使用TTable组件编程 365
14.6.1 打开和关闭数据集 365
14.6.2 数据集的状态 366
14.6.3 添加数据集到TTable 366
14.6.4 操作数据集字段 367
14.6.5 移动记录 370
14.6.6 修改记录 372
14.6.7 记录的索引与排序 374
14.6.8 数据查找 375
14.6.9 数据过滤 380
14.6.10 明细表应用 382
14.6.11 计算字段和查找字段的应用 383
14.6.12 综合实例 384
14.7 使用TQuery组件编程 391
14.7.1 动态SQL表达式 391
14.7.2 使用TQuery执行SQL语句 393
14.8 SQL语言介绍 397
14.8.1 SELECT语句 398
14.8.2 INSERT语句 403
14.8.3 UPDATE语句 404
14.8.4 DELETE语句 404
14.9 事务处理 405
14.9.1 什么是事务 405
14.9.2 使用TDataBase组件实现事务 406
14.9.3 使用SQL语言实现事务 407
14.10 设计Rave报表 407
14.10.1 Rave报表组件概述 407
14.10.2 Rave报表的格式编辑 408
14.10.3 Rave报表设计举例 410
本章小结 413
练习 413
第15章 使用动态链接库 415
15.1 动态链接库(DLL)概述 415
15.1.1 什么是动态链接库 415
15.1.2 为什么要使用动态链接库 415
15.2 创建DLL 416
15.2.1 DLL工程 416
15.2.2 编写一般DLL的步骤 416
15.2.3 动态链接库中的标准指示 418
15.2.4 编写一般DLL的应用举例 418
15.3 调用DLL 418
15.3.1 Delphi中DLL的调用方式 418
15.3.2 静态调用 419
15.3.3 动态调用 420
本章小结 423
练习 424
参考文献 425