《Borland C++ Builder高级编程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:袁辉,郝文宁编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2000
  • ISBN:7030086732
  • 页数:471 页
图书介绍:本书作为一本 C++ Builder的提高书籍,由浅入深,系统全面地介绍了C++ Builder的基本概念、使用环境和编程技巧。全书以C++ Builder 5作为对象,但重点讲述了C++ Builder本身。本书由十六章组成,前七章为入门内容,介绍了C++ Builder 5的集成环境以及C++语言的要点。这一部分主要面向初学者,为以后C++Builder 5的深入编程打基础。第8章到第16章是本书的精华所在,集作者多年C++ Builder编程经验之大成,共收录了八类编程实例,每种类型自成一章,包含了一个或多个实用程序。本书图文并茂,语言生动、风趣,使您能在轻松的阅读中,不知不觉地掌握大量的实用编程技巧。本书适合于初级读者,对高级读者也有较高的参考价值。

第1章 初识C++Builder 5 1

1.1 C++Builder 5的安装 1

1.1.1 第一次安装C++Builder 5的用户须知 1

1.1.2 要升级C++Builder 4的用户 3

1.1.3 安装C++Builder 5 3

1.1.4 注册表的改动 5

1.1.5 安装过程中可能遇到的错误信息 7

1.2 卸载C++Builder 5 9

1.3 获得详细的服务信息 11

1.4 C++Builder 5的新功能 11

第2章 学习操作傻瓜相机 17

2.1 取景——选择程序类型 17

2.2 建立程序的工作平台——窗体 18

2.2.1 给新的窗体命名 19

2.2.2 更改窗体的颜色 19

2.3 拖拖拉拉——可视化编程的特点 21

2.3.1 设置显示文本的标签 21

2.3.2 设置按钮 22

2.3.3 对齐按钮的位置 23

2.4 真正的控制——代码 24

2.5 按下您的快门——编译、运行应用程序 25

2.6 小结 27

第3章 深入的基础——熟悉集成开发环境 28

3.1 基本概念 28

3.2 集成开发环境总览 29

3.3 菜单系统 29

3.3.1 文件菜单[File] 30

3.3.2 编辑菜单[Edit] 32

3.3.3 搜索菜单[Search] 36

3.3.4 视图菜单[View] 40

3.3.5 工程菜单[Project] 44

3.3.6 运行菜单[Run] 47

3.3.7 控件菜单[Component] 49

3.3.8 数据库菜单[DataBase] 49

3.3.9 工具菜单[Tools] 50

3.3.10 帮助菜单[Help] 51

3.4 工具栏 52

3.4.1 改变工具栏的外观 53

3.4.2 配置工具栏 53

3.5 控件面板 54

3.5.1 标准控件页[Standard] 54

3.5.2 附加控件页[Additional] 55

3.5.3 Win32控件页[Win32] 55

3.5.4 系统控件页[System] 57

3.5.5 数据访问控件页[Data Access] 57

3.5.6 数据控制控件页[Data Control] 58

3.5.7 ADO控件页[ADO] 59

3.5.8 InterBase控件页[InterBase] 60

3.5.9 Midas控件页[Midas] 60

3.5.10 InternetExpress控件页[InternetExpress] 61

3.5.11 Internet控件页[Internet] 61

3.5.12 FastNet控件页[FastNet] 62

3.5.13 决策方控件页[DicisionCube] 63

3.5.14 快速报表控件页[QReport] 63

3.5.15 对话框控件页[Dialogs] 64

3.5.16 Win3.1控件页[Win3.1] 65

3.5.17 样板控件页[Sample] 66

3.5.18 ActiveX控件页[ActiveX] 66

3.5.19 COM服务器控件页[Severs] 67

3.5.20 定制控件面板 67

3.5.21 如何增加新的控件 68

3.6 对象监视器(Object Inspector) 68

3.6.1 对象监视器的构成 69

3.6.2 在对象监视器中修改属性 69

3.6.3 产生新的事件句柄 71

3.6.4 定位已有的句柄 72

3.7 窗体编辑器 72

