图书介绍

C++ Builder 5程序设计大全PDF|Epub|txt|kindle电子书版本网盘下载

C++ Builder 5程序设计大全
  • (澳)Jarrod Hollingworth等著;康向东等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111093216
  • 出版时间:2002
  • 标注页数:1393页
  • 文件大小:172MB
  • 文件页数:1422页
  • 主题词:Builder

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++ Builder 5程序设计大全PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

作者介绍1

前言1

第一部分 C++Builder5基础1

第1章 C++Builder简介1

1.1 C++Builder基础1

译者序1

1.1.1 Hello World!从基本开始2

1.1.2 VCL、窗体和组件3

1.1.3 组件面板5

1.1.4 编写你最初的一个真正的程序7

1.1.5 熟悉C++Builder11

1.2 C++Builder5新增功能12

1.2.1 Web应用程序开发13

1.2.2 分布式应用程序13

1.2.5 调试14

1.2.6 数据库应用程序开发14

1.2.3 小组开发14

1.2.4 应用程序本地化14

1.2.7 开发效率15

1.2.8 随书工具光盘15

1.3 升级与兼容性问题15

1.3.1 升级早期版本的C++Builder16

1.3.2 在C++Builder5中使用现存的工程16

1.3.3 创建兼容以前版本C++Builder的工程16

1.3.4 其他工程升级问题的解答17

1.4 从Delphi的移植17

1.4.1 注释17

1.4.2 变量18

1.4.3 常数18

1.4.4 操作符19

1.4.5 控制程序流程21

1.4.6 函数和过程23

1.4.7 类24

1.4.8 预处理指令25

1.4.9 文件的类型26

1.5 C++Builder5优点和缺点27

1.5.1 真正的可视化:真正的快速应用程序开发27

1.5.2 跟上C++标准28

1.5.3 选择正确的开发环境29

1.5.4 C++Builder优点和缺点小结29

1.6 为Kylix做一些准备30

1.6.1 Kylix和C++Builder的相似之处30

1.6.2 Kylix和C++Builder之间的差异31

1.7 小结32

1.6.4 何时发布32

1.6.3 将C++Builder工程移植到Kylix32

2.1.1 C++Builder工程中使用的文件33

第2章 C++Builder工程及IDE详述36

2.1 理解C++Builder的工程36

2.1.2 工程管理器36

2.2 使用对象库36

2.2.1 增加项目到对象库中37

2.2.2 使用对象库中的项目40

2.2.3 在一个工程内共享项目41

2.2.4 定制对象库41

2.2.5 创建并增加一个向导到对象库中41

2.3 理解和使用包44

2.3.1 使用包的注意事项46

2.3.2 C++Builder运行期包47

2.3.3 使用tdurnp50

2.4.1 对象观察器中的属性类别51

2.4 C++Builder5的IDE新特征介绍51

2.4.2 对象观察器下拉列表中的图像52

2.4.3 XML工程文件格式54

2.4.4 以文本格式存储窗体56

2.4.5 Node-Leve选项58

2.4.6 新的To-Do列表60

2.4.7 Console Wizard62

2.5 小结64

第3章 C++Builder编程65

3.1 改善可读性的编程风格65

3.1.1 使用简短的代码65

3.1.2 代码布局的使用67

3.1.3 使用合理的命名方法72

3.1.5 使用注释77

3.1.4 代码结构的使用77

3.1.6 改善代码可读性的最后一个问题81

3.2 在C++Builder中更好地编程81

3.2.1 使用String类代替Char81

3.2.2 理解引用并适当地使用它们82

3.2.3 避免使用全局变量85

3.2.4 理解并在代码中使用const89

3.2.5 熟悉异常的原理92

3.2.6 使用new和delete管理内存95

3.2.7 理解和使用C++风张的类型转换99

3.2.8 了解何时使用预处理器100

3.2.9 了解和使用C++标准库102

3.3 参考文献103

3.4 小结104

4.1.1 理解C++模板105

第4章 C++Buiader高级编程105

4.1 标准C++模板105

4.1.2 探讨标准C++库功能108

4.1.3 掌握包容器和迭代器109

4.1.4 使用标准算法115

4.1.5 走近SCL116

4.2 使用智能指针和强大的包容器116

4.2.1 堆与栈116

4.2.2 指针116

4.2.3 强包容器120

4.2.4 缺陷121

4.2.5 智能指针和强大的包容器小结121

4.3 实现高级异常处理器122

4.3.1 检查策略122

4.3.3 替换编译器的缺省异常处理器123

4.3.2 检查优点123

4.3.4 加入特定工程信息到类124

4.3.5 异常处理器的源代码124

4.3.6 高级异常处理器小结141

4.4 创建多线程应用程序141

4.4.1 理解多任务142

4.4.2 理解多线程142

4.4.3 使用API调用创建一个线程142

4.4.4 理解TThread对象145

