《C++ Builder高级应用开发指南》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:李幼仪,甘志编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7900643397
  • 页数:610 页
图书介绍:

第1章 引言 1

1.1 C++Builder的特性 2

1.2 C++Builder的版本 5

1.3 本书内容 5

1.4 本书的一些约定 6

第2章 面向对象的编程 7

2.1 C++语法介绍 8

2.1.1 基本数据类型 9

2.1.2 复杂数据类型 10

2.1.3 C++的操作符 12

2.1.4 建立新的类和对象 14

2.1.5 存取特性:私有、保护和公共 16

2.1.6 构造函数和折构函数 17

2.1.7 已有类型的继承 17

2.1.8 函数的重载 18

2.1.9 虚拟函数 22

2.1.10 异常处理 25

2.2 C++的高级特性和误区 27

2.2.1 虚拟析构函数 27

2.2.3 拷贝构造函数和“operator=” 28

2.2.2 对象成员的初始化次序 28

2.2.4 +=与+号的差别 31

2.2.5 函数返回值的问题 32

2.2.6 运行时类型识别 33

2.3 C++Builder扩展的语法 37

2.3.1 _classid关键字 37

2.3.2 _closure关键字 37

2.3.3 _property和_published关键字 39

2.4 C++与Object Pascal的比较 39

2.4.1 C++和OP对象的区别 39

2.5 小结 40

2.4.2 构造函数的区别 40

第3章 使用C++Builder 43

3.1 集成开发环境 44

3.1.1 主窗口 45

3.1.2 窗体设计器 48

3.1.3 对象观察器 50

3.1.4 代码编辑器 52

3.1.5 Code Explore 53

3.1.6 工程管理器 55

3.1.7 保存界面设置 56

3.1.8 To-Do列表 57

3.2.1 使用集成调试器 59

3.2.2 使用断点 59

3.2 调试C++Builder程序 59

3.2.3 使用CodeGuard 62

3.3 发布应用程序 65

3.4 自定义C++Builder环境 66

3.4.1 保存和分发C++Builder的配置信息 66

3.4.2 获得类似Visual C++的调试环境 66

3.5 小结 66

第4章 理解Windows消息机制 69

4.2 Windows的消息系统 70

4.1 消息的基本概念 70

4.3 C++Builder的消息系统 71

4.4 TApplication的OnMessage事件 73

4.5 利用消息映射截获消息 76

4.6 关于消息映射的深入讨论 80

4.7 重载WndProcO函数 81

4.8 非标准的消息 84

4.8.1 通知消息 84

4.8.2 自定义消息 85

4.9 自己发送消息 86

4.8.3 VCL内部消息 86

4.9.1 Perform() 87

4.9.2 SendMessage()和PostMessage() 87

4.9.3 Broadcast()和BroadcastSystemMessage() 87

4.9.4 一个范例 89

4.10 消息和VCL事件的关系 93

4.11 小结 93

第5章 DLL技术 95

5.1 创建动态链接库 96

5.2 生成对话框和输出函数 99

5.3 生成客户程序 102

5.4 小结 106

第6章 创建定制组件 107

6.1 修改已有的组件 108

6.2 增加新的属性 110

6.2.1 属性的类型 110

6.2.2 生成新属性的语法 111

6.3 安装新组件 112

6.4 为属性指定默认值 113

6.5 创建数组属性 114

6.6 创建自定义类型的属性 115

6.7 增加新的事件 117

6.8 编写属性编辑器 118

6.8.1 创建新的属性编辑器 118

6.8.2 获取文本编辑属性 119

6.8.3 指定属性编辑器的特性 120

6.8.4 注册属性编辑器 122

6.9 编写组件编辑器 123

6.9.1 增加菜单项目 123

6.9.2 改变双击时的行为 124

6.9.3 注册组件编辑器 125

6.10 在控件编程中处理消息 125

6.10.1 响应Windows的固有消息 126

6.10.2 生成鼠标敏感形式的界面 128

6.11 为组件指定面板位图 129

6.12 小结 130

第7章 COM技术概要 131

7.1 什么是OLE与COM 132

7.2 基本概念 132

7.2.1 实现IUnknown接口 132

7.2.2 COM的线程模型 133

7.3 使用OleContainer控件 134

7.4.1 使用向导生成COM服务器 139

7.4 建立进程内COM服务器 139

7.4.2 使用类型库编辑器 142

7.4.3 设置ATL选项 143

7.5 测试COM对象 144

7.6 编写和测试具有事件的COM对象 146

7.7. 编写Automation对象 147

7.7.1 Automation编程基础 147

7.7.2 编写Automation服务器 148

7.7.3 编写Automation控制器 151