3.8 代码编辑器 73

3.8.1 代码编辑器的组成 73

3.8.2 代码预测工具 73

3.8.3 代码浏览功能 76

3.8.4 代码编辑器中的快捷菜单 76

3.8.5 配置代码编辑器 79

3.8.6 获得帮助信息的快捷方法 84

3.9 [Class Explorer] 84

3.9.1 [Class Explorer]的使用 85

3.9.2 [Class Explorer]的配置 87

3.10 配置集成环境 87

第4章 让一切更美好——修饰您的程序界面 91

4.1 设计程序的菜单 91

4.1.1 设计标准菜单 91

4.1.2 设计快捷菜单 93

4.1.3 让菜单发挥作用 93

4.1.4 关于菜单编辑器 94

4.1.5 增加菜单的加速键和图标 96

4.2 设计工具条 100

4.2.1 常规样式的工具条 100

4.2.2 更流行一点的工具条 101

4.2.3 更“酷”的工具条——CoolBar 102

4.2.4 更灵活的“时尚”工具条——ControlBar 103

4.2.5 按钮事件的关联 104

4.3 设计状态栏 104

4.3.1 显示静态信息的状态栏面板 106

4.3.2 动态的状态栏信息 106

4.4 创建消息框 109

第5章 成为高手的绝招——程序代码 111

5.1 文件的结构 111

5.1.1 窗体文件的结构 111

5.1.2 工程源文件的结构 112

5.1.3 单元文件的结构 112

5.2 注释 114

5.3 数据类型 115

5.3.1 基本数据类型 115

5.3.2 枚举类型——Enum 117

5.3.3 带聚合性质的数据类型 120

5.4 数组 127

5.4.1 常规数组 127

5.4.2 动态数组 128

5.5 指针 131

5.5.1 指针申明 131

5.5.2 对象指针 132

5.5.3 函数指针 132

5.5.4 指针常数 132

5.5.5 指针运算 133

5.5.6 指针转换 133

5.5.7 C++引用申明 134

5.6 函数 134

5.6.1 函数申明和定义 134

5.6.2 形式参数的申明 136

5.6.3 函数调用和参数转换 137

5.7 操作符 137

5.7.1 算术操作符 137

5.7.2 赋值操作符 138

5.7.3 位运算操作符 139

5.7.4 C++指明操作符 140

5.7.5 逗号操作符 140

5.7.6 条件操作符 140

5.7.7 相等操作符 141

5.7.8 逻辑操作符 141

5.7.9 后缀表达式操作符 142

5.7.10 引用/重引用操作符 142

5.7.11 关系操作符 143

5.7.12 sizeof操作符 143

5.7.13 typeid操作符 145

5.7.14 数组下标操作符 146

5.7.15 直接成员选择操作符 146

5.7.16 间接成员选择符 147

5.8 语句 147

5.8.1 块 148

5.8.2 标号语句 149

5.8.3 表达式语句 149

5.8.4 选择语句 149

5.8.5 循环语句 149

5.8.6 跳转语句 150

5.9 预处理指令 151

5.9.1 #(空指令) 151

5.9.2 #define指令 151

5.9.3 #if,#elif,#else,和#endif指令 151

5.9.4 #ifdef和#ifndef指令 152

5.9.5 #error指令 152

5.9.6 #include指令 153

5.9.7 #line指令 153

5.9.8 #pragma summary指令 153

5.9.9 #undef指令 158

5.9.10 预定义宏 159

第6章 软件工程师的利器——工程管理 160

6.1 文件类型 160

6.2 工程管理器 161

6.2.1 文件浏览区 162

6.2.2 工程选择器 162

6.2.3 工具栏 162

6.2.4 状态栏 163

6.2.5 快捷菜单 163

6.3 设置工程选项 164

6.3.1 [Forms]页面 164

6.3.2 [Application]页面 165

6.3.3 [Pascal]页面 167

6.3.4 [Linker]页面 168

6.3.5 [Directories/Conditionals]页面 172

6.3.6 [Version Info]页面 174

6.3.7 [Packages]页面 176

