《计算机技术译林精选系列 Delphi 4开发大全(上)》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Steve Teixeira Xavier Pacheco
  • 出 版 社:人民邮电出版社
  • 出版年份:1999
  • ISBN:
  • 页数:786 页
图书介绍:

第一部分 快速开发的基础 3

第一章 Delphi 4下的Windows编程 3

1.1 历史的回顾 3

1.1.1 Delphi 1 4

1.1.2 Delphi 2 4

1.1.3 Delphi 3 4

1.1.4 Delphi 4 4

1.2 Delphi是什么 5

1.2.1 Delphi 4产品家族 5

1.2.2 可视化开发环境 6

1.2.3 优化的32位编译器 7

1.2.4 可伸缩的数据库访问 7

1.2.5 语言和库 7

1.3 Delphi 4的IDE 8

1.3.1 主窗口 8

1.3.2 工具栏 9

1.3.3 Form设计器 10

1.3.4 Object Inspector 10

1.3.5 代码编辑器 11

1.3.6 代码浏览器 11

1.4 源代码生成器 11

1.5 创建一个简单的应用程序 14

1.6 事件机制的优势在哪里 15

1.7 无约定编程 15

1.8 加速原型化 16

1.9 可扩展的元件和环境 16

第二章 Object Pascal语言 17

2.1 注释 18

2.2 新的过程和函数功能 18

2.2.1 圆括号 18

2.2.3 默认值参数 19

2.2.2 重载 19

2.3 变量 20

2.4 常量 21

2.5 运算符 23

2.5.1 赋值运算符 23

2.5.2 比较运算符 23

2.5.3 逻辑运算符 23

2.5.4 算术运算符 24

2.5.5 按位运算符 25

2.5.6 用于加减运算的过程 25

2.6 Object Pascal类型 26

2.6.1 类型的比较 26

2.6.2 字符 27

2.6.3 字符串 28

2.6.4 可变类型(Variant) 38

2.7.1 数组 48

2.6.5 Currency 48

2.7 用户自定义类型 48

2.7.2 动态数组 49

2.7.3 记录 50

2.7.4 集合 52

2.7.5 对象 54

2.7.6 指针 55

2.7.7 类型别名 57

2.8 类型强制转换 58

2.9 字符串资源 59

2.10 测试条件 59

2.10.1 使用if语句 60

2.10.2 使用case语句 60

2.11.1 for循环 61

2.11 循环 61

2.11.2 while循环 62

2.11.3 repeat...until 63

2.11.4 Break()过程 63

2.11.5 Continue()过程 63

2.12 过程和函数 64

2.12.1 传递参数 65

2.13 作用域 69

2.14 单元 70

2.14.1 uses子句 71

2.14.2 循环引用 71

2.15 包 72

2.15.1 使用Delphi包 72

2.15.2 包的语法 72

2.16 面向对象编程 73

2.16.1 基于对象与面向对象 74

2.17 使用Delphi对象 75

2.17.1 声明和创建实例 75

2.17.2 析构 75

2.18 方法 76

2.18.1 方法的类型 77

2.18.2 特性 79

2.18.3 可见性 79

2.18.4 友类 81

2.18.5 对象的秘密 81

2.18.6 TObject——所有对象的祖先 81

2.18.7 接口 82

2.19 结构化异常处理 86

2.19.1 异常类 89

2.19.2 执行的流程 90

2.20 运行期类型信息 93

2.19.3 再次触发异常 93

第三章 WIN32 API 95

3.1 对象——过去和现在 95

3.1.1 内核对象 95

3.1.2 进程 96

3.1.3 进一步介绍内核对象 97

3.1.4 GDI和用户对象 98

3.2 多任务和多线程 99

3.3 Win32内存管理 99

3.3.1 什么是线性内存模式 100

3.3.2 Win32怎样管理内存 100

3.4 Win32的错误处理 102

第四章 应用程序框架和设计 103

4.1 掌握Delphi环境和项目的体系结构 103