4.4.5 理解主VCL线程150

4.4.6 建立优先级152

4.4.7 计时线程154

4.4.8 同步线程155

4.5.2 软件设计中的可再用模式159

4.5.1 理解模式的可再用的本性159

4.5 设计模式介绍159

4.5.3 作为词汇表的设计模式160

4.5.4 设计模式格式160

4.5.5 设计模式分类161

4.5.6 有关设计模式的部分想法162

4.6 小结162

第5章 用户界面原则和技巧164

5.1 用户界面原则164

5.2 本章使用的工程实例166

5.3 通过给用户提供反馈改善可用性168

5.3.1 使用TProgressBar和TCGauge168

5.3.2 使用Cursor169

5.3.3 使用TStatrsBar170

5.3.4 使用Hints177

5.4.1 响应输入193

5.4 通过输入焦点的控制改痒可用性193

5.4.2 移动输入焦点198

5.5 通过外观改善可用性199

5.5.1 在按钮上只使用符号201

5.5.2 使用符号作为文本的附加202

5.5.3 使用颜色以提供可视化线索206

5.5.4 使用形状控件206

5.6 通过允许定制改善用户界面的可用性208

5.6.1 停放209

5.6.2 重定尺寸212

第6章 编译和优化你的应用程序215

5.6.3 使用TControlBar221

5.6.4 控制可见性232

5.6.5 定制MDI父窗体的客户区235

5.7 通过记住用户的优选改善可用性236

5.8.1 处理不同屏幕分辨率244

5.8 处理不同的屏幕条件244

5.8.2 处理不同字体尺寸245

5.8.3 处理不同颜色深度245

5.9 处理用户界面实现时的复杂性245

5.9.1 使用Action列表246

5.10 小结249

6.1 理解编译器如何工作251

6.2 加快编译速度252

6.2.1 预编译头文件253

6.2.2 加快编译速度的其他技术254

6.3 C++Builder5编译器和连接器的改进255

6.3.2 混合编译器的改进256

6.3.1 后台编译256

6.3.3 连接器的新改进257

6.4 优化:介绍257

6.5 招待速度的优化259

6.5.1 Crozzle Solver应用程序示例260

6.5.2 指数时间261

6.5.3 有关执行速度的工程选项263

6.5.4 检测瓶颈264

6.5.5 优化设计和算法268

5.9.2 共享事件处理器274

6.5.6 讨论使代码合理化的技术274

6.5.7 使数据合理化的技术286

6.5.8 手工调整汇编代码288

6.5.10 执行速度优化小结291

6.6.1 优化程序规模291

6.5.9 使用外部优化291

6.6 优化应用程序的其他方面292

6.6.2 最后的优化方面292

6.7 小结292

第7章 调试应用程序293

7.1 调试概述293

7.1.1 工程指导原则294

7.1.2 编程指导原则295

7.1.3 调试的任务296

7.2 基本调试技术296

7.2.1 输出调试信息297

7.2.2 使用断言302

7.2.3 实现全局异常处理器303

7.3 使用C++Brilder交互式调试器304

7.2.4 基本调试的其他问题304

7.3.1 高级断点305

7.3.2 C++Builder5中新的断点特征308

7.3.3 C++Builder中的调试视图308

7.3.4 监视、计算和修改313

7.3.5 Debug Inspector313

7.4 CodeGuard314

7.4.1 启用和配置CodeGuard315

7.4.2 使用CodeGuard316

7.4.3 检查CodeGuard中的错误及其起因317

7.5 高级调试321

7.5.1 查找非法访问的根源322

7.5.2 连接到运行中的进程323

7.5.3 使用刚好及时调试323

7.5.4 远程调试324

7.5.6 其他调试工具325

7.5.5 调试DLL325

7.6 测试327

7.6.1 测试的阶段和技术327

7.6.2 测试的提示328

7.7 小结329

第8章 使用VCL组件330

8.1 VCL概述330

8.1.1 从TObject开始331

8.1.2 建立在已有的对象的基础之上332

8.1.3 使用VCL333

8.1.4 C++扩展335

8.2 流机制341

8.2.1 高级流需求342

8.2.2 非发布属性的流342

8.3.1 通用控件动态链接库346

8.3 通用控件更新346

8.3.2 C++Builder通用控件更新348

8.4 多种VCL的强化351

8.4.1 新的Help Hint和Menu特点351

8.4.2 访问注册表351

8.4.3 VCL文件增强351

8.4.4 新的TapplicationEvents组件352

8.4.5 TIcon增强352

8.4.6 其他的各种VCL强化352

8.5.1 将TStringLIst作为容器使用353

8.5.2 存储非VCL对象353

8.5.3 将字符串连接到相同类型的对象354

8.5.4 创建一个事件链363

8.5.5 列表排序364

8.5.6 一些改进365

8.6.3 TToolBar组件366

8.6.2 TListVIew组件366

