当前位置:首页 > 工业技术
C++ Builder 4技术内幕
C++ Builder 4技术内幕

C++ Builder 4技术内幕PDF电子书下载

工业技术

  • 电子书积分:26 积分如何计算积分?
  • 作 者:(美)(K.赖斯多夫)Kent Reisdorph等著;徐新华译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2000
  • ISBN:7115084637
  • 页数:1038 页
图书介绍:
《C++ Builder 4技术内幕》目录
标签:内幕 技术

第一章 程序设计基础 1

1.1 本书的结构 2

1.2 精心设计程序 3

1.2.1 使代码简单 3

1.2.2 编程 4

1.2.3 对象编程 4

1.2.4 灵活地使用事件句柄 5

1.2.5 梳理 6

1.2.6 封装对象 6

1.2.7 简单的方法 7

1.2.8 给变量、方法命名 7

1.2.9 避免功能蔓延 8

1.2.10 创建元件 8

1.2.11 第三方工具 8

1.3.2 Borland/Inprise名称改变 10

1.3.3 关于代码的注释 10

1.3.1 建立网络 10

1.3 关于本书文字的注解 10

1.4 一些想法 11

1.5 总结 11

第二章 创建元件 13

2.1 为什么要创建元件 14

2.2 元件编写概述 15

2.2.1 入门 15

2.2.2 TUnlURLLabel元件 17

2.2.3 在构造函数中加入初始化代码 19

2.2.4 用Class Explorer加入特性 20

2.2.5 处理鼠标单击 21

2.2.6 测试 23

2.2.7 为元件提供图标 24

2.3 创建和使用包 24

2.3.1 包的类型 24

2.3.2 使用包管理器 25

2.3.3 创建注册单元 27

2.4 用聚合创建元件 28

2.4.1 创建TComboBox和TImage元件 31

2.4.2 窗口句柄 33

2.5 使用ComponentState特性 33

2.5.1 使用csDesigning元素 34

2.5.2 使用csLoading元素 36

2.6 公开基类的特性 37

2.7 TUnlClock元件 39

2.8 加入事件 45

2.8.2 用一个虚拟方法来点燃事件 46

2.8.1 定义一个事件句柄 46

2.8.3 创建用户自定义的事件 47

2.8.4 从事件句柄返回值 49

2.9 重载WndProc()函数 50

2.10 画出元件 52

2.11 总结 54

第三章 高级元件技术 55

3.1 编写特性编辑器 56

3.1.1 选择基类 57

3.1.2 派生特性编辑器类 58

3.1.3 重载GetAttributes()函数 60

3.1.4 重载Edit()函数 60

3.1.5 TPropertyEditor的其他特性和方法 61

3.1.6 注册特性编辑器 62

3.1.7 注册AnsiString类型的特性编辑器 63

3.1.8 特性编辑器的例子 65

3.2 编写元件编辑器 73

3.2.2 TComponentEditor的特性和方法 74

3.2.1 元件编辑器的基类 74

3.2.3 元件编辑器的例子 75

3.2.4 注册元件编辑器 76

3.2.5 在弹出式菜单中加入命令 76

3.2.6 通过元件编辑器修改元件 78

3.2.7 指定一个事件句柄 80

3.3 调试特性编辑器和元件编辑器 80

3.4 使用包 82

3.5.1 重载Loaded()函数 85

3.5 重载元件的虚拟方法 85

3.5.2 重载Notification()函数 86

3.5.3 重载CreateParams()函数 87

3.6 创建异常类 87

3.7 创建非可视元件 89

3.7.1 非可视元件的消息处理 89

3.7.2 在非可视元件中挂钩应用程序的窗口过程 93

3.8 总结 98

第四章 C++模板 99

4.1 C++Builder 4中新增的模板功能 100

4.2 有关模板的基本知识 101

4.3 函数模板 102

4.3.1 函数模板示例 102

4.3.2 宏与模板 104

4.3.3 函数模板的实例化 105

4.4 类模板 106

