第1章 Delphi基础知识 1
1.1 Borland公司和Delphi 1
1.2 Delphi的特点 2
1.2.1 选择什么开发工具? 2
1.2.2 Delphi能做什么? 2
1.3 Delphi 7的集成开发环境 3
1.3.1 主窗体 3
1.3.2 对象树状视图窗口 4
1.3.3 对象观察器窗口 4
1.3.4 窗体设计器窗口 5
1.3.5 代码编辑器窗口 5
1.4 Delphi编程的一般步骤 7
1.4.1 控制台应用程序 8
1.4.2 可视化应用程序 9
1.5 工程、窗体和单元文件 12
1.5.1 工程文件 12
1.5.2 窗体文件 13
1.5.3 单元文件 14
习题一 15
第2章 Object Pascal语言基础 16
2.1 保留字和标识符 16
2.1.1 保留字(Reserved Words) 16
2.1.2 指令符(Directives) 17
2.1.3 标识符(Identifiers) 17
2.2 注释 18
2.3 常量与变量 18
2.3.1 常量 18
2.3.2 变量 20
2.4 数据类型 21
2.4.1 简单数据类型 22
2.4.2 字符串类型 29
2.4.3 结构类型(Structured Type) 30
2.4.4 记录类型和动态数组的综合举例 34
2.4.5 指针类型(Pointer) 38
2.5 运算符与表达式 39
2.5.1 算术运算符(+、-、*、/、div、mod) 40
2.5.2 逻辑运算符(not、and、or、xor) 40
2.5.3 关系运算符(=、<>、<、>、<=、>=) 41
2.5.4 位运算符(not、and、or、xor、shl、shr) 41
2.5.5 指针运算符(^、+、-、=、<>) 41
2.5.6 集合运算符(+、-、*、=、<>、in、<=、>=) 41
2.6.1 赋值语句 42
2.6 语句 42
2.6.2 条件语句 43
2.6.3 循环控制语句 45
2.6.4 with语句 47
2.7 过程与函数 48
2.7.1 过程和函数的声明 49
2.7.2 过程和函数的参数 50
2.7.3 过程和函数的调用 51
习题二 52
第3章 Delphi面向对象编程思想 55
3.1 面向对象的程序设计(OOP)的基本概念 56
3.1.1 封装性 56
3.1.2 继承性 56
3.1.3 多态性 56
3.3 类的声明 57
3.2 类和对象 57
3.3.1 类的数据成员(域) 58
3.3.2 类的方法成员 58
3.3.3 类的属性成员 58
3.3.4 类成员的可见性 58
3.4 类的实现 59
3.5 类的使用 60
3.6 构造方法和析构方法 65
3.6.1 构造方法 65
3.6.2 析构方法 66
3.7 类的继承 67
3.7.1 类继承的语法 67
3.7.2 类继承的应用 68
3.7.3 VCL的类库层次 73
3.8 多态性初步 74
3.8.1 静态方法 75
3.8.2 虚拟方法 78
3.8.3 动态方法 80
3.9 抽象类和抽象方法 81
3.10 类操作符 83
3.10.1 类型判断操作符is 83
3.10.2 类型强制转换操作符as 84
习题三 86
第4章 VCL组件基础 87
4.1 VCL基础 87
4.1.1 VCL组件的属性 88
4.1.2 VCL组件的方法 90
4.1.3 VCL组件的事件 91
4.1.4 VCL组件库 92
4.2 窗体 94
4.2.1 窗体的属性 94
4.2.2 窗体的事件 95
4.2.3 窗体的方法 95
4.2.4 静态创建窗体 96
4.2.5 动态创建窗体 97
4.3 Parent、Owner、Sender和Self 98
4.3.1 Parent与Owner 98
4.3.2 Sender 100
4.3.3 Self 101
4.4 基本VCL组件应用——按钮、标签和文本框 102
4.4.1 按钮(Button)组件 102
4.4.2 标签(Label)组件 103
4.4.3 文本框(Edit)组件 105
4.4.4 文本框事件的一般方法 109
习题四 110
第5章 VCL组件应用 111
5.1 备注框组件(Memo) 111
5.1.1 Memo组件的常用属性 111
5.1.2 Memo组件的应用 112
5.2 组框组件(GroupBox)和面板组件(Panel) 115
5.2.1 GroupBox组件 115
5.2.2 Panel组件 116
5.3 复选框(CheckBox)和单选按钮(RadioButton) 118
5.3.1 复选框(CheckBox) 118
5.3.2 单选按钮(RadioButton) 118
5.3.3 CheckBox和RadioButton的应用 119
5.4.1 位图按钮(BitBtn) 121
5.4.2 加速按钮(SpeedButton) 121
5.4 位图按钮组件(BitBtn)和加速按钮组件(SpeedButton) 121
5.5 单选按钮组组件(RadioGroup) 125
习题五 128
第6章 VCL组件应用(续一) 129
6.1 形状组件(Shape) 129
6.2 列表框组件(ListBox)和下拉列表框组件(ComboBox) 130
6.2.1 ListBox组件 130
6.2.2 ComboBox组件 134
6.2.3 ListBox和ComboBox的综合实例 137
6.3 计时器组件(Timer) 140
6.3.1 Timer组件的属性和事件 140
6.3.2 小球碰撞的实例 143
6.4 一个综合实例——彩票投注开奖模拟 146
习题六 155
第7章 异常处理与程序调试技术 156
7.1 异常处理概述 156
7.1.1 传统的错误处理方式 157
7.1.2 使用异常进行错误处理 157
7.2 异常处理的语法 159
7.2.1 try…except…end 159
7.2.2 try…except On…do…end 161
7.2.3 异常的重引发 163
7.2.4 try…finally 163
7.2.5 资源保护与异常处理的混合使用 165
7.2.6 自定义异常 166
7.3 程序的调试 166
7.3.1 程序中的错误 166
7.3.3 断点(Breakpoint)的使用 167
7.3.2 执行程序 167
7.3.4 运行到光标处 168
7.3.5 单步调试 168
7.3.6 观察窗(Watch List)的使用 169
7.3.7 Evaluate/Modify对话框 170
习题七 171
第8章 VCL组件应用(续二) 172
8.1 树状视图组件(TreeView)和列表视图组件(ListView) 172
8.1.1 树状视图组件(TreeView) 172
8.1.2 TreeView组件的属性、方法和事件 173
8.1.3 列表视图组件(ListView) 177
8.1.4 列表视图组件(ListView)的属性、方法和事件 178
8.2 跟踪条组件(TrackBar)和进度条组件(ProgressBar) 180
8.2.1 跟踪条组件(TrackBar) 180
8.2.2 进度条组件(ProgressBar) 184
8.3 Tab组件(TabControl)和多页组件(PageControl) 186
8.3.1 Tab组件(TabControl) 186
8.3.2 多页组件(PageControl) 188
习题八 194
第9章 对话框 195
9.1 对话框函数和过程 195
9.1.1 ShowMessage、ShowMessageFmt和ShowMessagePos过程 195
9.1.2 MessageDlg和MessageDlgPos函数 196
9.1.3 InputBox和InputQuery函数 198
9.1.4 MessageBox函数 200
9.2 公用对话框 201
9.2.1 “打开”对话框(OpenDialog) 201
9.2.2 “另存为”对话框(SaveDialog) 203
9.2.3 “字体”对话框(FontDialog) 204
9.2.4 “颜色”对话框(ColorDialog) 205
9.3 系统提供的About窗体 206
9.4 自定义对话框 207
习题九 210
第10章 菜单和工具栏 211
10.1 主菜单组件(MainMenu)和弹出式菜单组件(PopupMenu) 211
10.1.1 主菜单组件(MainMenu) 211
10.1.2 弹出式菜单组件(PopupMenu) 216
10.2 工具栏组件(ToolBar)和状态栏组件(StatusBar) 219
10.2.1 工具栏组件(ToolBar) 219
10.2.2 状态栏组件(StatusBar) 224
10.3 动作列表组件(ActionList) 226
10.4 CoolBar组件和ControlBar组件 229
10.4.1 CoolBar组件 230
10.4.2 ControlBar组件 231
10.5 动态菜单项和工具栏按钮 232
习题十 234
第11章 文件操作和管理 235
11.1 文件系统组件和外壳(Shell)组件 235
11.1.1 文件系统组件 235
11.1.2 外壳(Shell)组件 239
11.2 文本文件和有类型文件 241
11.2.1 文本文件 241
11.2.2 有类型文件 245
11.3 无类型文件 251
11.4 文件流(TFileStream)对象的操作 254
11.5 注册表读/写操作 258
习题十一 263
12.1 画布对象(TCanvas) 264
12.1.1 TCanvas对象的方法 264
第12章 图形、图像和多媒体技术 264
12.1.2 TPen和TBrush对象 267
12.2 图像编程技术 270
12.2.1 图像组件(Image) 271
12.2.2 JPEG图像的显示 271
12.2.3 图像格式转换 273
12.3 多媒体编程技术 277
12.3.1 动画组件(Animate) 277
12.3.2 多媒体播放组件(MediaPlayer) 279
12.3.3 RM格式媒体的播放 283
习题十二 286
第13章 数据库编程 287
13.1 Delphi自带的数据库 287
13.2 利用FormWizard进行简单的数据库编程 290
13.3.1 BDE简介 292
13.3 基于BDE的数据库应用程序开发 292
13.3.2 常用组件简介 294
13.3.3 使用Table组件进行数据库应用程序开发 295
13.3.4 使用Query组件进行数据库应用程序开发 313
13.4 基于ADO的数据库应用程序开发 320
13.4.1 常用组件简介 320
13.4.2 ADO编程 321
13.5 基于dbExpress的数据库应用程序开发 327
13.5.1 常用组件介绍 327
13.5.2 使用dbExpress连接SQLServer数据库 328
13.6 使用Rave组件制作报表 330
13.6.1 常用组件介绍 330
13.6.2 利用向导创建报表 331
习题十三 336
参考文献 337