8.6.1 TTreeView组件366

8.6 高级定制绘制事件366

8.6.4 高级定制绘制事件范例367

8.7 ControlPanelApplet向导组件367

8.8 使用第三方组件374

8.8.1 第三方组件的优点的缺点375

8.8.2 到何处查找更多的C++Builder资源375

8.9 小结375

9.1 为什么要创建定制组长件377

第9章 创建定制组件377

9.2 理解组件的编写378

9.2.1 为什么以现有的组件为基础380

9.2.2 设计定制组件380

9.2.3 使用VCL图表380

9.3 编写非可视化的组件380

9.3.1 属性380

9.3.2 事件388

9.3.3 方法390

9.3.4 创建组件的异常392

9.3.5 命名空间394

9.3.6 响应消息395

9.3.7 设计期和运行期396

9.3.8 连接组件398

9.3.9 在组件之间连接事件400

9.4 编写可视组件402

9.4.1 从何开始402

9.4.2 TCanvas403

9.4.3 在组件中使用图形404

9.4.4 响应鼠标消息407

9.4.5 组合所有技术408

9.4.6 修改窗口组件415

9.5 创建定制的数据感知组件427

9.5.1 使控件只读427

9.5.2 建立连接428

9.5.3 使用OnDataChange事件430

9.5.4 变成数据编辑控件432

9.5.5 数据集更新433

9.5.6 最后增加一个消息435

9.6 注册组件436

13.5.3 TDataSetTaqbleProducer438

9.7 小结438

第10章 创建属性和组件编辑器439

10.1 创建定制的属性编辑器441

10.3.2 通过手工创建获得一个非VCL类型的TTyPeInfo*(PTypeInfo)446

10.1.1 GetAtributes()方法449

10.1.2 GetValue()方法449

10.1.3 SetValue()方法450

10.1.4 Edit()方法451

10.1.5 GetValues()方法455

10.1.6 使用TPropertyEditor属性455

10.1.7 选择适当的属性编辑器需要考虑的问题456

10.2 属性和异常457

10.3 注册定制属性编辑器458

10.3.1 从一个现有的非VCL类型的类和属性中获取一个TTyPeInfo*(PTypeInfo)459

10.3.3 如何获取非VCL类型和TTypeInfo*468

10.3.4 重载属性编辑器的规则468

13.8 Web安全性468

10.4 在属性编辑器中使用图像469

10.4.1 ListMeasureWidth()方法473

10.4.2 ListMeasureHeight()方法473

10.4.3 ListDrawValue()方法474

10.4.4 PropDrawValue()方法479

10.4.5 PropDrawName()方法480

10.5 安装编辑器包482

10.6 在属性编辑器中使用连接的图像列表483

10.6.1 GetAttributes()方法488

10.6.3 GetValues()方法489

10.6.2 GetComponentImgeList()方法489

10.6.4 ListMeasureWidth()和ListMeasureHeight()方法*490

10.6.5 ListDrawValue()方法491

10.6.6 PropDrawValue()方法493

10.6.7 绘制图像时需要考虑的其他问题495

10.6.8 连接到父类的TCustomImageList495

10.6.9 ImageIndex属性的通用解决方案499

10.7 创建定制组件编辑器504

10.7.1 Edit()方法508

10.7.2 EditProperty()方法512

10.7.3 GetVerbCount()方法513

10.7.4 GetVerb()方法513

10.7.5 PrepareItem()方法514

10.7.6 ExecuteVerb()方法519

10.7.7 COpy()方法520

10.9 在定制组件编辑器和属性编辑器中使用预定义图像522

10.8 注册组件编辑器522

10.9.1 将资源增加到包中523

10.9.2 在属性和组件编辑器中使用资源524

10.10 在定制组件中注册属性类别528

10.10.1 理解类别和类别的创建528

10.10.2 在类别中注册属性530

10.11 小结536

11.1.1 在对象观察器中显示类属性的发布属性538

第11章 定制组件的更多技巧538

11.1 定制组件的各种问题538

11.1.2 在事件参数列表中使用名字空间539

11.1.3 确定事件参数列表需注意的问题540

11.1.4 重载DYNAMIC函数544

11.1.5 在定制组件中处理消息545

11.1.6 在组件中使用Windows的回调函数558

11.1.7 选择基本的属性类型时的考虑566

11.1.8 允许在设计期和运行期使用用组件570

11.2 框架571

11.2.2 TCustomFramer类572

11.2.1 框架到底是什么572

11.2.3 在设计期使用框架573

11.2.4 在运行期使用框架574

11.2.5 创建TFrame的派生类574

11.2.6 由TFrame派生类继承577

11.2.7 重用框架578

11.3 组件发布和相关问题579

11.2.8 框架的小结579

11.3.1 将组件打包580

11.3.2 发布文件应该放在何处584

11.3.3 命名包和包的单元584

11.3.4 命名组件586