4.4.2 模板类的静态成员 108

4.4.1 类模板的实例化 108

4.4.3 继承性 109

4.4.4 理解模板语法 114

4.4.5 模板参数 115

4.4.6 模板参量 116

4.5 高级模板概念 118

4.5.1 模板成员函数和成员类 118

4.5.2 模板的定制 121

4.5.3 对模板实例化的控制 124

4.5.4 局部模板参量列表 125

4.5.5 模板的友元 127

4.5.6 头文件的组织 133

4.6 模板与标准模板库STL 134

4.6.1 使用容器 135

4.6.2 遍历器 135

4.6.3 使用vector容器 135

4.6.4 使用list容器 139

4.6.5 使用map容器 141

4.6.6 算法 142

4.7 综合 145

4.7.1 理解智能指针 145

4.7.2 计数对象 147

4.7.3 计数指针 147

4.7.4 给不可计数的对象计数 149

4.7.5 改进CountedPtr类 151

4.8 总结 152

第五章 线程 155

5.1 进程和内存 156

5.1.1 线程和多任务 158

5.1.2 有优先级和无优先级的多任务 159

5.2 简单的线程编程 160

5.3 进行多线程编程 165

5.3.1 在Thread2程序中使用线程 169

5.3.2 把一个参数传给线程函数 170

5.3.3 临界:使线程协同工作 172

5.4 使用互斥(Mutex) 178

5.5 线程与VCL 183

5.6 安全地访问数据库 184

5.7 VCL的线程安全对象 188

5.8 使用TThread对象 189

5.9 设置线程的优先级 196

5.10 C++Builder线程的回顾 203

5.11 总结 204

第六章 编写NT服务 205

6.1 理解NT服务 206

6.2.1 TServiceApplication 211

6.2 用C++Builder编写服务 211

6.2.2 TService 212

6.3 编写一个简单的服务 213

6.3.1 理解C++Builder自动生成的代码 216

6.3.2 服务线程和OnExecute事件 217

6.3.3 安装服务 217

6.3.4 测试服务 218

6.4 使用单独的线程 219

6.5 编写交互式服务 223

6.5.1 理解这个服务的线程 236

6.5.2 从服务中显示一个对话框 238

6.5.3 在交互式服务中处理托盘图标 240

6.5.4 处理托盘图标的鼠标消息 241

6.5.5 在用户登录后显示托盘图标 242

6.5.6 保存服务的配置信息 243

6.5.7 发送消息到事件日志 244

6.6 调试服务 246

6.7 分发服务 246

6.8 关于服务的一些思考 247

6.9 总结 248

第七章 使用TRichEdit元件 249

7.1 基础 250

7.2 取得和设置选择属性 251

7.2.1 切换字符样式 254

7.2.2 检测某种字符样式 255

7.2.3 理解ConsistentAttributes特性 256

7.3 段落 257

7.3.1 改变对齐方式 261

7.3.2 用对话框来设置段落选项 262

7.4 样式单 264

7.4.1 编写样式单类 265

7.4.2 样式列表 267

7.4.3 应用样式 272

7.4.4 在注册表中保存样式 276

7.4.6 让用户知道当前样式 279

7.4.5 加入、删除和编辑样式 279

7.5 打印 281

7.5.1 理解TRichEdit的打印功能 281

7.5.2 边距 284

7.5.3 打印部分文档 289

7.5.4 打印页眉和页脚 295

7.6 总结 300

第八章 字段与数据库工具 303

8.1 关系型数据库初步 304

8.1.1 关系型数据库的优势 305

8.1.2 关系型数据库的基础 306

8.1.3 用DBD或SQL Explorer显示索引和键 307

8.2 创建主键 310

8.2.1 数据和索引 311

8.2.2 主键和主索引 312

8.2.3 副索引和外键 313

8.2.4 用键关联信息 314

8.3 使用数据库工具 315

8.3.1 浏览BCDEMOS数据库的键和索引 315

8.3.2 使Database Desktop创建索引 318

8.3.3 创建别名 319

