本书通过编写趣味游戏程序来引导读者学习C++ Builder编程的方法和技巧,形式新颖活泼,别具一格。\r\n\r\n 全书从C++ Builder语言基础知识和编制简单的程序入手,将C++ Builder编程的知识点有机地分散在“幸运52”’“速算24”,“俄罗斯方块”,“华容道”,“趣味作文”,“拯救地球”’“北京市公交查询系统”等多个趣味游戏的程序设计示例中,引导读者学习领会C++ Builder中组件、数学运算、异常处理、资源文件的制作、共享事件句柄、动态组件数组、图像的淡入淡出、文本处理、图形程序的开发、多媒体和动画的制作、数据库的应用及如何使用TClimtSocket和TSeryerSocket创建网络聊天程序等内容。\r\n\r\n 本书以示例教学方式来组织内容,集趣味性、直观性和可操作性于一体,适用于C++ Builder初学者及对游戏程序感兴趣的电脑爱好者。\r\n
\r\n
第1章 C++ Builder语言基础 \r\n\r\n 1. 1 基本语法与表达式 \r\n\r\n 1. 1. 1 内存单元 \r\n\r\n 1. 1. 2 变量命名规则 \r\n\r\n 1. 1. 3 数据类型及数据运算 \r\n\r\n 1. 1. 4 程序控制语句 \r\n\r\n 1. 1. 5 函数 \r\n\r\n 1. 1. 6 数组 \r\n\r\n 1. 1. 7 指针 \r\n\r\n 1. 2 C++语言新特性 \r\n\r\n 1. 2. 1 简化的输入输出手段 \r\n\r\n 1. 2. 2 C++引用(References)--提高程序的效率 \r\n\r\n 1. 2. 3 语法上的一些变更 \r\n\r\n 1. 2. 4 动态内存分配(new)和释放(delete)操作符 \r\n\r\n 1. 2. 5 函数新特性 \r\n\r\n 1. 3 C++语言基本概念 \r\n\r\n 1. 3. 1 类和对象的基本概念 \r\n\r\n 1. 3. 2 继承和多态 \r\n\r\n 1. 4 C++ Builder--C++的扩展 \r\n\r\n 1. 4. 1 动态函数(Dynamic Functions) \r\n\r\n 1. 4. 2 #pragma package指令 \r\n\r\n 1. 4. 3 为异常处理增加了try/_finally结构 \r\n\r\n 1. 4. 4 改变了模板产生的机制 \r\n\r\n 1. 5 C++ Builder的集成开发环境 \r\n\r\n 1. 5. 1 主窗口介绍 \r\n\r\n 1. 5. 2 对象监视器 \r\n\r\n 1. 5. 3 程序代码编辑器 \r\n\r\n 1. 5. 4 C++ Builder常见的文件类型 \r\n\r\n 1. 6 程序设计基本流程 \r\n\r\n 1. 6. 1 如何开发应用程序 \r\n\r\n 1. 6. 2 如何编辑和运行一个简单的程序 \r\n\r\n \r\n\r\n 第2章 '幸运52'模拟程序--初步应用 \r\n\r\n 2. 1 程序效果说明 \r\n\r\n 2. 2 设计初始界面 \r\n\r\n 2. 2. 1 在窗体中加入组件 \r\n\r\n 2. 2. 2 组件的重设尺寸. 移动. 删除. 剪切b复制和粘贴 \r\n\r\n 2. 2. 3 在窗体上排列组件 \r\n\r\n 2. 2. 4 设置组件的属性 \r\n\r\n 2. 2. 5 显示和修改组件的公共属性 \r\n\r\n 2. 3 添加事件处理 \r\n\r\n 2. 4 完善程序界面 \r\n\r\n 2. 4. 1 使用图像显示商品信息 \r\n\r\n 2. 4. 2 焦点控制:SetFocus方法 \r\n\r\n 2. 4. 3 使用回车键代替单击按钮 \r\n\r\n 2. 4. 4 对用户的意外操作进行响应 \r\n\r\n 2. 5 本章知识点回顾 \r\n\r\n \r\n\r\n 第3章 速算24扑克游戏程序--数学运算 \r\n\r\n 3. 1 程序效果说明 \r\n\r\n 3. 2 设计初始界面 \r\n\r\n 3. 2. 1 在窗体中加入组件 \r\n\r\n 3. 2. 2 图像资源制作 \r\n\r\n 3. 2. 3 设计期间载入图像 \r\n\r\n 3. 3 添加事件处理 \r\n\r\n 3. 3. 1 窗体的构造函数 \r\n\r\n 3. 3. 2 '开始'按钮的OnClick事件处理 \r\n\r\n 3. 3. 3 '计算'按钮的OoClick事件 \r\n\r\n 3. 3. 4 '退出'按钮的OnClick事件 \r\n\r\n 3. 3. 5 OnCloseQuery事件句柄 \r\n\r\n 3. 4 计算表达式结果 \r\n\r\n 3. 4. 1 创建独立的单元文件 \r\n\r\n 3. 4. 2 算法设计 \r\n\r\n 3. 4. 3 编写计算表达式的代码 \r\n\r\n 3. 5 完善程序界面 \r\n\r\n 3. 5. 1 不同时期在按钮上显示不同文字 \r\n\r\n 3. 5. 2 增加计算用户花费时间功能 \r\n\r\n 3. 5. 3 不响应非数字和算术符号 \r\n\r\n 3. 5. 4 使用回车键代替单击按钮 \r\n\r\n 3. 5. 5 对用户的意外操作进行响应 \r\n\r\n 3. 6 本章知识点回顾 \r\n\r\n \r\n\r\n 第4章 华容道--窗体与事件处理 \r\n\r\n 4. 1 程序效果说明 \r\n\r\n 4. 2 设计初始界面 \r\n\r\n 4. 3 程序的实现 \r\n\r\n 4. 3. 1 窗体的构造函数 \r\n\r\n 4. 3. 2 '重新开始'按钮的OnClick事件处理 \r\n\r\n 4. 3. 3 '退出'按钮的OnC1ick事件 \r\n\r\n 4. 3. 4 BitBtn组件的OnMouseDown事件 \r\n\r\n 4. 3. 5 OnMousUp事件句柄 \r\n\r\n 4. 3. 6 自定义函数InvalidMove \r\n\r\n 4. 4 完善程序 \r\n\r\n 4. 4. 1 使用动态组件数组减少代码 \r\n\r\n 4. 4. 2 增加计算用户花费时间功能 \r\n\r\n 4. 5 进一步实践--程序封面 \r\n\r\n 4. 5, 1 创建另一个窗体 \r\n\r\n 4. 5. 2 图像的淡入和淡出 \r\n\r\n 4. 5. 3 创建应用程序的封面 \r\n\r\n 4. 6 本章知识点回顾 \r\n\r\n \r\n\r\n 第5章 趣味作文--文本处理和文件操作 \r\n\r\n 5. 1 程序效果说明 \r\n\r\n 5. 2 设计初始界面 \r\n\r\n 5. 2. 1 创建多文档界面的父窗体 \r\n\r\n 5. 2. 2 设计菜单 \r\n\r\n 5. 2. 3 创建多文档界面的子窗体 \r\n\r\n 5. 2. 4 常用对话框组件 \r\n\r\n 5. 3 添加事件处理 \r\n\r\n 5. 3. 1 创建父窗体中的'新建'菜单项单击事件句柄 \r\n\r\n 5. 3. 2 创建父窗体中的'打开…'菜单项单击事件句柄 \r\n\r\n 5. 3. 3 创建父窗体中的'退出…'菜单项单击事件句柄 \r\n\r\n 5. 3. 4 创建父窗体中的'平铺…'菜单项单击事件句柄 \r\n\r\n 5. 3. 5 创建父窗体中的'层叠…'菜单项单击事件句柄 \r\n\r\n 5. 3. 6 创建子窗体中的'新建'菜单项单击事件句柄 \r\n\r\n 5. 3. 7 创建于窗体中的'打开…'菜单项单击事件句柄 \r\n\r\n 5. 3, 8 创建子窗体中的'关闭'菜单项单击事件句柄 \r\n\r\n 5. 3. 9 创建子窗体中的'保存'菜单项单击事件句柄 \r\n\r\n 5. 3. 10 创建子窗体中的'另存为…'菜单项单击事件句柄 \r\n\r\n 5. 3. 11 创建子窗体中的'打印'菜单项单击事件句柄 \r\n\r\n 5. 3. 12 创建子窗体中的'剪切'菜单项单击事件句柄 \r\n\r\n 5. 3. 13 创建于窗体中的'拷贝'菜单项单击事件句柄 \r\n\r\n 5. 3. 14 创建于窗体中的'粘贴'菜单项单击事件句柄 \r\n\r\n 5. 3. 15 创建子窗体中的'删除'菜单项单击事件句柄 \r\n\r\n 5. 3. 16 创建子窗体中的'全选'菜单项单击事件句柄 \r\n\r\n 5. 3. 17 创建子窗体中的'撤消'菜单项单击事件句柄 \r\n\r\n 5. 3. 18 创建'左对齐'. '右对齐'和'居中对齐'菜单项的公共事件句柄 \r\n\r\n 5. 3. 19 创建子窗体中的'换行'菜单项单击事件句柄 \r\n\r\n 5. 3. 20 创建'侠客行'等菜单项单击事件句柄 \r\n\r\n 5. 3. 21 添加自定义函数Open \r\n\r\n 5. 4 进一步完善程序 \r\n\r\n 5. 4. 1 程序启动时不显示子窗体 \r\n\r\n 5. 4. 2 实现关闭子窗体 \r\n\r\n 5. 4. 3 在关闭子窗体时询问用户是否保存文件 \r\n\r\n 5. 4. 4 更换应用程序的图标 \r\n\r\n 5. 4. 5 在'窗口'菜单中显示子窗口列表 \r\n\r\n 5. 5 进一步实践在多文档应用程序的父窗口上绘制背景 \r\n\r\n 5. 5. 1 在多文档应用程序的父窗口上绘制背景 \r\n\r\n 5. 5. 2 实现拖放文件 \r\n\r\n 5. 6 本章知识点回顾 \r\n\r\n \r\n\r\n 第6章 俄罗斯方块--图形 \r\n\r\n 6. 1 程序效果说明 \r\n\r\n 6. 2 设计程序界面 \r\n\r\n 6. 2. 1 添加组件 \r\n\r\n 6. 2. 2 设计菜单 \r\n\r\n 6. 3 Windows的GDI和VCL的TCanvas \r\n\r\n 6. 3. 1 GDI是什么 \r\n\r\n 6. 3. 2 C++ Builder的神奇画布Canvas) \r\n\r\n 6. 4 程序代码设计 \r\n\r\n 6. 4. 1 加入属性和函数的声明 \r\n\r\n 6. 4. 2 在窗体的构造函数中初始化变量 \r\n\r\n 6. 4. 3 窗体的0nCreat6事件句柄 \r\n\r\n 6. 4. 4 窗体的00Paht事件句柄 \r\n\r\n 6. 4. 5 创建'开始'菜单项事件句柄 \r\n\r\n 6. 4. 6 创建窗体的'暂停'菜单项单击事件句柄 \r\n\r\n 6. 7 创建窗体的'停止'菜单项单击事件句柄 \r\n\r\n 6. 8 创建窗体的'退出'菜单项单击事件句柄 \r\n\r\n 6. 4. 9 创建宙体的'12行10列'等菜单项单击事件句柄 \r\n\r\n 6. 10 创建游戏级别等菜单项单击事件句柄 \r\n\r\n 6. 4. 11 创建'网格'菜单项单击事件句柄 \r\n\r\n 6. 4. 12 创建'音乐'菜单项单击事件句柄 \r\n\r\n 6. 4. 13 创建窗体的OnKeyDown事件句柄 \r\n\r\n 6. 4. 14 创建Timerl的OnTimer事件句柄 \r\n\r\n 6. 4. 15 加入自定义函数 \r\n\r\n 6. 5 进一步实践--通过对话框设置所有游戏程序参数 \r\n\r\n 6. 5. 1 效果 \r\n\r\n 6. 5. 2 实现方法 \r\n\r\n 6. 6 本章知识点回顾 \r\n\r\n \r\n\r\n 第7章 拯救地球游戏--动画和多媒体 \r\n\r\n 7. 1 程序效果说明 \r\n\r\n 7. 2 制作图形资源 \r\n\r\n 7. 2. 1 建立图形资源 \r\n\r\n 7. 2. 2 装载图形资源 \r\n\r\n 7. 3 添加事件处理 \r\n\r\n 7. 3. 1 初始化窗体 \r\n\r\n 7. 3. 2 创建窗体的OnActivate事件句柄 \r\n\r\n 7. 3. 3 创建窗体中的Onpaint原件句柄 \r\n\r\n 7. 3. 4 创建窗体中的OnMouseMove单击事件句柄 \r\n\r\n 7. 3. 5 创建自定义函数IdleLoop \r\n\r\n 7. 4 进一步完善程序 \r\n\r\n 7. 4. 1 以C++ Builder处理windows消息(Message) \r\n\r\n 7. 4. 2 在程序中处理鼠标消息 \r\n\r\n 7. 4. 3 去掉窗口的标题栏 \r\n\r\n 7. 5 进一步实践--控制游戏速度 \r\n\r\n 7. 5. 1 效果 \r\n\r\n 7. 5. 2 实现方法 \r\n\r\n 7. 6 本章知识点回顾 \r\n\r\n \r\n\r\n 第8章 北京市公交查询系统--数据库编程 \r\n\r\n 8. 1 程序效果说明 \r\n\r\n 8. 2 创建数据库 \r\n\r\n 8. 2. 1 安装和设置Local InteerBase \r\n\r\n 8. 2. 2 创建数据库 \r\n\r\n 8. 2. 3 配置InterBase别名 \r\n\r\n 8. 2. 4 使用Database Desktop创建数据表 \r\n\r\n 8. 2. 5 利用Database Desktop可视化地编辑表 \r\n\r\n 8. 3 数据库应用程序组成 \r\n\r\n 8. 3. 1 C++ Builder数据库程序的基本结构 \r\n\r\n 8. 3. 2 DstaAccess组件 \r\n\r\n 8. 4 创建查询系统 \r\n\r\n 8. 4. 1 系统界面的设计 \r\n\r\n 8. 4. 2 实现查询 \r\n\r\n 8. 5 改进程序 \r\n\r\n 8. 5. 1 改变显示字段标题 \r\n\r\n 8. 5. 2 使用TDatabase屏蔽口令 \r\n\r\n 8. 6 将程序网络化 \r\n\r\n 8. 6. 1 效果 \r\n\r\n 8. 6. 2 多层数据库的概念 \r\n\r\n 8. 6. 3 建立应用程序服务器 \r\n\r\n 8. 6. 4 建立客户端应用程序 \r\n\r\n 8. 7 本章知识点回顾 \r\n\r\n \r\n\r\n 第9章 拯救地球游戏二--综合应用示例 \r\n\r\n 9. 1 程序效果说明 \r\n\r\n 9. 2 DirectDraw简介 \r\n\r\n 9. 2. 1 DirectX技术 \r\n\r\n 9. 2. 2 DirecDraw简述 \r\n\r\n 9. 2. 3 DirectDraw和组件对象模型 \r\n\r\n 9. 2. 4 几个基本概念和术语 \r\n\r\n 9. 3 创建Direct Draw程序的几个步骤 \r\n\r\n 9. 3. 1 初始化DirectDraw \r\n\r\n 9. 3. 2 创建表面 \r\n\r\n 9. 3. 3 翻转表面 \r\n\r\n 9. 3. 4 使用鼠标移动球拍子画面和实现退出 \r\n\r\n 9. 3. 5 释放DirectDraw接口 \r\n\r\n 9. 4 完善程序 \r\n\r\n 9. 4. 1 效果 \r\n\r\n 9. 4. 2 实现方法 \r\n\r\n 9. 5 DirectDraw程序的调试 \r\n\r\n 9. 5. 1 全屏模式给调试带来的困难 \r\n\r\n 9. 5. 2 解决办法--远程调试 \r\n\r\n 9. 6 封装DirectDraw \r\n\r\n 9. 7 本章知识点回顾 \r\n\r\n \r\n\r\n 第10章 多人聊天系统--网络 \r\n\r\n 10. 1 程序效果说明 \r\n\r\n 10. 2 Internet及其术语简介 \r\n\r\n 10. 2. 1 Internet简介 \r\n\r\n 10. 2. 2 TCP/IP \r\n\r\n 10. 3 创建服务器应用程序 \r\n\r\n 10. 3. 1 设计程序界面 \r\n\r\n 10. 3. 2 程序实现代码 \r\n\r\n 10. 4 创建客户端应用程序 \r\n\r\n 10. 4. 1 项目管理器(Project Manager) \r\n\r\n 10. 4. 2 客户应用程序界面设计 \r\n\r\n 10. 4. 3 程序实现代码 \r\n\r\n 10. 5 本章知识点回顾 \r\n
\r\n
丛书总序
电脑游戏
“我喜欢游戏!”
“游戏是我生命中的一部分”
“我是游戏的一部分”
这是许多玩家从开始玩电脑游戏, 到喜欢, 直到痴迷的三段自我写照.
当计算机技术给游戏提供了强有力的支持后, 一个陌生而又似曾相识的新奇世界展示在人们面前:这里有逝去的童年梦想, 有心头压抑已久的情感, 有疯狂. 神秘, 有脑力和技巧的挑战, 也有可以轻松获得的志得意满的“虚拟”成就感. 游戏里有一个别样的人生, 有一个神奇的世界.
娱乐. 游戏是人的天性. 无论关于游戏的各种观点怎样碰撞, 年轻一代对电脑游戏的痴迷已经无法逆转. 在不久的将来, 我们将面对“玩游戏长大的一代”, 甚至人们的思维方式也将受到游戏的很大影响.
程序设计
Java, JavaScript, DeIphi, VB, VC, C十十Builder……窗口, 图形界面, 事件驱动, 数据库, 多媒体, 网络编程……当我们编写的代码通过编译运行(或解释执行)产生奇妙的动态效果, 当我们成功地编写了一个窗口程序, 当我们亲自编写了一个哪怕是很粗糙的聊天工具, 那一刻的成功. 喜悦. 振奋和激动都会让人无以言表.
计算机程序设计给我们带来了另一个精彩的别样世界. 掌握和使用新的程序设计语言, 学习和操作新的程序设计工具, 认识和思考新的“信息世界”, 不断吸收信息新知, 是信息时代弄潮儿永远不知疲倦的一件赏心乐事.
熟悉一些流行的程序开发工具, 掌握一定的程序设计方法, 已经成为年轻一代所必须的素质, 也是时代的要求. 也许你还是一名中学生, 也许你是一名大学生, 或许你已经就业工作, 作为一个跨世纪的现代人. 21世纪的主人翁, 我们有必要了解. 掌握. 驾驭一定的程序设计工具和程序设计语言. 通过趣味游戏程序学习程序设计学习程序设计, 并不是一件艰苦. 枯燥的事情, 它能像电脑游戏那样让你充满好奇. 富有乐趣. 这正是本丛书的编写目的!
本丛书面向初. 中级用户, 精选了目前全球最流行. 最常用的程序设计语言和程序开发工具, 通过趣味游戏示例, 以目标式教学为主, 引导读者学习. 掌握程序设计思想和编程技巧.
本丛书努力做到如下几点:
趣味性:以趣味游戏程序为例, 形式新颖活泼, 读者在学习的过程中能自己动手设计电脑游戏, 感受学习的乐趣, 保持学习的兴趣. 本丛书均带有光盘, 在光盘中给出了全部示例的源代码和各种资源文件, 读者可以分析. 参考和学习.
直观性:将程序设计的知识点有机地分散在多个趣味游戏的设计示例中, 使得程序设计语言众多的对象. 属性. 方法以及程序开发工具的各种设置和操作都变得具体. 形象. 直观, 通俗易懂, 深入浅出.
·可操作性:以示例教学. 目标式学习来组织内容, 将程序设计的思路. 操作步骤. 知识点和方法的讲解紧密结合, 互相映证. 本套丛书力求做到结构明晰, 容易理解, 便于操作, 读者可以跟随书本, 一边思考. 体会程序设计的思路, 一边一步步进行实际的操作, 并及时从操作情况和程序执行的效果中得到反馈, 带着目的学习, 带着问题学习, 有的放矢, 从实际的操作. 具体的设计中体会. 领悟. 积累程序设计的知识. 技能和经验, 这将极大地提高学习效率, 达到更好的学习效果.
·循序渐进:本丛书尤其注意由浅入深, 循序渐进, 让读者的学习是一个轻松渐进. 平衡上升的过程. 每本书首先都从基础讲起, 读者在一开始可以是一个完全的门外汉, 随着学习的深入, 将被一步步领进门, 登堂入室, 渐入佳境, 最后从入门达到提高的目的.
我们将电脑游戏和程序设计这两个精彩世界有机地嫁接在一起, 希望读者能在充满趣味的编程过程中, 掌握程序设计语言, 领悟程序设计的方法和技巧.
学习建议本丛书以示例为主, 注重操作性, 将程序调计各方面的知识点有机地分散在各游戏的设计步骤中, 在使用本书时, 最好使用如下方法:
(1)在实际的操作中学习
本丛书实战性非常强, 读者最好一边阅读, 一边上机, 两者紧密结合. 一定要亲自动手, 体会实际的操作过程, 查看程序运行的效果反馈, 并及时思考. 总结. 每学完一章, 我们应该有自己的收获, 动手编制出自己的游戏作品, 同时理解. 掌握程序设计过程中所用到的知识和技能.
(2)发挥主观能动性, 积极思考
本书循序渐进, 每个游戏侧重于程序设计的一个方面, 在实际的设计过程中, 又分为很多步骤. 在每一步, 读者应充分发挥自己的主观能动性, 积极思考, 尽量先有自己的思路, 甚至给出自己的解决方法, 然后再看书中的实现方法, 并进行分析和比较, 深入理解程序设计的精髓.
(3)借助于网络结成学习共同体
21世纪是一个信息社会, 学习者不再是封闭. 孤立的个体, 而应该尽量借助网络来和其他学习者. 专家进行沟通. 协作, 以积极寻求帮助和互助, 提高学习效率.
本套丛书由北京高校计算机图书创作联盟策划. 创作和编写. 联盟主要由清华大学. 北京大学等高校的研究生组成, 成员有很强的计算机技术背景和丰富的实践经验. 以团队协作. 大胆创新的精神为宗旨, 以认真负责. 严谨细致的态度, 努力创作真正切合广大电脑应用学习者需要的计算机精品图书.
最后, 感谢科海培训中心夏非彼老师对联盟的关心. 从联盟的最初构想. 初创时起, 夏老师就给予了积极的支持. 热心的帮助和非常有价值的指导. 感谢科海培训中心张红编辑对本套丛书提出的修改意见和建议, 使我们的工作能够得以顺利地进展.
北京高校计算机图书创作联盟
2001年12月
C++ Builder 5. 0是目前PC机上最优秀的Windows应用程序开发工具. 它把完全的可视化与真正的面向对象及C什的高效率. 高性能完美地结合起来, 在大大缩短了开发者工作时间的同时, 并没有降低代码的效率. 从开发操作系统级的系统软件到高层企业级的应用, 如COM/ActiveX, Internet应用程序, Web服务器, 多层C1ien/Server应用程序, 多层Browser/Server应用程序, C++ Builder都是最合适的选择.
面向对象是C++的核心. 面向对象的软件开发方法起源于20世纪80年代初, 但自20世纪90年代以来, 才得到迅猛发展, 成为当前最重要的一种软件开发方法. 目前世界上大多数大学在讲授面向对象的课程时, 一般都以C什语言作为基础. 读者在阅读本书时, 应紧紧抓住面向对象这一核心思想, 只有真正理解了它, 才能深刻领会C++ Builder的编程思路, 掌握C++ Builder的精华.
Inprise公司自从推出Borland C++的第十版本以来, 一直在面向对象领域处于世界领先地位, 这一点在C++ Builder上得到充分体现. 在C++ Builder中对标准C++在面向对象方面做了很多有意义的扩展, 利用这些扩展, 推出了具有革命意义的VCL类库. VCL类库是完全的可视化与真正面向对象的完美结合, 在编程的灵活. 高效. 强大的扩展能力与在使用上的简单. 方便. 一致之间, 找到了最佳结合点. 另一方面, VCL与COM是兼容的, 在C++ Builder里很容易把VCL组件转换成COM或AtiveX组件. 以前那些深奥复杂的领域, 如Web服务器. 多层C1ien/Sewer. Activex等, 在C++ Builder中很容易实现, C++ Builder掩盖了其中的复杂性, 而又不失强大的扩展能力. 相信读者在深入使用C++ Builder的过程中, 也会像笔者一样迷上C++ Builder.
本书以示例为主, 通过趣味游戏来介绍C++编程语言的知识和设计技能. 第1章简单介绍了C++, 为读者提供C++的基本原理和语法规则, 并初步熟悉使用C++ Builder. 第2章通过一个模拟“幸运52”节目的游戏4来实践对C++ Builder的初步应用, 主要介绍了使用组件创建初始界面. 在设计期间修改组件的属性. 在运行期间修改组件的属性. AnsiSbing的使用以及对用户的意外操作进行响应. 异常处理等内容. 第3章通过一个“速算24”的游戏, 来介绍如何在C++ Builder中进行数学运算, 主要讲述了资源文件的制作. 如何快速高效初始化一块内存. 属性编辑器的种类. 如何在退出前得到用户的确认. 创建独立的单元文件. 连接文件. TTimer组件的使用以及可视组件. 非可视组件等内容. 第4章通过“华容道”游戏, 综合前面介绍的知识, 主要讲述了共享事件句柄. 在共享事件句柄中使用Tag来区分哪个组件响应当前事件. 利用动态组件数组减少程序代码. 图像的淡入淡出. 应用程序的入口以及程序封面的实现等内容. 第5章通过“趣味作文”来介绍如何在C++ Builder中进行文本处理和文本文件的操作, 主要讲述了多文档界面和单文档界面. 菜单编辑器. 合并菜单. 常用对话框组件的使用. 文本处理. 文件的打开和保存. 打印机的使用以及剪贴板的使用等内容. 第6章通到“俄罗斯方块”游戏来介绍如何在C++ Builder中进行图形程序开发, 主要介绍了VCL图形类. 位图. 字型. 画布. 画笔以及画刷等内容. 第7章通过“拯救地球”游戏来介绍如何在C++ Builder中进行图形和多媒体的操作以创建动画, 主要介绍资源文件的制作. 编译和应用. 鼠标的显示和隐藏. 控制鼠标形状. 播放声音. 消息映射. 设备环境以及TCanvas组件等内容. 第8章主要介绍了C++ Builder数据库应用程序的内部机制. 数据库的创建. 常用数据库组件的使用. 多层数据库的概念. 多层数据库的创建以及发布ActiveForm等内容. 第9章介绍DirectDraw编程, 使用这项技术可以编写高性能的图形程序, 主要介绍了初始化DirectDraw. 独占模式下运行DirectDraw. 窗口模式下运行DirectDraw. 利用DirectDraw使物体动画以及使用DirectDraw操纵调色板等内容. 第10章讲述如何利用TServerSocket和TClieotSocket两个控件, 创建网上多用户聊天程序(包括一个网络聊天服务器程序和一个网络聊天客户程序), 主要介绍了网络的基本知识. TCP/IP. TServerSocket的应用. TClieSocket的应用. 项目管理器以及多个项目的管理等
内容.
笔者深知, 要在一本300多页的书中把C++ Builder这样庞大的软件全部介绍清楚, 有一定的困难. 因此, 笔者极力把一些基本概念和一些通用的操作向读者介绍清楚, 使读者学一知十. 在本书的很多地方只给出了引导性的提示或建议, 读者学习了本书后, 除了做大量的练习外, 还应该找一些相关资料作为补充.
编者
2001年12月