11.3.5 只发布设计期包586

11.3.6 为不同版本的C++Builder发布组件588

11.3.7 创建组件面板位图591

11.3.8 设计组个把时的有关发布的指导原则591

11.3.9 其他有关发布的问题592

11.4 小结592

12.1 串口通信593

第二部分 通信、数据库和Web编程593

第12章 通信编程593

12.1.1 协议594

12.1.2 状态机596

12.1.3 结构597

12.1.4 线程同步技术597

12.1.5 缓冲598

12.1.6 在串口通信中注释598

12.2 互联网协议--SMTP、FTP、HTTP、POP3599

12.2.1 遍历组件标签页599

12.2.2 一个聊天服务器例子600

12.2.3 一个聊天客户端例子604

12.2.4 一个Email应用程序例子607

12.2.5 一个HTTP服务器例子614

12.2.6 一个FTP客户端软件例子617

12.3 小结622

13.1 Web模块623

第13章 Web编程623

13.2.1 CGI624

13.2.2 WinCGI624

13.2.3 ISAPI/NSAPI624

13.2 Web服务器应用程序向导624

13.2.4 CGI或者ISAPI625

13.3 Web有Broker支持组件625

13.3.1 TWebDispatcher626

13.3.2 TWebModule626

13.3.3 TWebResponse628

13.3.4 TWebRequest628

13.4 Web服务器629

13.5 WebBroker生成组件632

13.5.1 TPageProducer632

13.5.2 TDataSetPageProducer635

13.5.4 TQueryTableProducer640

13.6 Web应用程序向导644

13.7 保持状态644

13.7.1 胖URL645

13.7.2 Cookies645

13.7.3 隐藏字段646

13.8.1 安全Socket层649

13.8.2 授权649

13.8.3 加密Web应用程序651

13.9 HTML和XML655

13.10 InternetExpress656

13.10.1 消费者订单656

13.10.2 TMidasPageProducer656

13.10.3 Web页编辑器657

13.10.4 分发658

13.10.5 最后的主/明细表659

13.10.6 Web页设计问题661

13.11 小结662

第14章 数据库编程663

14.1 数据库应用程序的结构模型663

14.1.1 Borland数据库引擎663

14.1.2 BDE原有(单层)664

14.1.3 BDE/SQL链接(客户/服务器)664

14.1.4 分布式(多层)665

14.1.5 数据访问方法666

14.1.6 原有组件666

14.1.7 使用BDE的ODBC666

14.1.8 使用原有组件的ODBC667

14.1.9 ADO(ActiveX)668

14.1.10 嵌入的SQL668

14.1.11 原有API669

14.1.12 数据库结构结论669

14.1.13 有关数据库结构更多信息的来源670

14.2 结构化查询语言670

14.2.1 表和索引670

14.2.2 参数671

14.2.3 insert、update、delete和select672

14.2.4 合计函数673

14.2.5 有关SQL的更多信息673

14.3 C++Builder的ADO特殊组件674

14.3.1 ADO与BDE比较674

14.3.2 组件一览675

14.3.3 数据库连接676

14.3.4 可访问的数据集677

14.3.5 用TADLTable访问数据集677

14.3.6 使用TADOConnand以访问数据集680

14.3.7 可管理的事务680

14.3.8 使用组件事件681

14.3.9 创建基本的数据库应用程序682

14.3.10 性能优化682

14.3.11 错误处理问题684

14.3.12 多层应用程序和ADO684

14.3.13 ADO特殊组件结论684

14.4 数据获取结构684

14.4.1 基本选择685

14.4.2 从多个源中提取数据686

14.5.1 什么是数据模块687

14.5 数据模块设计器687

14.5.2 为什么要用数据模块688

14.5.3 如何在应用程序、DLL和分布式对象中使用数据模块689

14.5.4 数据模块中有什么690

14.5.5 如何在我的数据柜里块中加入属性690

14.5.6 如何使用数据模块设计器691

14.5.7 高级内容693

14.5.8 用数据模块继承的窗体693

14.5.9 处理不规则的用数据模块继承的窗体694

14.5.10 如何在特殊的用户界面中避免依赖性695

14.5.11 如何在数据模块中共同使用特定应用程序和框架组件695

14.5.12 包中的数据模块697

14.5.13 数据模块设计器--结论697

14.6 InterBase Express698

14.6.1 Bug追踪者数据库计划698

14.6.3 发生器、触发器和存储过程700

14.6.2 数据库规则700

14.6.4 Bug追踪者实现程序702

14.6.5 Bug追踪器回顾709

14.7 小结709

第三部分 接口和分布式计算711

第15章 DLL和插件711

15.1 使用DLL向导711

15.2 编写和使用DLL712

15.2.1 静态连接DLL713

15.2.2 从动态连接的DLL中导入函数715

15.2.3 输出类719

15.3 使用包与DLL的比较721