8.3.4 使用Database Desktop创建主键和外键 320

8.3.5 浏览引用完整性 321

8.3.6 关系型数据库和Join操作 322

8.3.7 Join与QBE 323

8.4 字段编辑器 324

8.5 计算字段 328

8.6 TDBGrid 329

8.6.1 设置TDBGrid的Options特性 333

8.6.2 在运行期显示栅格的选项 335

8.7 使用TDBGrid的列 336

8.7.1 改变栅格的标题 337

8.7.2 修改整列 338

8.7.4 修改列的宽度 339

8.7.3 改变行的颜色 339

8.7.5 隐藏或移动列 340

8.7.6 列出所有可见的字段 340

8.7.7 在运行期移动列 342

8.8 查找字段 343

8.9 多记录对象 350

8.10 总结 350

第九章 基于文件的数据库 353

9.1 示范程序概述 354

9.2.1 定义数据 355

9.2 设计一个应用程序 355

9.2.2 程序设计 358

9.3 设计程序的外观 361

9.4 使用查找字段和Category字段 363

9.5 设置程序的命令结构 365

9.6 检查应用程序的草稿 367

9.7 创建自己的对象 368

9.8 创建最终的程序 369

9.9 只读 393

9.10 排序 395

9.11 搜索 396

9.12 过滤 398

9.13 Marked字段 399

9.14 设置颜色 402

9.15 使用注册表 406

9.16 使用剪贴板 408

9.17 总结 409

第十章 关系数据库 411

10.1 现实世界中的数据 412

10.2 介绍关系型地址簿程序 413

10.3 分析KdAdd程序 417

10.3.1 建立索引 430

10.3.2 搜索 431

10.3.3 插入和取消 431

10.3.4 使用数据模块 433

10.4 使用KdAddExplorer程序 438

10.3.5 把错误字符串放在字符串资源中 438

10.4.1 使用TSession对象 439

10.4.2 分析KdAddExplore程序 441

10.4.3 使用TTreeView对象显示所有的数据库 448

10.4.4 展开TTreeView的节点 449

10.4.5 在TTreeView中列出所有的表 449

10.4.6 找出索引和字段 451

10.4.7 显示别名及其参数 452

10.5 总结 453

第十一章 使用Local InterBase Server 455

11.1 数据库和人才市场 456

11.2 InterBase入门 457

11.2.1 设置Local InterBase 457

11.2.2 配置InterBase别名 460

11.3 创建数据库 461

11.3.1 使用WISQL 461

11.3.2 创建表 463

11.4 用WISQL浏览数据库 463

11.5.1 创建TRANSACT程序 465

11.5 操纵事务 465

11.5.2 使用TRANSACT程序 467

11.5.3 理解事务 467

11.6 缓存更新 468

11.7 安全性与InterBase Server Manager 475

11.7.1 定义表的访问权限 476

11.7.2 通过InterBase Server Manager备份表 476

11.8 总结 477

第十二章InterBase编程 479

12.1 关于MUSIC程序 480

12.2 设计MUSIC程序 482

12.2.1 数据库结构 482

12.2.2 修改表的结构:空或非空 483

12.2.3 重新命名已有的字段 484

12.2.4 创建BLOB字段 486

12.2.5 主键与外键 486

12.3 创建MUSIC表的索引 489

12.4 生成器、触发器与存储过程 490

12.4.1 不要在活动的索引上使用触发器 491

12.4.2 使用存储过程 492

12.4.3 C++Builder与存储过程 492

12.5 服务器端规则和客户端规则 494

12.6 MUSIC程序的界面 495

12.7 使用子Form 497

12.8 分析Music程序 500

12.8.1 屏蔽口令:TDatabase对象 500

12.8.2 FormCteate事件 500

12.8.4 查询数据库 505

12.8.3 使用Lookup 505

12.8.5 不返回数据集的存储过程 510

12.8.6 查看某个范围的数据 511

12.9 总结 512

第十三章 COM和类型库 513

13.1 关于COM的一般性介绍 514