4.2.1 项目文件 104

4.2 构成Delphi 4项目的文件 104

4.2.2 单元文件 105

4.2.3 Form文件 105

4.2.4 资源文件 106

4.2.5 项目选项和桌面设置文件 106

4.2.6 后备文件 106

4.2.7 包文件 107

4.3 有关项目管理的提示 107

4.3.1 一个项目一个目录 107

4.3.2 代码中被共享的单元 107

4.3.3 多项目管理(项目组) 109

4.4 Delphi 4项目的框架类 110

4.4.1 TForm 110

4.4.2 TApplication 118

4.4.3 TApplication的方法 120

4.4.4 TApplication的事件 121

4.4.5 TScreen类 122

4.5 定义公共体系结构——使用对象库 123

4.5.1 应用程序的体系结构 123

4.5.2 Delphi固有的体系结构 123

4.5.3 体系结构的例子 123

4.5.4 子Form(TChildForm) 124

4.5.5 数据库基础模式Form(TDBModeForm) 127

4.5.6 数据库导航/状态Form(TDBNavStatForm) 128

4.6 一些项目管理的功能 134

4.6.1 在项目中添加资源 134

4.6.2 改变光标形状 137

4.6.3 防止出现一个Form的多个实例 138

4.6.4 在项目文件中增加代码 138

4.6.5 重载应用程序的异常处理 139

4.6.6 显示封面 142

4.6.7 使Form尺寸最小 144

4.6.8 运行一个无Form的项目 146

4.6.9 退出Windows 146

4.6.10 不允许关闭Windows 148

4.7 Windows 95认证 148

4.7.1 什么时候需要认证 148

4.7.2 适用于所有应用程序的条件 149

4.7.3 基于文件的应用程序需要满足的条件 149

4.7.4 实用程序需要满足的条件 150

第五章 理解消息 151

5.1 什么是消息 151

5.2 消息的类型 152

5.3 Windows消息系统是怎样工作的 153

5.4 Delphi的消息系统 154

5.5 处理消息 155

5.4.1 特殊的消息记录 155

5.5.1 消息处理:不是无约定的 158

5.5.2 对Result域赋值 158

5.5.3 TApplication的OnMessage事件 159

5.6 发送您自己的消息 159

5.6.1 Perform() 160

5.6.2 SendMessage()和PostMessage() 160

5.7 非标准的消息 160

5.7.1 通知消息 161

5.7.2 VCL内部的消息 162

5.7.3 用户自定义的消息 162

5.8 一个消息系统的剖析:VCL 164

5.9 消息与事件之间的关系 172

第六章 代码标准文档 173

6.1.2 边距 174

6.1.3 begin...end 174

6.1.1 缩进 174

6.1 一般的源代码格式规则 174

6.2 OBJECT PASCAL 175

6.2.1 括号 175

6.2.2 保留字和关键字 175

6.2.3 过程和函数(例程) 175

6.2.4 变量 177

6.2.5 类型 177

6.2.6 构造类型 178

6.2.7 语句 179

6.2.8 结构化异常处理 180

6.2.9 类 181

6.3.5 单元文件 183

6.3.4 远程数据模块文件 183

6.3.3 数据模块文件 183

6.3.2 Form文件 183

6.3 文件 183

6.3.1 项目文件 183

6.3.6 文件头 185

6.4 Form与数据模块 185

6.4.1 Form 185

6.4.2 数据模块 187

6.5 包 187

6.5.1 运行期包与设计期包 187

6.5.2 文件命名标准 188

6.6 元件 188

6.6.1 自定义的元件 188

6.6.2 元件实例的命名规则 189

6.6.3 元件的前缀 189

第七章 使用ActiveX控件 195

7.2 何时使用ActiveX控件 196

7.1 什么是ActiveX控件 196

7.3 把ActiveX控件加到元件选项板上 197

7.4 Delphi元件外套 199

7.4.1 外套文件是从哪来的 211