7.8 ActiveX控件编程 153

7.8.2 建立ActiveX控件 154

7.8.1 在C++Builder中使用ActiveX控件 154

7.8.3 生成属性页 155

7.9 COM+新概念 156

7.9.1 COM+的发展过程 156

7.9.2 COM+的编程模型 157

7.9.3 COM+的事务处理模型 158

7.9.4 资源池(Resource Pooling)和对象池(Object Pooling) 160

7.10 创建COM+组件 161

7.11 COM+的事件模型 165

7.12 小结 166

第8章 编写多线程应用 169

8.1 理解线程和TThread对象 170

8.1.1 使用主线程 174

8.1.2 设定线程的优先级 178

8.2 编写线程函数 179

8.2.1 使用线程局部变量 180

8.2.2 检验其他线程发出的结束消息 180

8.3 协调线程 181

8.3.1 避免同时访问 181

8.2.3 进行清理工作 181

8.3.2 等待其他线程 183

8.4 执行线程对象 189

8.4.1 重载默认优先级 189

8.4.2 开始和停止线程 189

8.5 调试多线程应用程序 190

8.6 小结 190

第9章 编制专业的应用程序 191

9.1 在程序中调用其他的应用程序 192

9.2 在应用程序中动态创建VCL组件 198

9.3 使用注册表和INI文件 204

9.4 获取系统硬件信息 210

9.4.1 检测CPU的型号 211

9.4.2 检测内存状态 214

9.4.3 检测可用硬盘空间 215

9.4.4 检测CD-ROM 215

9.4.5 检测声卡配置 217

9.4.6 检测显示器信息 217

9.5 拖动无标题栏的窗体 219

9.6 创建任意形状的窗体 221

9.7 使用系统托盘区 226

9.7.1 使用API函数 226

9.7.2 使用TTrayIcon组件 232

9.8 图像的淡入淡出 235

9.9 拖放文件 239

9.10 用剪贴板共享信息 242

9.11 控制Windows的退出 246

9.12 实现历史文件菜单 248

9.13 把主菜单放到工具栏上 256

9.14 在程序中使用Office助手 258

9.14.1 Microsoft Agent技术的特点 258

9.14.2 Microsoft Agent的系统构成 259

9.14.3 在C++Builder中使用Microsoft Agent技术 259

9.14.4 一个范例 262

9.15 炫目的窗口动画 264

9.16 闪现通知 266

9.17 截获屏幕 268

9.18 小结 278

第10章 编写数据库应用程序 279

10.1 新增功能介绍 280

10.2 数据库应用的基础知识 281

10.2.1 数据访问组件 281

10.2.2 数据控制组件简介 283

10.3.1 数据库工作平台(Database Desktop) 284

10.3 C++Builder5的数据库工具 284

10.3.2 数据库资源管理器(SQL Explore) 293

10.3.3 数据字典 295

10.4 编写单层数据库应用程序 296

10.4.1 利用向导生成简单数据库应用程序 296

10.4.2 具有主从关系的数据库应用程序 300

10.4.3 使用查找字段(Look Field)和计算字段(Calculated Fields) 304

10.4.4 使用Data Diagram规划数据库应用程序 307

10.4.5 使用TQuery控件 309

10.5.1 ADO控件介绍 310

10.5 使用ADO控件组 310

10.5.2 使用ADO入门 311

10.6 利用Quick Report控件组建立报表 315

10.6.1 定制报表预览窗口 315

10.6.2 建立分组报表 322

10.7 利用决策支持组件进行数据分析 325

10.7.1 决策分析基础 325

10.7.2 决策分析的例子 326

10.7.3 如何建立决策分析程序 327

10.8 小结 329

第11章 编写多层数据库程序 331

11.1 多级数据库模式优点 332

11.2 基础技术 333

11.3 实例程序 335

11.3.1 建立应用程序服务器 335

11.3.2 建立瘦客户程序 337

11.4 更新异常处理 338

11.5 高级MIDAS特性 344

11.5.1 从客户端向应用服务器发送请求 344

11.5.2 控制数据记录传递的方式 345

11.5.3 利用公文包模式 346

11.5.4 参数化查询 347

11.5.5 主从数据库 348

11.6 小结 350

第12章 网络程序设计基础 351

12.1 Internet的历史 352

12.2 因特网的评议征求(RFC) 353

12.3 ISO参考模型以及TCP/IP参考模型 354

12.4 IP地址 357

12.5 端口号 359

12.6 利用C++Builder开发网络通信程序 361

12.7 小结 363

第13章 基于组件的Internet应用开发 365

13.1 E-mail客户端程序开发 366