13.1.1 什么是COM 514

13.1.2 COM和Windows 514

13.1.4 COM的问题 515

13.1.3 即插即用的应用程序 515

13.1.5 COM与UNIX 516

13.1.6 COM+和未来的COM 516

13.2 创建和使用COM接口 516

13.2.1 COM接口是从IUnknown接口继承下来的 517

13.2.2 类型库 520

13.2.3 创建一个COM对象 520

13.2.4 使用COM对象 523

13.3.1 ActiveX服务器的项目文件 527

13.3 解剖一个C++Builder ActiveX服务器 527

13.3.2 服务器的对象实现文件 532

13.3.3 关于GUID和注册表的进一步说明 535

13.3.4 _TLB文件 538

13.3.5 虚拟方法表 546

13.4 总结 546

第十四章 创建COM Automation服务器和客户 547

14.1理解OLE Automation服务器和客户 548

14.2创建一个简单的COM服务器和客户 549

14.2.1 创建一个简单的服务器 549

14.2.2 在服务器中加入方法 550

14.2.3 创建一个简单的客户 554

14.2.4 通过TCOMInterface调用方法 560

14.2.5 通过调度接口调用方法 565

14.2.6 通过Variant调用方法 565

14.3 IDispatch、双重接口和调度接口 566

14.3.1 从Word中调用SimpleAutoServer 567

14.3.2 虚拟方法表和双重接口 568

14.4 类型库 570

14.4.1 什么是类型库 570

14.4.2 创建类型库 571

14.4.3 合法的Automation类型 572

14.5 注册 572

14.6 自动汇合数据 575

14.7 从一个CoClass中获得两个或更多的接口 575

14.7.1 调用CoCreateInstance 592

14.8 总结 593

第十五章 使用C++Builder操纵Word和Excel 595

15.1 操纵Office程序的系统需求 596

15.2 C++Builder如何操纵Excel 597

15.2.1 启动Excel 597

15.2.2 使用COMObj 599

15.2.3 简单地操纵Excel 599

15.2.4 创建Excel Automation对象 602

15.3.1 在Application对象中访问其他对象 603

15.3 理解Excel Automation对象 603

15.3.2 使用Automation 604

15.4 在Excel和Word之间共享图表 615

15.4.1 创建一个电子表格 620

15.4.2 创建一个图表 622

15.4.3 使用SeriesCollection对象 623

15.4.4 将数据从Excel复制到Word中 626

15.4.5 创建一个Word文档 626

15.4.6 邮寄文档 629

15.5 总结 630

第十六章 用C++Builder连接Internet 631

16.1 安装TCP/IP协议 632

16.2 用PING命令检测Internet连接 634

16.2.1 简单的PING方式 634

16.2.2 用ICMP.DLL 636

16.2.3 获取更多的Ping信息 645

16.2.4 用原始的Socket进行Ping操作 648

16.3 通过RAS连接Internet 648

16.3.1 在应用程序中使用RAS 649

16.3.2 使用电话簿 650

16.3.3 利用RAS进行拨号 652

16.3.4 动态装载RAS DLL 662

16.3.5 检测网络连接 663

16.3.6 列举电话簿条目 666

16.3.7 拨号 668

16.3.8 使用RAS回调函数 669

16.3.9 终止连接 671

16.4 在Win9x下用RNAAPP.EXE进行拨号 672

16.5 总结 672

第十七章 WebBroker:CGI和ISAPI 675

17.1 启动Web Server Application向导 676

17.1.1 ISAPI/NSAPI 677

17.1.2 CGI 677

17.1.3 WinCGI 677

17.1.4 比较Web Server Application的选项 677

17.2.1 TWebDispatcher 678

17.2 WebBroker元件 678

17.2.2 TWebModule 679

17.2.3 TWebResponse 680

17.2.4 TWebRequest 680

17.2.5 GET与POST 680

17.3 IntraBob 681

17.4 TPageProducer 684

17.5 TDataSetPageProducer 687