7.4.2 枚举 212

7.4.3 接口 212

7.4.4 TOleControl的派生类 212

7.4.5 方法 212

7.4.6 特性 213

7.5 在应用程序中使用ActiveX控件 214

7.6 发布带有ActiveX控件的应用程序 215

7.6.1 注册ActiveX控件 215

7.7 BLACKJACK:一个OCX示范程序 216

7.7.1 纸牌 216

7.7.2 游戏 219

7.7.3 调用ActiveX控件的方法 230

第二部分 高级技术 235

第八章 图像编程 235

8.1 TImage:显示图像 236

8.1.1 图像:位图、图元文件、图标 236

8.1.2 显示JPEG图像 237

8.2 使用TCanvas的特性 239

8.2.1 画笔 239

8.2.2 使用TCanvas.Pixels特性 247

8.2.3 刷子 247

8.2.4 字体 253

8.2.5 CopyMode特性 254

8.2.6 其他特性 259

8.3.2 用TCanvas画几何形状 260

8.3.1 用TCanvas画线 260

8.3 TCanvas的方法 260

8.3.3 画图的示范程序 261

8.3.4 用TCanvas输出文字 266

8.4 坐标系统和映射模式 271

8.4.1 设备坐标系 272

8.4.2 逻辑坐标系 272

8.4.3 屏幕坐标系 272

8.4.4 Form坐标系 272

8.4.5 坐标映射 273

8.4.6 设置映射模式 275

8.4.7 设置窗口/视区范围 275

8.4.8 关于映射模式的示范程序 276

8.5 创建一个绘画程序 282

8.5.1 Paint程序如何工作 298

8.5.4 依附到Win32剪贴链 299

8.5.5 复制位图 299

8.5.3 从剪贴板粘贴位图数据 299

8.5.2 TPanel 299

8.5.6 Paint程序的注释 300

8.6 编写动画程序 300

8.6.1 这个动画程序如何工作 304

8.7 高级字体 308

8.7.1 Win32字体类型 308

8.7.2 基本字体元素 308

8.7.3 GDI字体分类 310

8.7.4 显示不同字体 311

8.8 实际创建一种字体 311

8.8.1 这个程序是如何工作的 311

8.8.2 显示字体的有关信息 319

第九章 动态链接库 325

9.1 究竟什么是DLL 326

9.2 静态链接与动态链接 327

9.3 为什么要使用DLL 328

9.3.1 共享代码、资源和数据 328

9.3.2 隐藏实现的细节 328

9.3.3 自定义控件 329

9.4 创建和使用DLL 329

9.4.1 数数有几个美分(一个简单的DLL) 329

9.4.2 显示DLL中的模式Form 332

9.5 显示DLL中的无模式Form 334

9.6 在Delphi应用程序中使用DLL 336

9.6.1 显式调用DLL 338

9.7 DLL的入口和出口函数 340

9.7.1 进程/线程初始化和终止例程 340

9.7.2 DLL入口/出口示例 341

9.8.1 在16位Delphi中捕捉异常 345

9.8 DLL中的异常 345

9.8.2 异常和Safecall指示字 346

9.9 回调函数 346

9.9.1 使用回调函数 349

9.9.2 自定义的列表框 349

9.10 从DLL中调用回调函数 350

9.11 在不同的进程间共享DLL的数据 353

9.11.1 创建一个可以被共享数据的DLL 353

9.11.2 访问DLL中的共享数据 356

9.12 引出DLL中的对象 360

第十章 打印 367

10.1 TPrinter对象 368

10.2 TPrinter.Canvas 369

10.3 简单打印 369

10.3.1 打印TMemo元件中的内容 369

10.3.3 打印RTF格式的文本 371

10.3.2 打印位图 371

10.4 打印Form 372

10.5 高级打印 372

10.5.1 打印分栏报表 372

10.5.2 放弃打印进程 379

10.5.3 打印信封 380

10.5.4 抽象打印 380