6.3.8 [Compiler)页面 178

6.4 编译和创建工程 182

第7章 程序终结者——合成调试器 183

7.1 有关错误的基本概念 183

7.1.1 编译期错误 183

7.1.2 逻辑错误 183

7.1.3 运行期错误 184

7.2 调试前的准备工作 184

7.2.1 [General]页面 185

7.2.2 [Event Log]页面 185

7.2.3 [Language Exceptions]页面 187

7.2.4 [OS Exceptions]页面 188

7.3 [CPU]窗口 189

7.3.1 反汇编面板 189

7.3.2 内存堆面板 191

7.3.3 机器堆栈面板 192

7.3.4 寄存器面板 193

7.3.5 标志面板 193

7.4 控制程序的运行 194

7.4.1 执行点 194

7.4.2 将程序运行到光标所在位置 194

7.4.3 单步跟踪 195

7.4.4 跟踪执行 195

7.4.5 返回到执行点 196

7.4.6 暂停运行和终止运行 196

7.4.7 重新编译并运行程序 196

7.5 断点 196

7.5.1 设置断点 197

7.5.2 使用断点 198

7.5.3 修改断点的属性 199

7.6 观察变量或表达式的值 200

7.6.1 观察窗口 200

7.6.2 表达式计算 202

7.6.3 Evaluate/Modify的格式指明符 202

7.7 监视数据元素 203

7.7.1 [Inspector]窗口 204

7.7.2 使用[Inspector]窗口 205

7.8 关于多进程调试 206

7.8.1 浏览多进程的线程 206

7.8.2 浏览多进程的模块 207

7.8.3 浏览多线程应用程序的线程状态 207

7.9 调试动态连接库(DLL) 208

第8章 实例之一——文本编辑器 210

8.1 创建工程的目录 210

8.2 创建工程 211

8.3 设计程序的窗体 214

8.3.1 主窗体的设计 214

8.3.2 子窗体的设计 218

8.3.3 程序信息窗口的设计 222

8.4 MDI应用程序的基本技巧 223

8.4.1 MDI的基本属性 224

8.4.2 新窗体的创建 225

8.4.3 菜单的合并 225

8.4.4 窗口的排列和关闭 226

8.5 实现文件基本操作 229

8.5.1 对话框的基本属性和方法 229

8.5.2 新建文件 232

8.5.3 打开文件 233

8.5.4 保存文件 235

8.5.5 打印文件 236

8.5.6 窗体的关闭和程序的退出 237

8.6 实现文本基本编辑功能 242

8.6.1 撤消功能 242

8.6.2 复制、剪切、粘贴、删除和全部选中功能 243

8.6.3 查找与替换 243

8.7 字体处理 245

8.7.1 使用[font Dialog)控件更改字体 245

8.7.2 用组合框实现字体的更改 247

8.8 段落处理 249

8.8.1 实现段落对齐功能 249

8.8.2 实现自动换行功能 250

8.8.3 实现段落标号功能 251

8.9 MDI窗体控件的协调动作 251

8.9.1 工具栏和菜单的协调 252

8.9.2 编辑窗口和工具栏、菜单栏的协调 253

8.9.3 菜单、工具栏、编辑窗口与状态栏的协调 254

8.10 显示程序信息窗口 257

第9章 实例之二——图形图像处理程序 259

9.1 TCanvas对象 259

9.1.1 TCanvas的基本属性 259

9.1.1 TCanvas对象的基本方法 261

9.2 建立工程目录和工程 262

9.3 设计程序的窗体 262

9.3.1 主窗体的设计 263

9.3.2 [newimageform]窗体的设计 267

9.3.3 程序信息窗口的设计 269

9.4 变量的定义 270

9.5 窗体初始化时的工作 270

9.6 图形绘制功能的实现 271

9.6.1 图形工具的管理 271

9.6.2 画线和多义线 273

9.6.3 画椭圆、矩形和圆角矩形 276

9.6.4 铅笔功能 277

9.7 文本的插入 278

9.7.1 文本的编辑和插入 278