15.4 在DLL中使用SDI窗体723

15.5 在DLL和包中使用MDI子窗体724

15.5.1 在DLL中使用MDI子窗体724

15.5.2 在包中使用MDI子窗体728

15.6 在C++Builder中使用微软VisualC++DLL731

15.7 在微软的Visual C++中使用C++Builder DLL731

15.8 编写插件732

15.8.1 解剖插件733

15.8.2 TIBCB5PlugInBase类737

15.8.3 TBCB5Pluginmanager740

15.8.4 插件回顾741

15.9 小结741

第16章 COM编程743

16.1 理解COM服务器和客户端743

16.2 再论输出接口和事件接收器744

16.3 编写COM服务器745

16.3.1 选择服务器类型745

16.3.3 创建服务器746

16.3.2 选择线程模式746

16.3.4 加入COM对象747

16.3.5 剖析生成的代码750

16.3.6 编写方法体754

16.3.7 加入更好的错误支持755

16.3.8 实现触发事件的方法758

16.3.9 实现一个定制接口758

16.3.10 触发定制的事件762

16.4 编写Proxy/Stub DLL766

16.5 编写客户端COM772

16.5.1 导入类型库772

16.5.2 查看生成的C++结构773

16.5.3 创建和使用COM服务器对象776

16.5.4 获得基于Dispinterface的事件777

16.5.5 查询定制的接口779

16.5.6 编写定制的基于接口的事件接收器780

16.6 推荐阅读784

16.7 小结785

第17章 走向分布式:DCOM786

17.1 DCOM是什么786

17.2 DCOMCnfg实用工具787

17.2.1 全局安全性设置787

17.2.2 每一服务器安全性设置789

17.3 现场测试DCOM791

17.3.1 创建服务应用程序791

17.3.2 创建客户端应用程序793

17.3.3 配置Launch和Access Permissions794

17.4 安全性编程796

17.4.1 CoInitializeSecurity函数参数796

17.3.4 配置Identity796

17.3.5 运行例子796

17.4.2 使用CoInitializeSecurity798

17.4.3 理解DLL客户端和安全性799

17.4.4 实现程序化访问控制799

17.4.5 实现接口范围的安全性801

17.4.6 使用Balnket802

17.5 小结809

18.1.1 COM+应用程序811

第18章 深入探讨:COM+811

18.1 COM+介绍811

18.1.2 COM+目录812

18.2 使用COM+服务812

18.2.1 松散耦合事件813

18.2.2 事务814

18.2.6 负载平衡性816

18.2.5 队列组件816

18.2.4 安全性816

18.2.3 同步性816

18.3 开发和使用COM+事件817

18.3.1 创建COM+事件对象817

18.3.2 在COM+应用程序中安装事件819

18.3.3 创建发布者822

18.3.4 创建订户823

18.3.5 配置订户826

18.3.6 创建一个永久署名827

18.3.7 创建一个临时署名828

18.4 开发和使用COM+事务对象837

18.4.1 为Business层创建事务对象838

18.4.2 开发补偿资源管理器846

18.4.3 创建客户端857

18.5 小结857

19.1 MIDAS介绍859

第19章 使用MIDAS3的多层分布式应用程序859

19.2 MIDAS客户端和服务器861

19.2.1 创建一个简单的MIDAS服务器861

19.2.2 检查MIDAS服务器注册864

19.2.3 创建一个MIDAS客户端865

19.2.4 使用Briefcase模式868

19.2.5 使用ApplyUpdates871

19.2.6 执行错误处理871

19.2.7 说明Reconcile错误874

19.2.8 远程访问服务器875

19.2.9 创建一个MIDAS主-明细服务器875

19.2.10 输出主-明细数据集878

19.2.11 创建一个MIDAS主-明细客户端878

19.2.12 使用嵌套表879

19.2.13 理解MIDAS带宽瓶颈881

19.3 MIDAS3增强883

19.3.1 TDataSetProvider883

19.3.2 TProvider与TAppServer884

19.3.3 无状态数据处理884

19.3.4 IntemetExpress应用程序889

19.3.5 WebConnection组件890

19.3.6 对象池891

19.3.7 Socket服务器892

19.3.8 对象代理895

19.3.9 分发895

19.4 小结896

第20章 使用CORBA的分布式应用程序897

20.1 CORBA介绍897

20.2.2 Always或On-demand898

20.2.1 静态和动态898

20.2 CORBA是如何工作的898

20.2.3 平面或分层899

20.2.4 谁是服务器,谁是客户端899

20.2.5 对象请求代理899

20.2.6 基本对象适配器899

20.2.7 便携对象适配器899

20.2.8 CORBA与COM899

20.3 Visibroker组件900

20.3.1 智能代理900

20.3.2 对象激活精灵900

20.3.3 控制台901

20.4 接口定义语言901

20.4.1 interface关键字901

20.4.5 异常902

20.4.4 类定义902