10.5.5 一个简单的打印预览程序 393

10.6 其它打印任务 394

10.6.1 TDeviceMode结构 394

10.6.2 设置打印份数 397

10.6.3 设置打印方向 398

10.6.4 设置纸张尺寸 398

10.6.5 设置纸张的长度 398

10.6.6 设置页的亮度 398

10.6.9 设置打印质量 399

10.6.8 设置打印颜色 399

10.6.7 设置打印比例 399

10.6.10 设置双面打印 400

10.6.11 指定默认打印机 400

10.7 获取打印机信息 402

10.7.1 GetDeviceCaps()和DeviceCapabilities() 402

10.7.2 获取打印机信息的示范程序 403

第十一章 编写多线程应用程序 419

11.1 关于线程的解释 419

11.1.1 一种新型的多任务 420

11.1.2 线程的常规用法 420

11.1.3 不要滥用线程 420

11.2 TThread对象 420

11.2.1 TThread基础 421

11.2.3 线程终止 423

11.2.2 Thread实例 423

11.2.4 与VCL同步 425

11.2.5 一个演示程序 428

11.2.6 优先级和时序安排 429

11.2.7 挂起和唤醒线程 431

11.2.8 测试一个线程的时间 431

11.3 管理多线程 433

11.3.1 线程局部存储 433

11.3.2 线程同步 437

11.4 一个多线程的示范程序 450

11.4.1 用户界面 450

11.4.2 专门的搜索线程 459

11.4.3 调整优先级 464

11.5 多线程与数据库 467

11.6 多线程与图形处理 474

12.1.1 处理文本文件 481

12.1 处理文件的输入/输出 481

第十二章 文件处理 481

12.1.2 处理有类型文件 487

12.1.3 处理无类型文件 498

12.2 TTextRec和TFileRec结构 503

12.3 内存映射文件 504

12.3.1 内存映射文件的用途 504

12.3.2 使用映射文件 504

12.3.3 内存映射文件的一致性 512

12.3.4 文本搜索实用程序 512

12.4 目录和驱动器 521

12.4.1 获取可用的驱动器和驱动器类型的列表 521

12.4.2 获得驱动器信息 522

12.4.3 获取Windows目录 525

12.4.4 获得系统目录的位置 525

12.4.5 获取当前目录 526

12.4.6 在目录中查找文件 527

12.4.7 复制和删除目录树 530

12.4.8 获取文件的版本信息 533

12.4.9 获取版本号 541

12.4.10 获得操作系统信息 541

第十三章 核心技术 545

13.1 高级消息处理 545

13.1.1 Subclassing 546

13.1.2 Win32 API窗口过程 546

13.1.3 Delphi的窗口方法 548

13.1.4 HookMain Window() 551

13.2 防止出现应用程序的多个实例 553

13.3 使用BASM 558

13.3.1 BASM是怎样工作的 559

13.3.2 访问参数也很容易 559

13.3.4 完全用汇编写的过程或函数 560

13.3.3 Register调用约定 560

13.3.5 记录 561

13.4 使用挂钩 561

13.4.1 设置挂钩 561

13.4.2 使用挂钩函数 563

13.4.3 使用脱钩函数 563

13.4.4 使用SendKeys:一个Journal Playback类型的挂钩 563

13.5 使用C/C++的OBJ文件 578

13.5.1 调用一个函数 579

13.5.2 函数的名称问题 579

13.5.3 共享数据 579

13.5.4 使用Delphi RTL 580

13.6 使用C++类 587

13.7 Thunking 592

13.7.1 Generic Thunking 592

13.7.2 WM_COPYDATA 600

第十四章 获取系统信息 609

14.1 InfoForm——获取一般信息 609

14.1.1 格式化字符串 610

14.1.2 获取内存状态 611

14.1.3 获取OS版本信息 613

14.1.4 获取目录信息 614

14.1.5 获取系统信息 615

14.1.6 检查环境 617

14.2 平台中立 624