9.7.2 更改文本的字体和字号 279

9.8 图形风格的修改 280

9.8.1 修改画笔和刷子的颜色 281

9.8.2 修改画笔风格 282

9.8.3 修改刷子的风格 282

9.9 实现图形的编辑功能 282

9.9.1 矩形选择工具 283

9.9.2 图形的复制 286

9.9.3 图形的剪切 286

9.9.4 图形的粘贴 286

9.9.5 全部图形的清除 287

9.10 图形文件操作 288

9.10.1 新建文件 288

9.10.2 打开文件 290

9.10.3 保存文件 292

9.10.4 打印文件 293

第10章 实例之三——多媒体应用程序 294

10.1 [Animate]控件 294

1n.1.1 属性 294

10.1.2 方法 295

10.2 [Animate]控件实战——动画播放器 296

10.2.1 建立工程和工程目录 296

10.2.2 窗体的设计 296

10.2.3 窗体的初始化 298

10.2.4 打开视频文件 298

10.2.5 视频的播放和停止 299

10.2.6 选择系统动画 300

10.2.7 更改动画的起始帧 300

10.2.8 响应动画的动作 301

10.3 [MediaPlayer]控件 302

10.3.1 属性 303

10.3.2 方法 305

10.3.3 使用[MediaPlayer]的一般步骤 306

10.4 [MediaPlayer]控件实战——媒体播放器 307

10.4.1 创建工程 307

10.4.2 设计窗体 307

10.4.2 打开媒体文件 308

10.5 图像热区(按钮)实例——花卉常识 311

10.5.1 创建工程和工程目录 311

10.5.2 窗体设计 311

10.5.3 变量的定义 313

10.5.4 点击按钮时的事件 313

10.5.5 实现一副图像中的多个热区 315

10.6 实战画面特技 316

10.6.1 设计窗体 316

10.6.2 变量的定义和初始化 317

10.6.3 引起切换的动作 318

10.6.4 页面切换方法的算法和实现 318

第11章 实例之四——数据库应用程序 322

11.1 C++Builder 5的数据库控件 322

11.2 实战之一——快速建立数据库应用程序 323

11.2.1 定制数据库网格 323

11.2.2 使用DBEdit、DBNavigator控件 326

11.2.3 使用[Query]进行编程 328

11.2.4 使用带参数的[Query] 330

11.2.5 使用数据库窗体向导 331

11.3 使用数据字段 331

11.3.1 深入研究TField类的层次结构 332

11.3.2 添加一个计算字段 335

11.4 使用字段来处理数据表格 337

11.4.1 如何进行数据库搜索 337

11.4.2 数据表格中列的计算 340

11.5 设计数据库表格 341

11.5.1 动态建立数据表格 342

11.5.2 建立新的数据表格 343

11.5.3 选择正确的数据表格 344

11.5.4 其他按钮的事件句柄代码 346

11.6 数据库图表 347

11.7 访问SQL服务器 348

11.7.1 InterBase服务器工具 349

11.7.2 将本地数据表格移到远程SQL服务器中 349

11.7.3 使用SQL Builder 350

11.8 数据模块在客户机/服务器编程中的应用 351

第12章 实例之五——系统操作工具 353

12.1 注册表及INI文件概述 353

12.1.1 文件结构 353

12.1.2 与注册表和INI文件有关的对象 355

12.1.3 TRegistryIniFile对象的属性和方法 355

12.2 实战注册表和INI文件——系统文件浏览器 358

12.2.1 建立工程 358

12.2.2 窗体的设计 358

12.2.3 准备工作 361

12.2.4 创建注册表对象和INI文件实例 362

12.2.5 得到多级主键的方法 364

12.2.6 显示键值 366

12.2.7 新建和删除键 368

12.2.8 键值的修改 371

12.2.9 折叠和展开主键——[TreeView]使用技巧 373

12.3 在Windows的任务栏上运行的程序 373

12.3.1 程序的窗体 374

12.3.2 与任务栏图标相关的常量和类型 374

12.3.3 向状态栏增加图标 375

12.3.4 其他事件句柄 377