17.6 浏览状态 689

17.6.2 Cookie 690

17.6.1 胖URL 690

17.6.3 隐藏的域 691

17.7 高级页面生成 693

17.8 TDataSetTableProducer 701

17.9 Database Web Application向导 704

17.10 TQueryTableProducer 704

17.11 总结 709

第十八章 Win Inet与FTP 711

18.1.2 确认FTP正在工作 712

18.1 理解WinInet和FTP 712

18.1.1 必需的文件 712

18.2 使用WinInet进行FTP 714

18.2.1 使用InternetOpen()函数 715

18.2.2 使用InternetConnect 716

18.2.3 获取当前目录 718

18.2.4 在目录中查找文件:FindFiles()函数 718

18.2.5 把文件保存在一个列表中 721

18.2.6 检索一个文件:FtpGetFile()函数 722

18.2.7 创建一个回调函数 724

18.2.8 检索一个文件:GetFile2()函数 727

18.2.9 发送文件到服务器 729

18.2.10 删除文件 730

18.2.11 创建和删除目录 730

18.3 使用FTP类 732

18.3.1 连接服务器 742

18.3.2 响应OnNewDir事件 743

18.3.3 更改目录 744

18.3.4 跟踪文件的传输 745

18.4 总结 747

第十九章 DCOM 749

19.1 COM与分布式体系结构 750

19.1.1 在Windows 9x/NT下运行DCOM服务器 750

19.1.2 将Windows 98用作DCOM服务器 752

19.2简单的DCOM客户和服务器 753

19.2.1 建立服务器程序 753

19.2.2 在机器间汇合数据 754

19.2.3 创建DCOM客户 764

19.2.4 使用远程对象 769

19.3 SystemInformation程序 769

19.3.1 理解服务器 776

19.3.2 SYSINFO客户 778

19.4 测试远程调试系统 779

19.5 总结 780

第二十章 MIDAS 781

20.1 多层计算概述 782

20.1.1 什么是MIDAS 783

20.1.2 分布式计算的目的 784

20.1.3 关于公文包模式的概述 784

20.1.4 术语 785

20.1.5 查找Broker 785

20.2 技术细节:使用分布式数据集 786

20.2.1 建立一个简单的MIDAS应用程序 787

20.2.2 创建SimpleMidasServer 797

20.2.3 理解服务器 798

20.2.4 引出IProvider接口 800

20.2.5 准备好服务器 801

20.2.6 创建一个简单的MIDAS客户 802

20.2.7 理解简单的MIDAS客户 803

20.2.8 远程访问服务器 803

20.2.9 使用TCP/IP而不是DCOM 804

20.3 建立一对多的服务器 805

20.3.1 创建一对多的服务器 806

20.4 创建一个远程数据客户程序 808

20.4.1 更新和刷新数据 810

20.4.2 公文包模式 811

20.4.3 PacketRecords 812

20.5 错误处理 814

20.6 服务器端逻辑和客户端逻辑 815

20.7 需要的DLL 817

20.8 使用OLEnterprise 817

20.8.1 安装和理解OLEnterprise 818

20.9 总结 819

第二十一章 ActiveForm 821

21.1 ActiveForm简介 822

21.2 建立一个ActiveForm 823

21.3 发布ActiveForm,让Internet Explorer使用它 823

21.3.1 设置ActiveForm的选项 824

21.3.2 连接ActiveForm 825

21.3.3 理解OCCACHE 826

21.4 使用CAB文件和包 827

21.4.1 理解INF文件 829

21.4.2 许可问题 830

21.5 在Word中运行ActiveForm 831

21.5.1 使用Visual Basic编辑器 831

21.5.2 在文档中加入控件 832

21.6 使用模板 833

21.7 Socket和ActiveForm 834

21.7.1 关于Socket的简要回顾 834

21.7.2 建立支持Socket的ActiveForm 835

21.7.3 创建基于MIDAS的ActiveForm 836

21.7.4 解决ActiveForm的问题 837

21.7.5 测试一个ActiveForm 837