13.1.1 NMSMTP和NMPOP3组件 366

13.1.2 E-mail收发程序 375

13.1.3 说明 384

13.2 编制WWW浏览器 385

13.2.1 TCppWebBrowser组件 385

13.2.2 一个浏览器程序 387

13.3 小结 393

第14章 WinSock通信程序的编制 395

14.1 利用组件开发WinSock程序 396

14.1.1 TClientSocket和TServerSocket组件 397

14.1.2 程序设计思想 398

14.1.3 建立服务器端Socket 399

14.1.4 建立客户端Socket 399

14.1.5 数据传输 400

14.1.6 一个聊天软件 401

14.2 利用API开发WinSock程序 407

14.2.1 基于API的套接字编程过程 407

14.2.2 套接字函数 408

14.2.3 IP、ICMP报文格式 428

14.2.4 编制Ping程序 432

14.3 小结 443

第15章 使用WinInet编写网络程序 445

15.1 WinInet 446

15.2 一个实例--断点续传 446

15.2.1 下载过程 447

15.2.2 初始化 449

15.2.3 文件下载 451

15.2.4 释放资源 453

15.3 小结 454

第16章 Web服务器程序的编制 455

16.1.2 统一资源定位符URL 456

16.1 基本概念 456

16.1.1 WWW的工作原理 456

16.2 Web服务器应用程序 457

16.2.1 公共网关接口 457

16.2.2 ISAPI和NSAPI 457

16.3 服务器扩展的运行 458

16.4 WebBroker技术 460

16.5 创建静态网页 461

16.5.1 Web应用程序对象 462

16.5.2 Web模块 462

16.5.4 动作项 463

16.5.3 Web派发器 463

16.5.5 用户请求报文 464

16.5.6 服务器响应报文 465

16.5.7 重定向Web站点 468

16.5.8 一个静态网页的范例 468

16.6 创建动态网页 471

16.6.1 网页生成器 471

16.6.2 动态网页范例 473

16.7 在网页中使用数据库信息 478

16.7.2 数据集网页生成器 479

16.7.1 会话对象 479

16.7.3 表生成器 480

16.7.4 使用数据库中的图像 481

16.7.5 使用MEMO字段 484

16.7.6 包含空格的字段名处理 485

16.7.7 利用隐藏标志记录客户信息 485

16.7.8 使用Cookie 487

16.7.9 范例 488

16.8 小结 500

第17章 基于Web的分布式多层应用 501

17.1.2 C++Builder提供的Web多层应用开发方案 502

17.1 基于Web的分布式系统结构 502

17.1.1 数据库应用系统结构的发展 502

17.2 InternetExpress技术 503

17.2.1 InternetExpress组件 503

17.2.2 使用JavaScript 504

17.3 使用InternetExpress开发普通的Web应用程序 505

17.4 使用InternetExpress开发分布式多层应用 509

17.4.1 开发应用程序服务器 510

17.4.2 开发Web应用程序 512

17.5.1 使用TXMLBroker组件 517

17.5 定制InternetExpress应用程序 517

17.5.2 使用TMidasPageProducer组件 519

17.6 InternetExpress技术的高级范例 522

17.6.1 开发应用程序服务器 522

17.6.2 开发Web应用程序 526

17.7 InternetExpress的扩充组件 534

17.8 小结 536

附录A C++Builder附带工具的使用 537

A.1 SQL Builder 538

A.2 SQL Explorer 539

A.3 WinSight32 540

A.4 InstallShield Express 541

A.5 使用TeamSource进行合作开发 543

A.5.1 TeamSource的源文件管理模型 543

A.5.2 开始使用TeamSource 544

A.5.3 指定本地目录 547

A.5.4 编辑用户列表 549

A.6 集成翻译环境 550

A.6.1 集成翻译环境的使用 550

A.6.2 建立Resource DLL 554

A.7.1 Coff2omf 556

A.6.3 如何更新Resource DLL 556

A.7 命令行工具的使用 556

A.7.2 Implib 557

A.7.3 Touch 557

A.7.4 Tdump 557

附录B 标准模板类库使用指南 561

B.1 介绍 562

B.1.1 容器和算法 562

B.1.2 迭代器 563

B.1.4 精制(refinement) 564

B.1.3 概念(concept)和模型(model) 564

B.1.5 STL的其他部分 565

B.2 容器类介绍 566

B.2.1 Sequence包含的容器类 566

B.2.2 Associative Containers包含的容器类 569

B.2.3 Container adaptors包含的容器类 578

B.3 标准算法介绍 580

B.3.1 非互斥算法 580

B.3.2 互斥算法 585

B.3.3 排序函数 600

B.4 小结 609