12.3.5 关于消息的处理 379

第13章 实例之六——Web服务器应用程序 383

13.1 WWW的工作原理 383

13.2 Web服务器应用程序的构架和基本概念 383

13.2.1 Web服务器应用程序的构架 383

13.2.2 Web服务器应用程序的类型 384

13.2.3 统一资源定位器和HTTP请求信息 385

13.2.4 动作项(ActionItem) 386

13.2.5 Web模块和Web调度器 386

13.3 实战Web服务器应用程序 387

13.3.1 准备工作 387

13.3.2 创建工程目录和工程 389

13.3.3 增加动作项 391

13.3.4 用动作项实现静态页面的显示 392

13.3.5 实现动态页面的显示 392

13.3.6 与客户进行交互作用的动态页面 394

13.3.7 利用HTML样板转换用户信息 396

13.4 调试服务器应用程序 399

13.4.1 调试ISAPI和NSAPI应用程序 399

13.4.2 调试CGI和Win-CGI应用程序 401

第14章 实例之七——DLL和包 403

14.1 关于DLL和包的话题 403

14.1.1 什么是DLL和包 403

14.1.2 包和DLL的使用时机 404

14.2 实战DLL——共享的About窗口 404

14.2.1 建立DLL工程 405

14.2.2 了解连接、名字修饰和调用约定 407

14.2.3 定义输出接口函数 408

14.2.4 DLL的编译和创建 409

14.2.5 静态载入DLL 410

14.2.6 动态载入DLL 412

14.3 定制自己的包 412

14.3.1 建立运行期包的工程 413

14.3.2 增加运行期包的单元 414

14.3.3 修改需要包需要输出的函数 415

14.3.4 编译运行期包 416

14.3.5 在应用程序中调用运行期包中的函数 416

14.3.6 建立设计期包的工程 418

14.3.7 向设计期包中增加控件 418

14.3.8 编译设计期包 420

14.3.9 安装设计期包 420

第15章 实例之八——定制控件 422

15.1 控件 422

15.2 创建新控件的基本方法 423

15.2.1 使用控件向导创建控件 423

15.2.2 用代码创建一个控件 425

15.2.3 安装控件前的检查 427

15.2.4 修改一个已有的控件 428

15.3 实战之一——创建新的[Shape]控件 431

15.3.1 创建和注册控件 431

15.3.2 使继承的属性公开化(Published) 432

15.3.3 增加控件的图形处理能力 433

15.3.4 重载构造函数和析构函数 434

15.3.5 使画笔和刷子公开化 435

15.3.6 画控件的形状 438

15.3.7 使绘图功能更精炼 439

15.4 实战之二——创建一个数据敏感控件 441

15.4.1 创建并注册控件 441

15.4.2 增加ReadOnly属性 441

15.4.3 允许用户进行必要的更新 443

15.4.4 增加数据连接 444

15.4.5 数据改变的响应 447

15.4.6 创建可编辑的数据敏感控件 448

第16章 发布您的应用程序 453

16.1 关于应用程序文件的区分和处理 453

16.1.1 包文件的处理 453

16.1.2 ActiveX控制的处理 453

16.1.3 辅助程序的处理 454

16.1.4 DLL的位置 454

16.2 关于发布数据库应用程序的要点 454

16.2.1 提供数据库引擎 454

16.2.2 BDE的安装 455

16.1.3 关于发布SQL连接的要点 455

16.2.4 关于多级分布式应用程序服务(MIDAS)的发布要点 456

16.3 发布Web应用程序 457

16.4 让程序运行在不同的Windows版本下 457

16.5 制作安装程序实战 457

16.5.1 建立安装程序制作工程 458

16.5.2 设置可视化设计 459

16.5.3 指定C++Builder 5的特定安装对象 460

16.5.4 指定应用程序的组件和文件 462

16.5.5 设置安装程序的对话框 465

16.5.6 设置安装程序对注册表的修改 466

16.5.7 指定文件夹和图标 468

16.5.8 创建磁盘文件 469

16.5.9 最后的工作 470