20.4.2 attribute关键字902

20.4.3 方法902

20.4.6 层次903

20.4.7 模块903

20.5 C++Builder5的新特点904

20.6 C++Builder新的考验CORBA905

20.6.1 Environment Options905

20.6.2 Debugger OPtions905

20.6.3 Project Options906

20.6.4 CORBA Server Wizard906

20.6.5 CORBA Client WIzard907

20.6.6 CORBA IDL File WIzard907

20.6.7 CORBA Object Implementation Wizard907

20.6.9 Use CORBA Object Wizard908

20.6.8 Project Updates对话框908

20.6.10 C++Builder和C++Builder5之间的不同909

20.7 实现程序模式910

20.7.1 层次911

20.7.2 虚拟实现程序层次911

20.7.3 授权模型911

20.8 穷人的CORBA912

20.9 小结912

第21章 集成微软Office913

21.1 集成微软Office概况913

21.2 如何集成914

21.2.1 使用TOleContainer916

21.2.2 使用Automation916

21.2.3 使用Vartant和Automation对象917

21.3.1 集合919

21.3 集成Word919

21.2.4 防范使用Autmation时的宏病毒919

21.2.5 使用Word Basic919

21.3.2 应用程序对象920

21.3.3 使用文档921

21.3.4 从Word中得到文本923

21.3.5 在Word中文档中放入对象926

21.4 集成Excel929

21.4.1 获得应用程序对象929

21.4.2 使用工作簿929

21.4.3 将单元格放到Execl工作簿中932

21.4.4 从Execl得到单元格933

21.5 使用C++Builder5的Server组件934

21.5.1 WordApplication和WordDocument组件935

21.5.2 再次讨论词汇表935

21.6.1 Word939

21.5.3 有关ATL和OleServers的最后想法939

21.6 更深入探讨939

21.6.2 Excel940

21.6.3 其他Office应用程序940

21.7 小结942

第22章 使用ActiveX技术943

22.1 理解活动服务器对象943

22.1.1 一个入门的例子:通过Active Server Object Wizard创建Response和Request对象944

22.1.2 ASP Session、Server和Application对象950

22.1.3 ASP对象和WebBroker支持951

22.1.4 再次分发活动服务器对象952

22.1.5 调试活动服务器对象953

22.2 ActiveForm介绍953

22.3 创建一个ActiveForm953

22.4.1 为ActiveForm设置选项955

22.4 在IE中分发一个要使用的ActiveForm955

22.4.2 连结到一个ActiveForm957

22.5 创建一个数据感知ActiveForm959

22.5.1 使用CAB文件和包961

22.5.2 ActiveForm更新961

22.5.3 OCCACHE和Downloaded Program Files962

22.6 创建ActiveForm作为MIDAS客户端963

22.7 在Delphi中使用ActiveForm964

22.8 使用ActiveForm创建组件模板965

22.9 Shell编程966

22.9.2 取出一个文件夹的内容969

22.9.3 传送Shell对象971

22.10 小结975

23.1 报告中的数据表示977

23.1.1 理解报告的价值977

第23章 C++Builder的数据表示977

第四部分 高级主题977

23.1.2 用QuickReport产生报告978

23.1.3 理解自定义浏览器的体系978

23.1.4 QuickReport自定义浏览器小结987

23.2 打印文本和图像987

23.2.1 打印文本987

23.2.2 打印图形996

23.3 使用高级打印技术1000

23.3.1 确定打印机分辨率1000

23.3.2 确定可打印纸张区域大小1001

23.3.3 确定物理尺寸1001

23.3.4 确定打印机绘图能力1001

23.3.5 怎样打印旋转字体1002

23.3.6 访问打印机配置信息1003

23.3.7 怎样得到缺省打印机名1004

23.3.8 怎样设置缺省打印机1005

23.3.9 重新设置TPuinter1008

23.3.10 用TPuinter访问DEVMODE的常用信息1009

23.3.11 使用PRINTER_INFO_21010

23.3.12 其他与纸张有关的函数1015

23.3.13 处理作业1022

23.3.14 怎样捕获PrintScreen键1024

23.3.15 打印窗体1025

23.3.16 创建打印预览1026

23.3.17 使用与打印机有关的变换例程1026

23.3.18 其他与打印机有关的信息1028

23.4 用TChart组件建立图表1029

23.4.1 开始学习TeeChart1029

23.4.2 在运行时改变图表的外观1030

23.4.3 与图表交互1031

23.4.4 动态建立图表1032

23.4.5 打印图表1033

23.4.6 升级到TeeChart Pro1034

23.5 小结1034

第24章 使用Win32 API1036

24.1 Win32 API与Win32中间件1036

24.2 Windows和API的历史概述1037

24.3 Win32 API功能范围1039

24.3.1 窗口管理1041

24.3.2 系统服务1042

24.3.3 图形设备接口1043