14.3 Windows 95/98:使用ToolHelp32 625

14.3.1 快照(Snapshots) 626

14.3.2 列举进程 627

14.3.3 列举线程 631

14.3.4 列举模块 633

14.3.5 列举堆 635

14.3.6 堆的视图 637

14.3.7 完整的源代码 639

14.4 Windows NT:PSAPI 650

第十五章 移植到Delphi 4 667

15.1 Delphi 4的新功能 667

15.1.1 哪个版本 667

15.1.2 单元、元件和包 668

15.2 从Delphi 3移植到Delphi 4 669

15.2.1 无符号的32位整数 669

15.2.2 64位整数 670

15.2.3 Real类型 670

15.3 从Delphi 2移植到Delphi 4 670

15.3.1 布尔类型 671

15.3.2 ResourceString 671

15.3.3 RTL的改变 671

15.4 从Delphi 1移植到Delphi 4 672

15.4.1 字符串和字符 672

15.3.4 TCustomForm 672

15.3.6 Automation服务器 672

15.3.5 GetChildren() 672

15.4.2 变量长度和范围 679

15.4.3 记录的排列 680

15.4.4 32位数学运算 681

15.4.5 TDateTime 681

15.4.6 单元结束代码 681

15.4.7 汇编语言 682

15.4.8 调用约定 682

15.4.9 动态链接库 682

15.4.10 Windows操作系统的变化 684

15.4.11 32位地址空间 684

15.4.14 Windows API函数的变化 685

15.4.13 VBX控件 685

15.4.12 32位资源 685

15.4.15 16位和32位并存 688

第十六章 MDI应用程序 691

16.1 创建MDI应用程序 691

16.1.1理解MDI基础 692

16.1.2 子Form 693

16.1.3 主Form 712

16.2 菜单 720

16.2.1 合并菜单 720

16.2.2 在菜单中列出打开的文档 721

16.3 杂类MDI技术 721

16.3.1 在MDI客户区输出一幅位图 721

16.3.2 创建一个隐藏的子Form 728

16.3.3 最小化、最大化、还原MDI子窗口 732

17.1 剪贴板的基础 735

第十七章 用剪贴板共享信息 735

17.1.1 文本 736

17.1.2 图像 737

17.2 创建您自己的剪贴板格式 738

17.2.1 创建一个剪贴板感知的对象 738

17.2.2 使用自定义的剪贴板格式 742

第十八章 多媒体编程 747

18.1 创建一个简单的媒体播放器 747

18.2 播放WAV文件 749

18.3 播放视频 749

18.3.1 显示第一帧 750

18.3.2 使用Display特性 750

18.3.3 使用DisplayRect特性 751

18.3.4 理解TMediaPlayer事件 751

18.3.5 DDGMPlay的源代码 752

18.5 创建音频CD播放器 754

18.4 设备支持 754

18.5.1 显示闪屏 755

18.5.2 开始编写CD播放器 757

18.5.3 更新CD播放器的信息 758

18.5.4 刷新CD播放器的方法 760

18.5.5 CD播放器的源代码 762

第十九章 测试与调试 771

19.1 常见的编程错误 772

19.1.1 在类的实例创建之前使用了它 772

19.1.2 确保类的实例被释放 773

19.1.3 驯服指针 774

19.1.4 使用未初始化的PChar 775

19.1.5 释放空指针 775

19.2.1 使用命令行参数 776

19.2.2 断点 776

19.2 使用内部集成调试器 776

19.2.3 逐行执行代码 778

19.2.4 使用Watch窗口 779

19.2.5 Inspector 779

19.2.6 计算和修改 779

19.2.7 访问调用栈 780

19.2.8 查看线程 781

19.2.9 事件日志 781

19.2.10 模块视图 782

19.2.11 调试DLL 782

19.2.12 CPU视图 783

19.3 TURBO调试器 784

19.3.1 CPU窗口 784

19.3.2 TD32的断点 785

19.3.3 模块视图 785