第1章 认识Delphi6 1
1.1 Delphi6简介 2
1.2 Delphi6集成性开发环境 4
1.2.1 加速栏(Speed Bar) 4
1.2.2 组件面板(Component Palette) 7
1.2.2.1 多页标签组件面板 7
1.2.2.2 组件面板的分类 7
1.2.2.3 如何加入组件 8
1.2.3 对象检查器(Object Inspector) 9
1.2.4 代码编辑器(Code Editor) 12
1.2.5 代码浏览器(Code Explorer) 17
1.2.6 窗体(Form) 18
1.3 鼠标右键功能菜单(Popup Menus) 19
1.2.7 对象树状视图 19
1.4 自定义桌面设置 20
1.5 预定工作表(To-Do List) 20
1.6 如何获取更多的相关信息 21
1.6.1 Delphi6使用手册 22
1.6.2 Delphi6联机帮助说明 22
1.6.3 Borland Web Site 25
1.6.4 Delphi深度历险网站 26
1.6.5 加入Delphi Chart 26
第2章 Delphi6程序结构 27
2.1 三秒钟完成第一个程序 28
2.2.2 工程文件(.DPR) 30
2.2 了解工程(Project) 30
2.2.1 什么是工程(Project) 30
2.2.3 窗体文件(.DFM) 35
2.2.4 程序单元文件(.PAS) 36
2.3 利用工程管理器(Project Manager) 39
2.4 工程选项设置(Project Options) 41
2.5 利用对象库(Object Repository) 43
2.5.1 使用对象库的对象 43
2.5.2 创建自己的对象库 45
第3章 Delphi6对象共同属性 49
3.1 与位置或大小有关的属性 51
3.2.1 BorderStyle属性 53
3.2 与显示或外表有关的属性 53
3.2.2 Color属性 55
3.2.3 Font属性 57
3.3 与Parent有关的属性 59
3.4 与引导有关的属性 61
3.4.1 Caption属性 61
3.4.2 TabOrder与TabStop属性 62
3.5 与拖动有关的属性 63
3.5.1 Drag-and-Drop自动拖动 64
3.5.2 Drag-and-Dock拖动 67
3.6 设置共同属性 69
3.7 Parent、Owner、Sender与Self 70
3.7.1 Parent与Owner 71
3.7.2 Sender 72
3.7.3 Self 74
第4章 Delphi6对象共同事件 75
4.1 使用默认的事件处理过程 76
4.1.1 如何使用默认的事件处理过程 76
4.1.2 如何编写共享的事件处理过程 77
4.2 鼠标事件处理过程 78
4.2.1 Mouse Down鼠标事件 79
4.2.2 Mouse Move鼠标事件 80
4.2.3 Mouse UP鼠标事件 81
4.2.4 鼠标事件综合练习 82
4.2.5 Click与DblClick鼠标事件 89
4.2.6 MouseWheel鼠标滚轮事件 90
4.2.7 MouseWheel Down鼠标事件 91
4.2.8 MouseWheel UP鼠标事件 91
4.3 键盘事件 93
4.3.1 KeyDown键盘事件 93
4.3.2 KeyUP键盘事件 96
4.3.3 KeyPress键盘事件 97
第5章 TForm对象 99
5.1 TForm对象的属性 100
5.1.1 与活动(Active)相关的属性 102
5.1.2 与图标(Icon)相关的属性 103
5.1.3 与视觉相关的属性 106
5.1.6 与菜单相关的属性 111
5.1.5 与绘图相关的属性 111
5.1.4 与引导相关的属性 111
5.1.7 与键盘相关的属性 114
5.1.8 与滚动条(ScrollBar)相关的属性 115
5.1.9 与控制组件相关的属性 117
5.2 TForm对象的操作方法 120
5.2.1 TForm对象取得与释放 121
5.2.2 TForm对象显示与隐藏 125
5.2.3 TForm对象产生方式 131
5.2.4 TForm对象焦点(Focus)设置 132
5.2.5 对象控制的操作方法 132
5.3 TForm对象的事件处理 133
5.3.3 拖动相关事件 134
5.3.4 创建与释放相关事件 134
5.3.2 键盘相关事件 134
5.3.1 鼠标相关事件 134
5.3.5 其他相关事件 139
第6章 Delphi6按钮控制对象 145
6.1 TButton对象 146
6.2 TBitButton对象 148
6.3 TToolBar对象 151
6.3.1 TToolBar对象属性 152
6.3.2 TToolButton对象属性 156
6.4 TCoolBar对象 158
6.4.1 TCoolBar对象属性 158
6.4.2 TCoolBand对象属性 159
6.5 TUpDown与TSpinEdit对象 161
6.6 TSpeedButton对象 163
6.7 TSpinButton对象 167
第7章 Delphi6文本控制对象 169
7.1 TEdit对象 170
7.1.1 TEdit对象的属性 172
7.1.2 TEdit对象的操作方法 176
7.1.3 TEdit对象的事件处理 182
7.2 TMaskEdit对象 183
7.2.1 TMaskEdit对象属性 183
7.2.2 TMaskEdit对象掩码字符 185
7.3 TMemo对象 187
7.4 TRichEdit对象 193
7.4.1 TRichEdit对象属性 195
7.4.2 TRichEdit对象操作方法 198
7.5 TLabel对象 201
7.6 TStringGrid对象 205
7.7 TLabeledEdit对象 208
第8章 Delphi6功能选择对象 211
8.1 TMainMenu对象 212
8.1.1 下拉式菜单的制作 212
8.1.2 TMainMenu对象属性 213
8.1.3 TMenultem对象 215
8.1.4 动态创建TMainMenu对象菜单 218
8.2 TPopupMenu对象 219
8.3.1 TListBox对象属性 221
8.3 TListBox对象 221
8.3.2 TListBox对象操作方法 225
8.4 TComboBox对象 228
8.5 TComboBoxEx对象 230
8.5.1 TComboBoxEx对象常用属性 231
8.5.2 TComboExItems对象 231
8.6 TRadioButton对象 239
8.7 TCheckBox对象 240
8.8 TCheckListBox对象 243
8.9 TTreeView对象 245
8.9.1 TTreeView对象常用属性与操作方法 246
8.9.2 TTreeNode对象 248
8.9.3 TTreeView对象与数据库 253
8.10 TListView对象 260
第9章 Delphi6分类对象 267
9.1 TGroupBox对象 268
9.2 TRadioGroup对象 268
9.3 TPanel对象 272
9.4 TScrollBox对象 275
9.5 TPageControl对象 276
9.5.1 TPageControl对象属性 277
9.5.2 TTabSheet对象 282
9.6 THeaderControl对象 289
第10章 Delphi6常用对话框(一) 295
10.2 MessageDlg对话框 296
10.1 ShowMessage对话框 296
10.3 MessageBox对话框 301
10.4 InputBox对话框 304
10.5 InputQuery对话框 305
10.6 OpenDialog与SaveDialog对话框 306
10.7 OpenPictureDialog与SavePictureDialog对话框 310
10.8 FontDialog与ColorDialog对话框 313
10.8.1 FontDialog常用属性与操作方法 314
10.8.2 ColorDialog常用属性与操作方法 317
10.9 PrintDialog与PrintSetupDialog对话框 319
10.9.1 PrintDialog对话框 319
10.9.2 PrintSetupDialog对话框 321
10.10 FindDialog与ReplaceDialog对话框 323
第11章 Delphi6常用对话框(二) 329
11.1 ShowMessagePos对话框 330
11.2 ShowMessageFmt对话框 331
11.3 MessageDlgPos对话框 336
11.4 CreateMessageDialog对话框 338
11.5 LoginDialog对话框 340
11.6 LoginDialogEx对话框 341
11.7 RemoteLoginDialog对话框 343
11.8 SelectDirectory对话框 345
11.9 PromptForFileName对话框 348
第12章 Delphi6文件目录管理对象 351
12.2 TDirectoryListBox对象 352
12.1 TDirveComboBox对象 352
12.3 TFileListBox对象 355
12.4 TFilerComboBox对象 358
12.5 TshellComboBox对象 359
12.6 TShellTreeView对象 362
12.7 TShellListView对象 364
12.8 TShellChangeNotifier对象 368
第13章 Delphi6图像与绘图管理对象 371
13.1 TCanvas对象 372
13.1.1 TPen画笔对象 378
13.1.2 TBrush笔刷对象 380
13.1.3 TFont字体对象 381
13.2 TShape对象 382
13.3 TImage对象 388
13.4 TImageList对象 390
13.5 TPainBox对象 391
13.6 TBevel对象 393
13.7 TScreen对象 393
13.8 TColorGrid对象 396
13.9 TColorBox对象 397
13.10 TAnimate对象 398
13.11 TMediaPlayer对象 400
第14章 Delphi6 Action管理对象 403
14.1 TActionList对象 404
14.2 自定义TAction对象 412
14.3 TActionManager对象 414
14.4 TActionMainMenu对象 415
14.5 TActionToolBar对象 416
14.6 TCustomizeDlg对象 417
第15章 Delphi6其他常用对象 419
15.1 TScrollBar对象 420
15.2 TProgressBar对象 424
15.3 TStatusBar对象 426
15.4 TTimer对象 429
15.5 TSplitter对象 433
15.6 TDateTimePicker对象 434
15.7 TMonthCalendar对象 437
15.8 TFrame对象 442
15.9 TApplication对象 445
15.10 TRegistry对象 450
15.11 TIniFile对象 453
15.12 TList对象 457
15.13 TStrings与TStringList对象 468
第16章 MDI应用程序 473
16.1 多文档界面(MDI)应用程序 474
16.2 利用对象库创建MDI应用程序 475
16.3 手动创建MDI应用程序 481
16.3.1 创建MDI应用程序主窗口 481
16.3.2 创建MDI子窗口 486
16.3.3 主窗口文件功能设置 490
16.3.4 创建其他的窗口(如AboutBox窗口) 492
第17章 Delphi6数据库程序设计(一) 497
17.2 Delphi6与数据库环境设置 498
17.1 数据库简介 498
17.2.1 BDE Administrator 499
17.2.2 Paradox、dBase及FoxPro的连接 500
17.2.3 MS SQL Server的连接 502
17.2.4 Oracle Server的连接 511
17.2.5 以ODBC连接Access数据库 520
17.3 Database Desktop 524
17.3.1 创建新的数据表(Table) 525
17.3.2 为数据表(Table)添加数据 526
17.3.3.1 以SQL命令查询数据库 528
17.3.3.2 以QBE访问异构数据库 528
17.3.3 查询数据表(Table)的数据 528
17.4 利用向导创建数据库程序 529
17.4.1 向导创建简单的数据库程序 530
17.4.2 向导创建Master-Detail的数据库程序 533
17.4.3 手动创建Master-Detail的数据库程序 539
17.5 数据库查询语言SQL(Structured Query Language) 540
17.5.1 SELECT命令 540
17.5.2 UPDATE命令 544
17.5.3 DELETE命令 545
17.5.4 INSERT命令 545
第18章 Delphi6数据库程序设计(二) 547
18.1 TDataSet对象 548
18.1.1 TDataSet对象状态 548
18.1.2 TDataSet对象属性 549
18.1.3 TDataSet对象操作方法 554
18.1.4 TDataSet对象的事件处理 564
18.2 TTable对象 573
18.2.1 TTable对象数据过滤 573
18.2.1.1 利用Filter属性进行数据过滤 573
18.2.1.2 利用onFilterRecord事件进行数据过滤 575
18.2.2 TTable对象数据搜索 577
18.2.2.1 Locate搜索 577
18.2.2.2 LoodUp搜索 579
18.3 TQuery对象 581
18.3.1 设计时期的TQuery对象 581
18.3.2 运行时期的TQuery对象 583
18.3.3 动态产生SQL语句 584
18.3.4 利用SQL语句动态查询(以Oracle为例) 587
18.3.5 利用SQL语句动态查询(以MSSQL为例) 590
18.4 TStoredProc对象 594
18.4.1 TStoredProc对象访问Oracle数据库 594
18.4.1.1 Oracle数据库的Stored Procedure 594
18.4.1.2 Oracle数据库的Stored Function 596
18.4.1.3 Oracle数据库的Stored Package 599
18.4.2 TStoredProc对象访问MS SQL数据库 602
18.4.2.1 MS SQL数据库的Stored Procedure(一) 603
18.4.2.2 MS SQL数据库的Stored Procedure(二) 604
18.4.2.3 MS SQL数据库的Stored Procedure(三) 606
第19章 Delphi6数据库程序设计(三) 609
19.1 数据库程序设计常用的对象 610
19.1.1 TDataModule对象 610
19.1.2 TDatabase对象 612
19.1.3 TDBGrid对象 616
19.1.3.1 TDBGrid对象的常用属性 616
19.1.3.2 TDBGrid对象的常用事件 621
19.1.4 TDBCtrlGrid对象 624
19.1.5 TDBNavigator对象 627
19.2 Delphi6的报表对象 628
19.2.1 Delphi6报表的概念 629
19.2.2 TQuickRep对象的常用操作方法 630
19.2.3 直列式(List)报表制作 630
19.2.4 标签式(Label)报表制作 635
19.2.5 分组式(Group)报表制作 638
19.2.6 Master/Detail报表制作 640
19.3 Delphi6的安装程序 643
第20章 Delphi6与ADO组件 653
20.1 何谓ADO(ActiveX Data Objects)组件 654
20.2 TADOConnection对象 656
20.2.1 TADOConnection对象常用属性 656
20.2.2 TADOConnection对象常用操作方法 667
20.2.3 TADOConnection对象事件处理 670
20.3 TADODataSet对象 675
20.3.1 通过TADODataSet对象获取数据 675
20.3.2 TADODataSet对象的批量更新处理 681
20.4 TADOTable对象 683
20.5 TADOQuery对象 685
20.6 TADOStoredProc对象 686
20.7 TADOCommand对象 688
第21章 Delphi6多线程程序 691
21.1 多线程(Multi-Thread)程序简介 692
21.2 第一个多线程程序 695
21.3 多线程与文件复制 704
21.4 多线程与数据库应用程序 710
第22章 编写Delphi6 VCL组件 713
22.1 如何编写Delphi VCL组件 714
22.2 加在组件面板上的图形文件 719
22.3.1 公开派生类的属性 722
22.3 创建组件属性(Property) 722
22.3.2 添加直接访问属性 723
22.3.3 设置属性默认值 725
22.3.4 添加间接访问属性 726
22.3.5 另一种间接访问属性 727
22.4 创建组件的操作方法(Method) 729
22.5 创建组件的事件(Event) 731
22.6 VCL组件制作实例 732
22.6.1 修改既有的VCL组件 732
22.6.2 制作对话框的VCL组件 737
22.6.3 制作访问注册表(Registry)的VCL组件 741
附录A Object Pascal程序设计(一) 747
A.1 Object Pascal程序结构 748
A.3 Windows应用程序 751
A.4 工程与程序单元文件 755
A.5 程序注释 756
A.6 变量声明 757
A.7 常量声明 759
A.8 语句(Statement) 759
A.8.1 赋值语句 760
A.8.2 过程与函数调用语句 760
A.8.3 Goto语句 760
A.8.4 复合语句 760
A.8.5 条件语句 761
A.8.6.2 While循环语句 763
A.8.6 循环语句 763
A.8.6.1 Repeat循环语句 763
A.8.6.3 For循环语句 764
A.8.6.4 循环中止语句 765
A.8.7 异常处理语句 766
A.8.7.1 try…except…end 语句 766
A.8.7.2 try…finally…end 语句 768
A.8.7.3 自定异常类 769
A.8.7.4 再次触发异常 770
A.9 过程(Procedure)与函数(Function) 770
A.9.1 过程(Procedure)的定义与声明 771
A.9.2 函数(Function)的定义与声明 773
A.9.3.1 传值参数 774
A.9.3 参数的传递 774
A.9.3.2 变量参数 775
A.9.3.3 常量参数 776
A.9.3.4 输出参数 776
A.9.3.5 参数默认值 777
A.9.3.6 数组参数 777
A.9.4 过程与函数的重载(Overloading) 778
A.10 程序块 779
附录B Object Pascal 程序设计(二) 783
B.1 表达式 784
B.2 运算符 785
B.2.1 算术运算符(Arithmetic Operators) 785
B.2.2 布尔运算符(Boolean Operators) 787
B.2.3 逻辑运算符(Logical Operators) 788
B.2.4 字符串运算符(String Operators) 790
B.2.5 集合运算符(Set Operators) 791
B.2.6 关系运算符(Relational Operators) 792
B.2.7 类运算符(Class Operators) 792
B.3 Simple Types(简单类型) 793
B.3.1 Integer Types(整数数据类型) 796
B.3.2 Character Types(字符类型) 797
B.3.3 Boolean Types(布尔类型) 798
B.3.4 Enumerated Types(枚举类型) 799
B.3.5 SubRange Types(子界类型) 801
B.3.6 Real Types(实数类型) 801
B.4 String Types(字符串类型) 802
B.5 Structured Types(结构类型) 803
B.5.1 Set Types(集合类型) 803
B.5.2 Array Types(数组类型) 803
B.5.3 Record Types(记录类型) 805
B.6 Pointer Types(指针类型) 808
B.7 Variant Types(变体类型) 809
附录C Delphi6 常用文件处理函数 811
C.1 目录处理函数 812
C.2 文件名处理函数 817
C.3 文件属性处理函数 823
C.4 文件处理函数 826
C.5 文本文件处理函数 833
C.6 类型文件(Typed File)处理函数 841
C.7 无类型文件(Untyped File)处理函数 847
附录D Delphi6 常用日期与时间函数 853
D.1 获取特定的日期与时间 854
D.2 日期处理函数 857
D.3 时间处理函数 872
D.4 比较与判断函数 882
D.5 日期与时间的编译与解译 893
D.6 日期与时间的转换函数 900
附录E Delphi6 其他常用函数 905
E.1 Pascal字符串处理函数 906
E.2 以Null结尾的字符串处理函数 930
E.3 数值处理函数 947
E.4 Variant处理函数 954