24.3.4 多媒体服务1043

24.3.5 通用控件和对话框1044

24.3.6 外壳特性1045

24.3.7 国际特性1046

24.3.8 网络服务1047

24.4 Windows程序的构造和操作1048

24.4.1 WinMain()1048

24.4.2 窗口句柄1049

24.4.3 Windows消息1050

24.5 使用API的实例1052

24.5.1 在程序中启动其他应用程序1052

24.5.2 基本的文件I/O1056

24.5.3 使用外壳的魔力1064

24.5.4 实现多媒体服务1073

24.5.5 使用全局惟一标识符1077

24.5.6 确定系统信息1078

24.5.7 闪现通知1087

24.5.8 添加系统支持1091

24.5.9 动画效果1092

24.5.10 美化应用程序1094

24.5.11 编写控制面板applet1102

24.6 小结1102

第25章 多媒体技术1113

25.1 图形设备接口1113

25.1.1 Windows API和设备描述表1114

25.1.2 理解TCanvas:C++Builaer接口1114

25.1.3 自定义绘制1116

25.1.4 模拟钟表例子1118

25.2 图像支持1118

25.2.1 Windows位图对象1118

25.2.2 TBitmap类1119

25.2.3 JPEG图像1119

25.2.4 GIF图像1120

25.2.5 PNG图像1121

25.3 图像处理1123

25.3.1 显示和获取图像信息1124

25.3.2 使用TCanvas-〉Pixels读取单个像素值1125

25.3.3 图像生成1126

25.3.4 使用ScanLine快速读取像素值1127

25.3.5 点操作:门限操作和彩色/灰度转换1128

25.3.6 全局操作:柱状图均衡1130

25.3.7 几何转换:缩放1132

25.3.8 空间操作:平滑和边缘检测1134

25.4 音频文件、视频文件和CD音乐1136

25.4.1 媒体控制接口1136

25.4.2 波形音频接口1141

25.4.3 波形音频接口小结1147

25.5 小结1147

26.1 OpenGL介绍1149

第26章 DirectX和OpenGL视级图形技术1149

26.1.1 OpenGL和Direct3D1150

26.1.2 OpenGL命令结构1150

26.1.3 在C++Builder中使用OnIdle()循环绘制1150

26.2 使用OpenGL1150

26.2.1 步骤1:OpenGL初始化1151

26.2.2 步骤2:用灯光和阴影设置绘制环境1155

26.2.3 步骤3:三维变换1157

26.2.4 步骤4:绘制图元1158

26.2.5 步骤5:置换表面1166

26.2.6 OpenGL例子程序1166

26.2.7 OpenGL小结1167

26.2.8 OpenGL参考1167

26.3 DirectX简介1167

26.4.1 初始化DirectDraw1168

26.4 使用DirectDraw1168

26.3.1 DirectX API的COM基础1168

26.3.2 非对象DirectX函数1168

26.4.2 为DirectDraw调整显示设置1170

26.4.3 绘制表面1171

26.4.4 在DirectDraw表面上使用GDI1173

26.4.5 把位图装载到表面1175

26.4.6 DirectDraw例子程序1179

26.4.7 DirectDraw小结1179

26.5 使用DirectSound1179

26.5.1 初始化DirectSound对象1180

26.5.2 创建从缓冲1181

26.5.3 DirectSound例子程序--多种声音播放器1187

26.6 深入DirectX1187

26.8 小结1188

26.7 DirectX参考1188

第五部分 C++Builder应用程序部署1189

第27章 创建帮助文件和文档1189

27.1 技术文档编写101--快速编写的10个步骤1190

27.2 文档类型1190

27.3 在线文档的策略1191

27.4 帮助格式1194

27.5 WinHelp格式帮助文件:Windows标准1194

27.5.1 帮助制作工具1195

27.5.2 上下文帮助1196

27.5.3 MS Help Workshop1197

27.5.4 What’s This?具有重要作用珈入到C++Builder1201

27.5.5 使用高级特性扩展帮助工程1202

27.6 Microsoft HTML帮助文件1202

27.7.2 帮助方法1204

27.7.1 Help属性1204

27.7 VCL中帮助属性和方法1204

27.7.3 事件1206

27.8 帮助制作工具资源1206

27.8.1 书籍1206

27.8.2 Internet上可以得到的帮助制作工具1206

27.9 小结1210

第28章 软件发布1211

28.1 语言的国际化和本地化1211

28.1.1 语言国际化综述1211

28.1.2 Localize应用程序1212

28.1.3 要记住的事情1217

28.2 Resource DLL Wizard1217

28.2.1 安如何工作1217

28.2.2 如何创建资源DLL1218

28.2.3 如何测试1219

28.3 要安装的其他文件和程序1220

28.3.1 应用程序文件1220

28.3.2 发布的步骤1222

28.4 版权和软件许可1223

28.4.1 版权1223

28.4.2 软件许可1224