21.8 总结 838

第二十二章 CORBA 839

22.1理解CORBA 840

22.1.1 什么是CORBA 840

22.1.2 比较DCOM和CORBA 841

22.1.4 什么是Smart Agent 842

22.1.3 什么是ORB 842

22.1.5 什么是BOA 844

22.2 理解IDL 845

22.2.1 什么是Proxy,Stub和Skeleton 846

22.2.2 理解C++Builder和CORBA 847

22.3 两个重要的CORBA库 848

22.3.1 什么是接口库 848

22.3.2 什么是实现库 849

22.4.1 服务器 850

22.4 简单的CORBA对象 850

22.4.2 客户程序 856

22.4.3 理解服务器 865

22.4.4 理解客户 866

22.4.5 理解CORBA Stub 868

22.4.6 理解CORBA Skeleton 869

22.5 简单的CORBA动态项目 869

22.6 VisiBroker Manager和OSFind 875

22.7 总结 876

第二十三章 C++Builder、Java与Delphi 877

23.1 在C++Builder和Java中使用CORBA 878

23.1.1 创建一个访问C++Builder服务器的Java客户 878

23.1.2 实现Java客户 884

23.2 从C++Builder中调用Java服务器 886

23.3 从Delphi调用C++Builder编写的CORBA服务器 892

23.3.1 用Delphi建立一个CORBA服务器,并用C++Builder建立一个访问它的客户 895

23.4 总结 906

第二十四章 VCL图形类 909

24.1 Windows图形设备接口(GDI) 910

24.2 TCanvas 911

24.2.1 刷子 911

24.2.2 画笔 913

24.2.3 字体 916

24.2.4 TCanvas的其他特性 917

24.2.5 TCanvas的方法 918

24.3 Brush程序 919

24.3.1 OnCreate事件 931

24.3.2 FormShow()方法 932

24.3.3 设置画笔模式 934

24.3.4 字体 935

24.3.5 在画布上绘制几何图形 936

24.3.6 CopyMode 939

24.3.7 修改ClipRect 940

24.4 创建自定义的画笔线型 941

24.5.1 TColor 945

24.5 深入探讨VCL 945

24.5.2 Colors示范程序 946

24.5.3 OnChange名柄 948

24.6 调色板 950

24.7 Windows的图像格式 951

24.7.1 位图与DIB 951

24.7.2 图标 951

24.8 图元文件 952

24.9 TPaintBox与Tlmage 957

24.11 显示动画 958

24.10 优化图形程序 958

24.12 总结 966

第二十五章 DirectDraw编程 967

25.1理解DirectDraw 968

25.1.1 什么是DirectDraw 969

25.1.2 双缓冲区 970

25.1.3 硬件与仿真 970

25.2 一个简单的DirectDraw程序 971

25.2.1 初始化DirectDraw 977

25.3 释放接口 979

25.3.1 设置独占模式和屏幕分辨率 979

25.3.2 什么是DirectDraw表面 979

25.3.3 在屏幕上输出文本 982

25.3.4 翻转 983

25.3.5 释放内存 984

25.4 平滑的动画 985

25.5 使用位图 997

25.6 游戏资源 1004

25.7 总结 1005

第二十六章 高级DirectX技术 1007

26.1 使用DirectSound 1008

26.1.1 初始化DirectSound 1010

26.1.2枚举声音驱动程序 1011

26.1.3 使用DirectSoundBuffer 1013

26.1.4 打开一个声音文件 1014

26.1.5 播放一个声音文件 1017

26.1.7 同时播放两个WAV文件 1018

26.1.6 播放一个大文件 1018

26.2 创建一个DirectX游戏 1019

26.2.1 创建BCBMan程序 1021

26.2.2 关于实现BCBMan程序的说明 1030

26.2.3 控制机器人 1034

26.2.4 BCBMan程序总结 1035

26.3 Direct3D概述 1035

26.4 关键的3D技术 1036

26.5 总结 1037

相关图书
作者其它书籍
返回顶部