Delphi的安装 1
目录 1
文件概述 2
使用这本手册 2
使用在线帮助 3
使用交互式教学课程 3
手册惯例 3
与Borland的联系 4
Delphi简介 7
Delphi的开发环境 7
Delphi快速入门 7
第1章 7
第Ⅰ部分 7
启动Delphi 8
Delphi使用界面的基本组件 8
Delphi启动后即可见到的组件 8
窗体 8
窗体工具 9
构件模板 10
对象选择器 11
程序编辑器 11
对象监视器 11
快速图标栏 12
Delphi启动后不可见的组件 13
工程管理器 13
菜单设计工具 14
集成调试器 14
对象浏览器 14
图像编辑器 15
Delphi的开发模式 15
产生一个新的窗体 17
加入一个新的构件到窗体中 17
设计一个窗体 17
设置构件的属性值 18
Name的属性 19
执行程序 19
事件的处理 20
开始一个新的工程 22
从事件处理甸句柄中调用过程或函数 24
发行您的应用程序 25
Delphi的工程概述 26
工程(.DPR)文件 26
观察.DPR文件 27
DPR文件中的uses子句 27
单元(.PAS)文件 28
观察.PAS文件 29
.PAS文件的uses子句 30
窗体(.DFM)文件 30
.DFM文件中的类型说明 31
没有窗体的源程序单元 32
设置使用环境 33
访问环境设置 33
Gallery选项 33
UseonNewForm 34
UseonNewProject 35
使Gallery选项有效 35
DesktopContents选项 36
DesktopOnly 36
DesktopandSymbols 36
StepProgramBlock 37
IngegratedDebugging 37
Debugging选项 37
MinimizeOnRun 37
BreakOnException 37
FormDesigner选项(Grid) 37
Desktop 37
EditFiles 37
Autosave选项 37
Compiling选项 38
总结 38
第Ⅱ部分 41
基本技巧 41
第2章 41
使用构件和程序 41
Delphi构件 41
缺省的构件模板 42
窗体构件 42
安装额外的构件 49
管理窗体中的构件 49
设置窗体属性 50
Name属性 51
向窗体中加入构件 51
选择窗体中的构件 53
改变窗体中构件的大小 53
在窗体中加上一个构件的多个拷贝 54
组合构件 55
剪切、复制和粘贴构件 56
删除和恢复构件 57
对齐 58
利用窗体的网格(griu)作为对齐的基准 59
锁定构件位置 60
控制不可见构件的产生次序 60
设置构件属性 60
对象监视器如何显示属性 61
在对象监视器上用Tab跳跃到属性名称位置 62
显示及设置共有的属性 63
Name属性的有效范围(Scope) 63
利用属性编辑器 64
对话框编辑器 64
装入一个图像 64
改变图像大小 66
存储您的工程 67
在执行期间设置属性 68
在执行期间利用属性来设置窗体 68
程序的运用 69
产生缺省的事件处理句柄 69
将窗体显示为对话框 70
运用程序编辑器 71
查看程序编辑器 71
如何找到已有的事件处理句柄 72
找到缺省的事件处理句柄 72
将事件与事件处理句柄结合 73
利用Sender参数 74
显示和编写共享事件 75
修改一个共享的事件理句柄 76
删除事件处理句柄 77
自定义Delphi的可视化构件 78
库(VCL) 78
从库中加入和删除一个构件 79
加入VBX控制 80
存储构件的源程序 81
利用构件专家 81
处理一个失败的编译过程 81
利用自定义库 83
总结 84
第3章 86
建立窗体和菜单 86
什么是一个窗体? 86
设计可重用的窗体 86
共享窗体 86
使窗体可被其他窗体调用 87
使窗体可相互调用 87
修改共享的窗体 87
将一个窗体样板加入到工程中 88
使用浏览陈列室中的窗体样板 88
打开一个窗体样板作为参考 89
观察窗体和单元 90
建立窗体 91
利用常式来显示对话框 91
显示信息框 91
ShowMessage程序 91
MessageDlg函数 92
创建简单的输入窗体 94
覆盖输入字符 95
建立一个模式或非模式对话框 97
开发自定义对话框 97
显示一个非模式对话框 98
显示一个模式对话框 98
设置对话框的窗体属性 99
指定一个对话框的标题 100
提供命令按钮 100
按Esc时执行按钮程序 100
按Enter时执行按钮程序 101
当用户选择一个按钮时关闭对话框 101
生成标准的命令按钮 102
设置Tab次序 103
测试Tab次序 104
将一个构件从Tab次序中删除 105
使构件有效或失效 105
设置对话框中的焦点 106
在设计时设置焦点 106
在运行期间设置焦点 106
将一个窗体存成一个样板 107
将窗体文件存成ASCII文本 108
将文本文件转成.DFM格式 109
ASCII窗体的实例 109
MDI和SDI窗体 111
创建窗体菜单 113
打开菜单设计工具 114
建立菜单 115
菜单命名 116
菜单项命名 116
加入、插入和删除菜单项 117
加入分隔条 117
指定加速键和键盘热键 118
产生嵌套式(子)菜单 118
通过将现存菜单降层生成嵌套式菜单 119
移动菜单项 119
查看菜单 120
无需打开菜单设计工具来编辑菜单项 120
快速菜单命令 121
利用菜单设计工具的快速菜单 121
设计期间在菜单中进行切换 122
利用菜单样板 122
将菜单存储成样板 124
样板菜单项和事件处理句柄的命名规则 125
连接菜单事件和程序代码 126
菜单构件事件 126
处理菜单项事件 126
合并菜单 127
动态地加入菜单项 127
连接一个菜单项与一个现存的事件处理句柄 127
指定活动菜单:Menu属性 128
决定合并菜单项的顺序:GroupIndex属性 128
引入资源.RC文件 128
管理窗体在程序运行期间的动作 129
指定窗体为工程的主窗体 129
将窗体指定成自动生成 130
控制窗体的自动生成次序 130
总结 131
什么是工程 132
工程目录 132
管理工程、文件和目录 132
第4章 132
组成一个工程的文件 133
在设计期间生成的文件 133
编译器生成的工程文件 134
非Delphi资源文件 135
了解工程中的文件 136
工程的源程序(.DPR)文件 136
单元源程序(.PAS)文件 137
与窗体相关连的程序单元文件 138
过程和函数的程序单元文件 139
窗体程序单元的编译器指示 139
窗体程序单元的变量说明 139
窗体程序单元类型说明 139
构件的程序单元文件 140
单元目标(.DCU)文件 140
图形的窗体(.DFM)文件 140
开始一个新工程 141
利用工程样板开始一个工程 141
自定义工程选项 142
环境选项 142
AutosaveOptions 143
Gallery 143
陈列室选项 143
指定一个工程专家 144
指定缺省的新工程 144
指定一个工程样板 144
指定缺省新窗体 145
指定缺省主窗体 145
将样板加入到陈列室 145
工程选项 146
Default检查框 147
窗体选项 147
Application页 147
Title 147
Compiler页 148
Linker页 148
Icon 148
HelpFile 148
Directory和Conditional选项 149
管理工程内容 149
利用工程管理器 150
显示工程管理器 150
工程管理器窗口 150
工程管理器快速图标 151
工程管理器状态栏 152
工程管理器文件列表 152
工程管理器Path栏 153
将窗体和程序单元集成到工程中 154
生成新的窗体程序单元 155
生成新的源程序单元 155
生成一个新构件程序单元 155
利用一个属于不同工程或位于不同位置(共享文件)的文件 156
利用已有的BorlandPascal源程序单元 156
从工程中移除一个组成文件 156
存储工程和个别的工程文件 157
存储一个工程 157
程序单元和工程源程序文件的命名 158
后续的存储 158
工程的第一次存储 158
分别存储不同版本的工程文件 159
存储文件 160
File|Save和File|SaveAs 161
生成一个完整工程的备份 161
在工程构件中进行切换 162
观看窗体和程序单元 162
在窗体图像和程序单元源程序间切换 162
将一个窗口放置到前面 162
利用工程管理器来观看或编辑程序单元 163
检查源程序语法 164
观看工程源程序(.DPR)文件 164
编译、产生和运行工程 164
编译一个工程 165
获得编译状态信息 166
产生一个工程 166
运行一个工程 166
在WINDOWS环境中运行一个工程 167
管理多重工程版本和团体开发 167
启动团体开发支持 167
总结 168
编写ObjectPascal程序代码 171
程序的编写风格 171
编写可读性强的程序代码 171
程序语言概论 171
第5章 171
第Ⅲ部分 171
为程序代码做注释 172
编写赋值语句 173
给属性和变量赋值 173
标识符说明 175
变量说明 176
为变量命名 176
给变量指明类型 176
数据类型 178
类型和赋值兼容性 179
常量说明 180
调用过程和函数 181
调用过程 181
一个例子:剪切、拷贝、粘贴和全部清除 182
调用含有参数的过程 183
调用函数 184
以函数的返回值赋值 184
使用返回布尔值的函数可完成程序的跳转 185
if语句 187
控制程序代码的执行流程 187
在if语句中使用else部分 188
在if语句中编写多个语句 189
嵌套式if语句 189
case语句 191
编写循环语句 192
repeat语句 192
while语句 194
for语句 195
一个计数的例子 196
使用嵌套式for循环 197
ObjectPascal的程序模块 200
决定使用哪种循环 200
事件处理句柄中的程序模块 201
在程序单元中的程序模块 202
程序模块中的程序模块 203
了解范围 203
访问不在本范围中的说明 204
一个关于范围的例子 205
在一个不同的范围中重新 208
说明标识符 208
使用一个全局变量 208
编写一个过程或函数 211
编写一个程序或函数的标题部分 213
编写一个程序或函数的程序模块 214
过程或函数程序模块中的说明 214
类型说明 214
变量和常量的说明 215
说明部分的顺序 215
编写语句部分 215
为函数中赋一个返回值 215
在您的程序代码中放置过程或函数 216
前置说明 218
传递参数 220
数值参数 221
变量参数 223
常量参数 224
决定使用哪一种参数 224
定义新的数据类型 225
枚举型 225
子界型 228
数组类型 230
多维数组 231
字符串类型:字符数组 231
计算字符串的长度 233
集合型 234
记录型 236
一些有关对象的说明 237
了解ObjectPascal程序单元 238
什么是程序单元 238
程序单元的结构 238
接口部分 240
执行部分 240
初始化部分 241
如何使用程序单元 241
执行部分的uses句子 242
重新编写一个程序单元 242
在工程中加入一个已存在的程序单元 243
总结 244
第6章 249
用Delphi的对象编程 249
什么是对象? 249
检查一个Delphi的对象 249
改变构件的名称 252
从一个对象中继承数据和程序 254
对象、构件 256
对象范围 257
访问其他窗体上的构件 258
一个对象的范围和后代 258
公有域和私有域说明 259
重载一个方法 259
访问对象域和方法 261
给对象变量赋值 262
建立非可视化对象 265
建立一个对象的实例 266
撤消您的对象 266
总结 267
第7章 269
编写坚固可靠的应用程序 269
保护程序模块代码 269
处理异常事件 270
响应异常事件 270
执行错误处理程序代码 270
异常事件和执行流程 271
嵌套式异常事件响应 271
保护资源配置 272
什么样的资源需要保护? 273
建立一个资源保护程序模块 274
处理RTL异常事件 275
什么是RTL异常事件? 275
堆异常事件 276
整数运算异常事件 276
输入输出异常事件 276
类型转换异常事件 277
转换异常事件 277
硬件异常事件 277
建立一个异常事件处理句柄 278
异常事件处理句柄 279
使用异常事件实例 280
异常事件处理句柄的范围 281
提供缺省异常事件处理句柄 281
处理异常事件类 282
启动异常事件 282
处理构件异常事件 283
静异常事件 284
定义您自己的异常事件 285
说明一个异常事件对象类型 285
启动一个异常事件 286
设置异常事件地址 286
总结 286
第8章 288
使用集成调试器 288
错误的类型 288
逻辑错误 289
设计一个调试方案 289
运行错误 289
开始一个调试过程 290
生成调试信息 290
在您开始调试之前 291
执行你的程序 291
指明程序参数 292
控制程序执行 292
执行到光标位置 292
执行点 293
单步执行程序代码 293
TraceInto 293
调试您的应用程序的起始程序代码 294
StepOver 294
暂停程序 295
重新开始执行程序 295
执行到一个断点 295
使用断点 296
设置断点 296
无效的断点 297
在程序开始后设置断点 297
使用断点 297
使断点失效或无效 298
删除断点 298
观察和编辑在断点处的程序代码 298
修改断点属性值 299
建立状态断点 299
设置布尔值 300
使用通过次数 300
自定义断点和执行点颜色 301
检查程序数据值 301
观察表达式 301
格式化观察项表达式 302
使一个观察值失效 303
计算表达式 304
删除一个观察项 304
计算和修改表达式 304
修改变量值 306
观察函数调用 306
查看函数调用 307
处理硬体和语言异常 308
总结 309
使用字符串列 313
访问一个特定的字符串 313
统计一个串列中的字符串个数 313
在一个串列中处理字符串 313
第9章 313
应用程序实例 313
第Ⅳ部分 313
查找一个字符串的位置 314
在一个串列中加入字符串 314
在一个串列中移动一个字符串 315
从一个串列中删除一个字符串 315
拷贝一个完整的字符串列 316
顺序访问一个串列中的字符串 316
装入和存储字符串列 317
建立一个新的字符串列 317
局部字串列 318
全局字串列 319
把对象加入一个字符串列中 320
在一个字符串列中操作一个对象 321
访问相对应对象 322
加入对应的对象 322
总结 322
第10章 324
文本编辑器实例 324
多文档界面应用程序 324
FormStyle属性值 325
建立MDI框窗体 325
建立MDI子窗体 326
建立应用程序菜单 327
建立框窗体菜单 328
建立子窗口菜单 329
合并应用程序菜单 330
在运行时建立子窗口 331
调用其他的程序单元 331
在打开的子窗口下 333
对齐和访问打开的子窗口 333
编写窗口菜单命令程序代码 333
提供一个文本操作的区域 334
在一个菜单中包含一个打开文件的表 334
加入便笺构件 335
在一个便笺构件中处理文本 335
设置文本对齐和字卷行 336
设置文本对齐 336
动态地加入滚动条 337
在文本中使用剪贴板 338
选择文本 338
剪贴、拷贝和粘贴文本 339
删除文本而不改变剪贴板的内容 339
灰暗菜单项目 340
一个过程 341
说明一个方法 341
从一个事件处理句柄中调用 341
提供一个弹出式菜单 342
处理OnPopup事件 342
为窗体指明弹出式菜单 343
使用通用对话框 344
在对象监视器中通用对话框的选项 345
从一个通用对话框中激活Help按钮 345
使用OpenDialog构件 346
OpenDialog构件属性值 346
Filter属性值 347
指明文件过滤字符 347
打开一个已有的文本文件 348
说明一个窗体水平的变量 349
装入一个文件 350
使用Save对话框 351
SaveDialog构件属性值 351
存储文本文件 352
建立备份文件 353
使用字体对话框 354
字体对话框构件属性值 355
在便笺构件中改变字体 355
使用打印对象 356
打印文本文件 356
画布 357
字体 357
使用打印机对话框 357
Print对话框构件的属性值 357
MinPage/MaxPage 358
Options|poPageNums 358
Options|poPrintToFile 358
Options|poSelection 358
把你的文本文件导引到打印机中 359
处理File|PrintSetupOnClick事件 359
用户Printer对话框构件 359
PrintRange 359
下载文本 360
打印便笺的内容 361
退出 361
关闭一个窗口 362
关闭子窗口 362
确定是否文件已经被修改过 363
退出应用程序 364
总结 365
制图和画图的区别 367
第11章 367
在程序运行时绘图 367
使用像素数组 368
处理像素 368
读取像素的颜色 368
设置像素的颜色 368
使用画笔 369
移动画笔 369
画直线及折线 370
画一直线 370
使用画刷 370
画折线 371
绘制图形 371
制作矩形和椭圆的方法 372
制作圆角矩形的方法 372
制作多边形的方法 373
制作其他形状的图形 373
总结 373
画图程序实例 375
响应鼠标 375
第12章 375
什么是鼠标所产生的事件 376
响应鼠标的Mouse-down动作 376
响应鼠标的Mouse-up动作 378
响应鼠标的移动 379
在窗体对象上增加一个域 380
对绘制的线条作微调 382
跟踪起始点 383
跟踪移动过程 384
在窗体中加入一个工具条 386
在工具条中加入加速键 387
在工具条中加入一个加速键 387
设置加速键的起始状态 388
指定加速键上的图形 388
制作一组加速键 389
使用可切换状态加速键 389
响应鼠标的单击事件 390
响应被按下的鼠标 390
使用不同的工具来绘图 390
说明一个枚举变量类型 391
使用加速键来改变绘图工具 392
使用绘图工具 393
选择更有效的处理 393
如何绘制相应的图形 394
在窗体中加入一个处理方法 396
自定义您的笔和画刷 398
增加一个隐藏式工具条 398
隐藏和显示工具条 400
改变笔的风格 401
共用一个事件处理句柄 401
改变笔的颜色 402
改变笔的宽度 403
改变画刷的风格 403
改变画刷的颜色 404
增加一个状态条 404
配置显示板要显示的内容 405
装入一个状态条显示板 405
立体化显示板 406
更新状态条的内容 406
绘制位图 407
加入一个可滚动的区域 408
加入一个图象构件 408
加入一个构件 409
设置位图初始之大小 409
绘制位图 410
加入一个菜单 411
打印图形 412
处理图形文件 413
从文件中装入所要的图形 414
将图形存到文件中 414
取代现有的图形 415
用剪贴板来处理图形 416
将图形复制到剪贴板中 417
将图形剪切到剪贴板中 417
从剪贴板中粘贴图形 418
总结 419
装入需要的控制构件 421
生成一个文件管理器的窗体 421
配置窗体的内容 421
第13章 421
文件管理器实例 421
设计菜单 423
建立驱动器列表 424
找出可使用的磁盘 424
链接各个控制构件 425
响应标签的改变 425
响应目录列表的改变 426
响应文件列表的改变 427
作一个自行处理图形的控制构件 428
将控制构件设置成为自行处理图形的风格 428
将图形加入程序中 429
将图形对象加入至字符串串列中 429
将图像加入至字符串表中 430
绘制自行处理图形的项目 431
决定其大小 431
绘制每一项的内容 433
处理文件 433
删除文件 435
确认是否要删除文件 435
改变文件的属性 436
读取文件的属性 436
设置文件的属性 438
改变文件的部分属性 438
文件的移动、复制、和改名 439
运行程序 442
从文件列表中运行程序 442
拖放数据 443
开始一个拖曳动作 443
接受被拖曳的项目 444
放开拖曳的项目 445
结束拖曳动作 446
总结 446
DDE的对话 449
DDE的服务 449
使用DDE和OLE来交换数据 449
如何使用DDE 449
第14章 449
DDE的主题 450
DDE的项目 450
创建DDE客户程序 450
和DDE服务器的链接 452
请求数据 454
压入数据 455
控制其他程序 456
创建DDE服务器的程序 457
建立和DDE客户的链接 458
如何使用OLE 459
什么是OLE 459
OLE1.0和OLE2.0 460
在设计时和执行时创建对象 460
链接和嵌入 461
链接式对象 461
嵌入式对象 462
OLE的类 462
OLE的文件 462
如何生成OLE客户端程序 463
OLE的项目 463
OLE格式的数据文件 465
DEE和OLE的比较 466
总结 467
第15章 470
OLE的实例 470
生成一个MDI的框架 470
生成窗体和子窗体 471
加入OLE客户端构件 472
OLE程序菜单 472
生成框架的菜单 474
生成子窗体菜单 476
OLE对象的菜单项目 479
OLE的工具箱和状态条 480
设置工具箱和状态条 480
加入工具箱 481
加入状态条 481
插入对象 482
使用插入对象对话框 483
初始化OLE客户端 484
使对象失效 486
使用选择性粘贴对话框 488
粘贴对象 488
用剪贴板来使用OLE对象 492
注册贴簿的格式 492
指定OLE格式 493
粘贴OLE对象 495
拖曳对象 496
注册一个可以拖曳OLE对象的窗体 497
将一个OLE对象拖曳到我们的程序中 498
使用文件来处理对象 499
将对象存入文件中 500
从文件中读入对象 500
总结 502