28.5 软件保护1224

28.5.1 保护应用程序1224

28.5.2 使用第三方组件保护应用程序经1225

28.5.3 使用其他类型的组件保护应用程序1226

28.5.4 关于软件保护的一些考虑1227

28.6 共享件1227

28.6.1 共享件以及如何保护1227

28.7.2 客户支持1229

28.7.1 Web站点1229

28.7.3 广告1229

28.6.2 实现软件保护方法1229

28.6.3 共享件方法概括1229

28.7 通过Internet发布和销售1229

28.7.4 免费标语广告1230

28.7.5 接受信用卡和提供解锁代码1231

28.8 小结1232

30.11.3 使用轮廓1232

28.7.6 Internet销售提示1232

29.1.1 安装程序制作工具1233

第29章 软件安装与升级1233

29.1 安装和卸载1233

29.1.2 Install Maker1234

29.1.3 卸载1236

29.2 CAB和INF文件1237

29.2.2 INF文件1239

29.2.3 Internet上的文件包1242

29.3 版本、升级和补丁1245

29.3.1 版本1245

29.3.2 应用程序的升级1246

29.3.3 补丁1247

29.3.4 Patch Maker1247

29.4 版本控制和TeamSource1249

29.3.5 有关升级和补丁的一些注意事项1249

29.4.1 谁应该使用TeamSource1250

29.4.2 为什么要用TeamSource1250

29.4.3 什么时候应该用TeamSource1250

29.4.4 在哪里可以使用TeamSource1250

29.4.5 如何使用TeamSource1251

29.4.6 TeamSource窗口1255

29.4.7 版本控制工具1257

29.4.9 锁1258

29.4.8 书签1258

29.5 使用InstallShield Express1259

29.5.2 开始使用InstallShield1259

29.5.1 安装InstallShield1259

29.6 小结1265

29.5.3 测试1265

第六部分 编程技巧1267

30.1 用Enter键模拟Tab键1268

30.1.1 解决方案1268

30.1.2 代码说明1268

30.2.1 解决方案1268

30.2.2 代码1270

30.1.3 缺陷1270

30.2.3 确定OS版本小结1271

30.2 确定OS的版本1271

30.1.4 Tab键模拟小结1271

30.3.1 背景1273

30.3 使用浮点数编程1273

30.3.2 使用浮点数1274

30.3.3 加法和减法1275

30.3.4 执行算法的公式组合1278

30.3.5 比较数据1278

30.3.6 浮点数小结1278

30.4 实现splash界面1279

30.4.1 WinMain()函数1279

30.4.2 创建Spalsh界面1280

30.5 防止多个实例运行1281

30.5.1 解决方案1282

30.5.2 代码1282

30.5.3 多个实例运行小结1286

30.6 使用拖放操作1286

30.6.1 解决方案1287

30.6.2 代码1287

30.6.3 程序是如何工作的1289

30.6.4 拖放小结1290

30.7 捕获屏幕1290

30.7.1 Windows如何处理窗口1290

30.7.2 解决方案1291

30.7.3 捕获屏幕小结1295

30.8 实现TJoyStick组件1295

30.9 创建类Windows系统监视器的应用程序1305

20.9.1 Windows系统资源1305

30.9.2 解决方案1307

30.10 检验探测程序1313

30.9.3 系统监视器小结1313

30.11 使用树形视组件1320

30.11.1 树形视的基础1320

30.11.2 增加节点1321

30.11.4 导航树形视1324

30.11.5 访问节点1325

30.11.6 查找节点1326

30.11.7 显示节点数目1327

30.11.8 上移和下移节点1328

30.11.9 实现拖放1329

30.11.10 修改节点1331

30.11.11 删除节点1333

30.11.12 支持Undo和Redo删除1334

30.12 实现图标抽取应用1336

30.11.14 TTree小结1336

30.11.13 保存树1336

30.13 创建类Windows浏览器的应用程序1342

30.13.1 Windows外壳函数和接口1343

30.13.2 解决方案1343

30.13.3 Windows Explorer小结1348

30.14 使用NT服务1349

30.14.1 SendMsg程序1349

30.14.2 Stickums服务1351

30.14.3 Stickem客户程序1354

30.14.4 Windows服务小结1355

30.15 使用加密技术1355

30.15.1 解决方案1355

30.15.2 文件编码1358

30.15.3 文件解密1363

30.16 创建世界昼夜时钟1365

30.17 小结1371

第31章 一个现实的例子1372

31.1 检验World Wave Statistics程序1372

31.2 检验源代码1373

31.2.1 头文件math.h1373

31.2.2 头文件mapunit.h1374

31.2.3 头文件wavedata.h1374

31.2.4 源代码文件about.cpp1375

31.3 检验TMainUnit的代码1375

31.4 进行某些改进1379

31.5 小结1381

第七部分 附录1383

附录A 信息源1383

热门推荐