程序设计vb大合集cbuilder6编程实例精解_第1页
程序设计vb大合集cbuilder6编程实例精解_第2页
程序设计vb大合集cbuilder6编程实例精解_第3页
程序设计vb大合集cbuilder6编程实例精解_第4页
程序设计vb大合集cbuilder6编程实例精解_第5页
已阅读5页,还剩487页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、www.PLCC+Builder 6 编程实例精解赵明现 编著For C+BwwwuPLCiwlordld cnersmthww.91HMI.comzmxsmth bbs中国北京2004 年 2 月www.PLC内容简介C+Builder 6 是一款快速开发 Win32 应用程序的可视化开发工具,利用它可以实现高性能的执行效率和出色的底层控制。C+Builder 6 相比于 5 以前的版本,提供了更多的网络开发组件,更快速方便的可视化环境。本书共有 14 章,前三章分别介绍 C+Builder 的开发环境、比较特殊的语法,并在第三章用实例讲述使用C+Builder 开发应用程序的过程,以后的章

2、节均通过实例讲述C+Builder 某个方面的编程技术与技巧。这些实例包括文本、绘图与图象处理、文件、多媒体、系统, 以及 FTP 和 WinSock 网络通信。在第 12 章通过俄罗斯方块游戏介绍 VCL 游戏的制作,并在第 13 章介绍游戏开发中常用的 DirectX 技术。在第 14 章讲述数据库程序的设计,并详细讲解餐厅结账管理程序的制作过程。本书是为对 C+Builder 有基本了解的程序员或程序爱好者而做,读者需要熟悉 C/C+编程。本书也可以作为软件开发人员的参考书。ww .91HMI.comwww PLCworld cnwww.PLC前 言Borland C+Builder 是

3、 Borland 公司推出的全新 32 位Windows 开发工具。C+Builder 不仅继承了 Delphi 使用简便,功能强大,效率高等特点,而且它还结合 C+语言所有优点。C+Builder 可以说是至今最好的 Windows 开发工具。本书共 14 章,通过实例清晰明了的讲解 C+Builder 常用的编程技术技巧。前两章介绍了 C+Builder 开发环境、几个特殊的语法;第三章通过列主元高斯消去法求解方程组的程序的制作,介绍开发应用程序的一般过程和程序调试技术,其中使用到了动态控件数组技巧; 第四章制作文本处理程序,介绍菜单组件、文本组件以及工具栏等组件的使用,还讲述 MDI 程

4、序设计方法,以及实现拖放效果的技巧;第五章制作绘图程序,介绍图形图象类组件的使用以及图象的处理技巧;第六章介绍文件相关的操作,基于文件操作编写学生成绩管理程序, 并利用可视化文件管理组件以及 TTreeView 和 TListView 组件制作资源管理器;第七章制作屏幕保护程序,介绍屏保程序实现的技术技巧,并讲述图象的处理和显示技巧;第八章制作多媒体播放器,介绍多媒体组件的使用,并详解资源文件的使用方法以及使用资源文件绘制自定义窗体的技巧;第九章制作系统信息管理程序,主要介绍在 C+Builder 中使用 Windows API 的原理与方法;第十章介绍 TNMFTP 组件的使用并基于此组件制

5、作 FTP 工具;第十一章利用 C+Builder 中的 WinSock 编程技术制作远程屏幕监视程序,还介绍了任务栏图标的使ww .91HMI.comwww PLCworld cn用技巧;第十二章介绍 VCL 游戏制作的一般方法,以及程序帮助文件的制作方法;第十三章介绍游戏编程常用的 DirectX 技术;第十四章介绍数据库程序的制作方法,以及设计报表的方法和软件封面制作技巧,制作了功能比较完善的餐厅结账管理程序。本书适合熟练 C/C+并且对 C+Builder 有一定使用经验的读者,旨在锻炼读者制作有实用价值的较大规模的应用程序的能力,并可作为软件开发人员的参考书。在本书的编写过程中,刘道

6、理、陶静等都为我提供了很大的帮助,在此向他们表示衷心的感谢!由于作者水平有限,而且时间比较仓促,书中难免有错误和不当之处,恳请读者批评指正。赵明现2004 年 3 月www.PLCC+ Builder 6 编程实例精解 赵明现目 录前言第1章 C+ BUILDER 概述本章重点 本章介绍 C+Builder 的特点,使你对 C+Builder 有个一般的认识;介绍 C+Builder 的集成开发环境,让你对其使用有个大概的了解;还简单介绍了帮助系统的使用以及C+Builder 在未来的可能发展趋势;还介绍了 C+Builder 中几个有意思的复活节彩蛋学习目的 熟悉 c+ builder 的历

7、史以及其编程环境1.1 C+Builder 的特点1.2 C+Builder 6 集成开发环境..41.2.5主窗口对象列表树和对象查看器代码编辑器窗体工程管理器1.3 C+Builder 6 中的复活节彩蛋 www PLCworld cn1.4 帮助系统1.5 C+Builder 的未来1.6 思考题ww.91HMI.com第2章 语法摘述本章重点 本章讲述 C+Builder 中编程常用到的比较特殊的语法。包括几种抽象数据类型, 和几种特殊的函数学习目的 掌握 C+Builder 中常用的一些特殊语法和函数2.1抽象数据类型2.1.1 TList 类2.1

8、.2 AnsiString 类2.1.3 Set(集合)2.1.4 DynamicArray(动态数组)2.1.5 TStream(流)函数2.2.1 系统函数2.2.2 Inline 函数2.2.3 参数个数不定的函数思考题2.22.3www.PLC5目录第3章 程序设计基本流程本章重点 本章通过列主元消去法求解方程组的程序的编写过程,讲述利用 C+Builder 编写应用程序的一般流程。学习目的 熟悉从问题提出到程序发行的各个步骤3.1 应用程序设计流程3.2 算法与界面设计3.2.1 算法3.2.2 界面设计3.3代码实现3.3.1 头文件3.3.2 维数输入确认的处理3.3.3 Btn

9、InputOver 的响应程序的调试..5调试选项设置程序执行方式断点的使用变量的监视其它调试命令3.53.6程序的发行思考题ww.91HMI.comwww PLCworld cn第4章 文本处理程序本章重点 本章讲述制作一个文本处理程序的过程。在文本处理程序中,设计到了菜单、文本组件、多文档技术、工具条、状态栏等组件的用法以及相关的技巧学习目的 本章通过制作一个文本编辑器,熟悉 c+builder 中菜单、文本组件的使用;在编辑器中实现多文档编辑功能,使读者熟悉多窗体程序的编写和控制;文本编辑功能的实现用来熟练程序中对文本的处理技巧;学会程序

10、中用到的菜单融合、文件拖放等技巧本章典型效果图4.1 菜单的使用4.1.1 菜单4.1.2 菜单的设计4.2 文本组件的使用4.2.1 TEdit 组件4.2.2 TMaskEdit 组件4.2.3 TMemo 组件4.2.4 TRichEdit 组件4.3 多文档技术4.3.1 MDI 程序设计技术要点4.3.2 子窗体的管理www.PLC6目录4.4 界面的创建4.4.1 主窗体与子窗体4.4.2 工具条与状态栏4.4.3 菜单的融合4.5 文本编辑功能的实现4.5.1 文件操作4.5.2 字体、段落、查找与替换4.5.3 剪贴板的使用及其它4.5.4 右键菜单4.6 高级技巧-拖放功能的

11、实现4.7 思考题第5章 画图程序本章重点 本章讲述了 C+Builder 中的图象处理技术。主要内容有 TScreen 类、TCanvas 类、TPen 类、TBrush 类、TImage 组件的使用,光标的使用,图形文件的操作,剪贴板的使用以及图象处理的一些高级技巧学习目的 掌握 C+Builder 中与图形相关的组件和类的使用,掌握在程序中使用光标的方法, 以及图形文件操作和图象处理的技巧本章典型效果图5.1 基本图形图像类5.1.1 TScreen 类5.1.2 TCanvas 类5.1.3 TPen 类5.1.4 TBrush 类5.2 TImage 组件的使用5.2.1 绘图函数5

12、.2.2 文件相关的函数5.3 界面的创建5.3.1 窗体外型配置5.3.2 光标的设置5.4 画图功能的实现5.4.1 设计思路5.4.2 工具栏5.4.3 颜色选择框5.4.4 对鼠标事件的响应5.5 图象的复制、粘贴和文件操作ww.91HMI.comwww PLCworld cn5.5.1 图象的复制、粘贴和剪切等5.5.2 文件操作5.6 图形的缩放、反色及其它5.6.1 图象的缩放和反色www.PLC7目录5.6.2 自定义前景色与背景色5.6.3 “查看”菜单的响应5.6.4 程序的初始化5.6.5 程序的关闭5.7 思考题第6章 学生成绩管理&资源管理器本章重点 本章通过学生成绩

13、管理程序,介绍 C/C+/C+Builder 中文件的操作和使用;介绍了 Win31 选项卡中关于磁盘文件的组件,并利用 Win32 类的组件编写资源管理器学习目的 掌握文件的操作和使用,熟悉链表的使用,掌握 TListView、TTreeView 的使用本章典型效果图6.1 文件操作函数6.1.1 C 中文件的操作6.1.2 C+中文件的操作6.1.3 C+Builder 中文件的操作6.2 学生成绩管理程序6.2.1 界面设计6.2.2 程序逻辑结构6.2.3 学生信息的数据结构6.2.4 对 TabSet1、BitBtn1、BitBtn2 及各 Edit 的响应www PLCworld

14、cn6.3 可视化文件管理组件6.3.1 Win31 组件6.3.1 Win32 组件6.4 资源管理器6.4.1 界面的设计6.4.2 功能的实现6.5 思考题ww.91HMI.com第7章 屏幕保护程序的制作本章重点 本章介绍屏幕保护程序的制作技术,包括屏保的预览、运行设置以及正常运行效果三部分;还介绍了制作屏保程序需要使用的文字、图象处理和显示等技巧学习目的 掌握获取命令行参数的方法,掌握注册表的使用方法,熟悉字幕、图象的特殊处理和显示技巧本章典型效果图7.1 屏保制作的关键技术7.1.1 命令行参数的获取和处理7.1.2 注册表的使用7.2 屏保程序的结构7.2.1 窗体的设计7.2.

15、2 命令行参数的处理www.PLC8目录7.2.3 运行设置的功能实现7.2.4 屏保正常运行的功能实现7.2.5 屏保程序的运行效果7.3 字幕技巧7.3.1 立体文字效果7.3.2 旋转文字效果7.4 图象处理技巧7.4.1 图象的柔化7.4.2 图象的锐化7.4.3 浮雕效果7.4.4 图象的旋转7.5 图象显示技巧7.5.1 中心扩散效果7.5.2 百叶窗效果7.5.3 推拉效果7.5.4 交错效果7.5.5 雨滴效果7.6 思考题第8章多媒体播放器ww.91HMI.comwww PLCworld cn本章重点 本章介绍多媒体技术的使用,并使用 TMediaPlayer 组件制作一个媒

16、体播放器;另外,播放器的界面完全由自己绘制,这种美化窗体界面的处理方法也是很重要的一部分工作学习目的 了解多媒体技术的概念,掌握 TMediaPlayer 组件的使用;掌握资源文件的建立和使用,以及利用图形资源文件实现自定义窗体的方法本章典型效果图8.1 多媒体技术概论8.1.1 音频与视频8.1.2 动画、图象与文本8.1.3 媒体控制接口(MCI)8.2 TMediaPlayer 组件的使用8.3 程序界面设计8.4 资源文件的使用8.4.1 rc 文件的建立8.4.2 可以通过 Windows API 函数直接访问的资源8.4.3 能通过 API 使用的资源8.4.4 不能通过 API

17、直接使用的资源8.5 自定义窗体的实现8.5.1 窗体界面的绘制8.5.2 窗体的拖动8.5.3 标题栏按钮的事件响应www.PLC9目录8.6 媒体播放功能的实现8.6.1 媒体播放控制按钮的响应8.6.2 媒体播放时间的显示8.6.3 进度条的控制8.6.4 OnNotify 事件的响应8.6.5 视频显示窗口的功能8.7 思考题第9章 系统信息管理程序本章重点 本章首先讲述 Windows 系统的运行机制以及 C+Builder 中如何处理消息和使用API 函数,然后主要通过对 API 函数的使用来制作系统信息管理程序学习目的 理解 Windows 的消息驱动机制和 C+Builder

18、中消息的获取和处理;掌握关于窗口、进程、磁盘、内存、环境变量等的 API 函数的使用;熟悉多页组件的使用本章典型效果图9.1 Windows API 使用基础9.1.1 Windows 的运行机制9.1.2 C+ Builder 对消息的处理9.1.3 消息的截取和处理9.1.4 自定义消息的发送9.1.5 API 的使用9.2 界面设计9.2.1 主窗体界面的设计9.2.2 程序总体结构9.3 窗口和进程9.3.1 页面中组件的添加9.3.2 当前窗口的获取9.3.3 当前进程的获取9.3.4 右键菜单和进程的终止9.4 系统和设备9.4.1 磁盘驱动器9.4.2 内存9.4.3 设备9.5

19、 环境变量9.6 思考题ww.91HMI.comwww PLCworld cn第10章 FTP 工具制作本章重点 本章通过 FTP 工具的制作讲述 TNMFTP 组件的使用,并复习 TListView 组件的使用和工具栏的使用学习目的 了解 FTP 的概念,掌握 TNMFTP 组件的使用,复习 TListView 组件使用和文件、文件夹的操作www.PLC10目录本章典型效果图10.1 FTP 概述10.2 TNMFTP 组件10.2.1 TNMFTP 组件的功能10.2.2 TNMFTP 的属性、方法和事件10.3 界面设计10.4 功能实现10.4.1 登陆信息对话窗10.4.2 List

20、ViewLocal 的实现10.4.3 与服务器的连接10.4.4 ListViewRemote 的实现10.4.5 PopupMenuLocal 和 PopupMenuRemote 菜单的响应10.4.6 对 NMFTP1 各种事件的响应10.5 思考题第11章 远程屏幕监视程序本章重点 本章介绍远程屏幕监视程序的制作,包括屏幕图象的获取以及利用 WinSock 传输图象。介绍了 WinSock 编程的概念,以及 C+Builder 中与 WinSock 相关的几个类;实现利用 API 函数对屏幕图象的获取和格式的转换;实现利用 WinSocket 相关的组件传输图象;最后介绍任务栏图标的使

21、用ww.91HMI.comwww PLCworld cn学习目的 了解 WinSock 编程的一般概念,熟悉 C+Builder 中关于 WinSock 的类和组件的使用;学会利用 API 函数实现对屏幕图象的截取以及 bmp 图象的格式转换;掌握任务栏图标的使用本章典型效果图11.1 WinSock 编程概述11.1.1 WinSock 概述11.1.2 建立服务器端 Socket11.1.3 建立客户端 Socket11.2操纵 Socket 对象实现数据传输11.2.1 TCustomWinSocket 类11.2.2 TServerWinSocket 类11.2.3 TClientWi

22、nSocket 类11.2.4 TServerClientWinSocket 类界面设计11.3.1 服务器端11.3.2 客户端服务器端功能的实现11.4.1 API 函数介绍11.4.2 屏幕图象的截取11.4.3 客户端命令的提取与图象的发送11.311.4www.PLC11目录11.4.4 服务器端 Socket 其它事件的响应11.4.5 Socket 服务的开启和关闭客户端功能的实现11.5.1 连接参数的设置11.5.2 “连接”菜单的响应11.5.3 命令的发送和返回图象的读取11.5.4 客户端 Socket 其它事件的响应11.5.5 其它菜单的响应任务栏图标的使用思考题1

23、1.511.611.7第12章 俄罗斯方块本章重点 本章通过俄罗斯方块游戏的制作示例一个完整的 Windows 游戏程序的开发过程, 还介绍了制作 hlp 帮助文件的方法学习目的 掌握对实际问题进行模块划分和分别实现的方法;掌握帮助文件的制作方法以及在程序中启动帮助文件的方法本章典型效果图12.1 界面设计12.2 游戏逻辑结构和数据组织12.2.1 游戏的结构分析12.2.2 Square 类的定义12.2.3 Blocks 类的定义12.2.4 MainFrame 类的定义12.2.5 TetrisGame 类的定义各类的具体实现12.3.1 Blocks 类的实现12.3.2 MainF

24、rame 类的实现12.3.3 TetrisGame 类的实现键盘、定时器和菜单的控制12.4.1 键盘的控制12.4.2 定时器的控制12.4.3 菜单的控制12.4.4 其它帮助文件的制作12.5.1 RTF 文件ww.91HMI.comwww PLCworld cn12.312.412.512.5.2 创建俄罗斯方块游戏帮助文档的 RTF 文档12.5.3 HPJ 的创建12.5.4 编译生成 hlp 文件12.5.5 在游戏中启动帮助12.5.6 Tetris 游戏中帮助的启动www.PLC12目录12.6 思考题第13章 制作 DIRECTX 动画本章重点 本章讲述利用 Direct

25、X 技术实现动画的方法。DirectX 技术是一个很优秀的 Windows 游戏开发接口,DirectX API 基于 COM 建立,可以处理 2D、3D 图象、声音、各种输入设备、网络功能等。本章介绍 DirectDraw、DirectSound、DirectInput 等常用技术的使用学习目的 掌握 DirectDraw、DirectSound、DirectInput 等 DirectX 技术的使用,掌握动画制作方法本章典型效果图13.1 DirectX 简介13.1.1 DirectX 的特点13.1.2 DirectX 的结构和组成13.2 DirectX 使用基础13.2.1 Dir

26、ectDraw 的使用13.2.2 DirectSound 的使用13.2.3 DirectInput 的使用13.3 窗体和资源13.4 程序的实现13.4.1 程序结构13.4.2 头文件13.4.3 初始化13.4.4 帧图片的绘制13.4.5 界面恢复13.4.6 程序运行效果13.5 图形操作函数的实现13.6 思考题ww.91HMI.comwww PLCworld cn第14章 餐厅管理软件本章重点 本章介绍餐厅结账管理程序的制作。详细讲解 BDE 的使用,数据表的创建和设置, 以及 C+Builder 中数据库相关组件的使用,介绍了利用报表组件设计统计报表的具体过程, 还有制作软

27、件封面的技术学习目的 掌握 BDE 的使用方法、掌握利用 Database Desktop 创建和设置数据表的方法、掌握 TTable、TDataSource、TDBGrid 等组件的使用、掌握数据库的查找、修改等操作的方法、掌握制作 Master/Detail 类型和 List 类型报表的方法以及制作软件封面的技术本章典型效果图14.1 C+Builder 数据库程序开发基础14.4.1 BDE 简介14.4.2 数据库表的建立14.4.3 C+Builder 数据库程序的结构14.2 TTable 组件www.PLC13目录14.2.1 TTable 组件的属性和方法14.2.2 TTab

28、le 的事件餐厅结账管理程序的数据库设计界面设计与功能实现14.314.4.214.4.314.4.414.4.514.4.614.4.714.4.814.4.9报表.214.5.3主界面菜品、菜谱数据库维护餐桌库维护已点菜单库维护结账库维护职员信息和权限库维护点(加、退)菜结账登陆14.5餐厅职员分类统计报表菜谱销售分类统计报表账单统计报表14.6 软件封面的制作14.7 思考题ww .91HMI.comwww PLCworld cnwww.PLCC+ Builder 6 编程实例精解 赵明现第 01 章C+Builder 概述本章重点C+Builde

29、r 是一个强大的可视化开发工具,是灵活的 C+语言和随心所欲的可视化开发完美结合的产物。本章介绍 C+Builder 的特点,使你对 C+Builder 有个一般的认识;介绍 C+Builder 的集成开发环境,让你对其使用有个大概的了解;还简单介绍了帮助系统的使用以及 C+Builder在未来的可能发展趋势;介绍了 C+Builder 中几个有意思的复活节彩蛋。学习目的通过本章的学习,您可以: 对 C+Builder 的特点和发展趋势有大致的了解 了解 C+Builder 的集成开发环境www PLCworld cnww .91HMI.comwww.PLC第 1 章 C+Builder 概述

30、151.1 C+Builder 的特点随着 Windows95/98、Windows NT 系统的出现,编程工作也进入了 Win32 编程时代, Windows 漂亮的图形用户界面、多媒体技术、几乎不受限制的内存资源、多任务并发编程等技术无不激励着程序设计人员的 Win32 编程的欲望。但是,即使是要编写一个不执行任何操作的图形窗口,也要写下五六十行的代码,更不用说对界面的美化了。这是因为在进行 Windows 编程时,要面对的是微软窗口软件开发工具包(Software Development Kits,SDK)中几百个 Windows API 函数以及数大本厚厚的设计手册,如此繁重的工作使得

31、编写 Windows 程序变的毫无乐趣可言,而且也大大降低了编程的效率。这种情况下,软件公司引入了 RAD(Rapid Application Development,快速应用程序开发环境)程序开发工具,集成在 IDE(Integrated Development Environment)开发环境中,使得程序设计者可以在 Windows 环境下,快速的开发出窗口相关的应用程序。Visual Basic、Delphi 正是其中的表表者,它们通过引入控件(Controls)或组件(Components)使得开发 Windows 应用程序变得象累积木一样容易。特别是 Delphi,其简洁、灵活以及强

32、化大的功能,无不张扬着 Borland 程序员天才的智慧。Inprise(原 Borland)公司推出的 Turbo C、Turbo C+、Borland C+以及 Borland C+编程者所钟爱的编程工具,而且每一个都称得上经典之作,Delphi 更是 RAD 开发工具中最受钟爱的编程工具。C+ Builder 中则嵌入了 Delphi 中使用的高效的VCL(Visual Component Library,可视化组件库),使得开发人员不必要在 C+高效的底层控制和轻松的 VCL 编程环境之间作出选择。安装 BCB6 对系统的最低要求如下: Intel Pentium II/400 MHz

33、 或兼容产品 Microsoft Windows 98、2000 (SP2)或 XP 128 MB RAM (建议 256 MB) 750 MB 硬盘空间(完全安装) CD-ROM 驱动器 SVGA 或更高分辨率显示器(800x600,256 色)ww.91HMI.comwww PLCworld cnBuilder,无不是 C/C+鼠标或其他指示设备BCB6 的主要特性如下:通过 Web 服务简化企业到企业集成提高 Web 应用开发的功能和速度构建支持 Web 服务的高性能中间件利用业届标准的优势,支持 SOAP、XML、WSDL 和 XSL 等协议为 Windows 和 Linux 操作系统

34、构建可跨平台运行的应用程序通过高性能的 32 位源代码编译器提高效率支持 IBM DB2、Informix、Oracle、Sybase、MySQL 、dBASE、Paradox 和 Borlandwww.PLC16第 1 章 C+Builder 概述InterBase 等数据库可以看出 BCB6 在Web 服务的应用中做了比较多的工作,增添了利用 C+进行电子商务的快速开发的功能。1.2 C+ Builder 6 集成开发环境缺省状态的开发界面如图 1-1:ww .91HMI.comwww PLCworld cn图 1-1C+Builder6 开发界面它由五部分组成,最上方为主窗口,下方左侧为

35、对象列表树和对象检查器,右方为设计窗体和代码编辑器。小技巧:每次启动 C+Builder 之后,都会弹出一个新建的工程,如果要取消启动后新建工程这个操作,可以将启动 C+Builder 的快捷方式的属性中添加 np,如:F:Program FilesBorlandCBuilder6Binbcb.exe npwww.PLC第 1 章 C+Builder 概述171.2.1 主窗口主窗口位于最上方,包括主菜单、工具栏的加速按钮以及组件选项板。主菜单中包含着各种命令操作。工具栏位于主菜单下方的左侧,有两排,常用的有第二排左侧的“View Unit”、“View Form”和“Toggle Form/

36、Unit”。其中“View Unit”用于查看工程中的 Cpp 等源文件,快捷键为 Ctrl+F12;“View Form”用于查看工程中的窗体,快捷键为 Shift+F12;“Toggle Form/Unit”用于切换当前编辑的窗体和它对应的源文件,快捷键为 F12,在编程过程中使用最多。工具栏中的“Run”、“Pause”等按钮用于程序的调试。Run 的快捷键为 F9。图 1-2 主窗口如图 1-2,主窗口下部右侧为组件选项卡,它是一个多页面的结构,不同种类的组件放置在不同的页面中。在选项板中点击右键,选择 Properties 菜单,可以在弹出的属性对话窗中编辑选项卡中各个页面以及页面中

37、各个组件之间的顺序,也可以对页面和页面中的组件进行删除和添加。ww .91HMI.comwww PLCworld cnwww.PLC18第 1 章 C+Builder 概述ww.91HMI.comwww PLCworld cn图 1-3 选项卡属性编辑窗1.2.2对象列表树和对象检查器图 1-4 对象列表树对象列表树中列出了窗体中添加的各个组件,以结构树的形式清晰的表示出各个组件之间的关系。如果一个容器中也有其它组件,那么容器中的组件将以子节点的形式显示在列表树中。在窗体中组件比较多时,或者在窗体中不易用鼠标选中所添加的组件时,列表树就变www.PLC第 1 章 C+Builder 概述19得

38、很有用了。图 1-5 对象检查器属性检查器上部是一个下拉菜单,从下拉菜单中可以选择窗体中的各个组件。下部是属性和事件两个选项卡。在事件选项卡中,左侧为组件可以响应的事件类型,鼠标点击右侧可以为对应的事件选择响应函数,如果程序ww中w 没PLC有wo定rld 义cn 合适的函数,那么双击右侧的空白就会自动创建响应函数。ww .91HMI.comwww.PLC20第 1 章 C+Builder 概述1.2.3代码编辑器ww.91HMI.comwww PLCworld cn图 1-6 代码编辑器代码编辑器由两部分组成,左侧是类浏览器,其中列出代码中定义的类及其属性和方法; 右侧为代码编辑窗口,点击上

39、方的选项卡可以对不同单元的源文件进行浏览和编辑,对于同一个单元,可以点击下方的按钮选择其 cpp 文件和头文件。在代码编辑器中点击右键,选择属性菜单,可以在“Editor Properties”窗口中定义自己喜欢的编辑方式,如更改 General 页中的 Tab Stops 属性,可以更改按 Tab 键光标前进的字符数,在 Colors 页中可以更改对不同部分的代码的显示颜色。1.2.4 窗体窗体(Form)是在设计程序时,用来规划程序界面的地方。它是所见即所得的模式,在选项卡上选择想要添加的组件,然后用鼠标在窗体上点击,即可添加该组件,选中窗体上的组件即可通过属性检查器更改组件的属性和其事件

40、处理过程。对于组件的移动和大小的控制,可以通过鼠标操作完成,但是鼠标操作时,窗体的大小www.PLC第 1 章 C+Builder 概述21和位置都是对齐到网格的,如果想要实现组件大小和位置的微调,方法之一就是在属性检查器中更改器大小和位置的相应属性,另一个常用的方法就是用 Ctrl+光标键来实现组件位置微调,用 Shift+光标键实现组件大小的微调。如果要取消对齐到网格的功能,或者更改网格的大小,可以打开主菜单“Tools”-“Environment Options”,在弹出的对话窗中选择 Designer 选项卡,如下:ww .91HMI.comwww PLCworld cn图 1-7 环

41、境设置对话窗其中“Display grad”决定是否在设计时显示网格(这些网格在执行程序时是不显示的), “Snap to grad”决定是否将组件位置和大小在鼠标拖动时对齐到网格,“Grid size”决定窗体上网格的大小。运行程序时,会发现,在按 Tab 键时,获得焦点的组件是有一定的顺序的,这个顺序在设计期间由添加组件的先后顺序决定,也可以更改。在窗体上点击右键菜单中的“Tab Order”,弹出“Edit Tab Order”对话框,在对话框中列出了窗体中能够获得输入焦点的组件,按照其 Tab Order 的先后从上到下排列,选择相应的组件,点击右侧的箭头按钮可以更改选中组件的 Tab

42、 Order。www.PLC22第 1 章 C+Builder 概述图 1-8 Tab Order 对话窗1.2.5工程管理器ww.91HMI.comwww PLCworld cn图 1-9 工程管理器通过 View 菜单的 Project Manager 菜单项打开工程管理器(快捷键是 Ctrl+Alt+F11),通过它可以添加和删除工程中的单元或相关的其它工程。一些协同工作的工程可以通过它加入到同一个工程组中,通过工程组,可以操作和组织相互依赖的工程,例如多层次应用,或者共同执行的动态链接库与可执行程序。www.PLC第 1 章 C+Builder 概述23如果工程中有与其它工程或程序共享

43、的文件,就可以通过工程管理器清楚的看到各个文件的路径,对于何时备份已经完成的程序很有帮助。1.3 C+Builder 6 中的复活节彩蛋C+Builder6 中有一些很好玩的彩蛋,它们大都跟 Delphi4 的彩蛋差不多。在命令行模式下的 bcc32 命令后使用-Team 作为参数,会列出编译器的制作者名单,如下:E:Documents and Settingsalpherbcc32 -TeamBorland C+ 5.6 for Win32 Copyright (c) 1993, 2002 Borland Its the compiler team!John Wiegley Eli Boli

44、ng Yooichi Tagawa Dawn Perchik Mark Alexander Lee Cantey Maurice Barnum Alastair Fyfe在 bcc32 的 help 命令后加 me 或者 me!,输出如下: E:Documents and Settingsalpherbcc32 -help me!Borland C+ 5.6.1 for Win32 Copyright (c) 1993, 2002 BorlandBut Im having too much fun!ww .91HMI.comwww PLCworld cnwww.PLC24第 1 章 C+Bui

45、lder 概述图 1-10 C+Builder6 正常启动界面程序源文件之前如果使用#pragma curious_george、#pragma gpfault prettyplease、#pragma keeka 也会有一些好玩的效果。不过最好玩的是,如果在启动 C+Builder6 之前按下 Ctrl+Shift键,启动画面会变成开发小组的合影照片。不过需要注意的是,因为在输入法中 Ctrl+Shiftwww PLCworld cn可能已经被使用,所以如果你按下它们没有出现照片的话,注意打开输入法设置窗口,去掉Ctrl+Shift 的热键。如图 1-10 是正常启动时的启动画面,而按下 C

46、trl+Shift 时,启动画面变为:ww .91HMI.comwww.PLC第 1 章 C+Builder 概述25ww.91HMI.comwww PLCworld cn图 1-11 启动彩蛋小技巧:1.4 帮助系统不管是熟练的编程者,还是刚入门的初学者,联机帮助的使用都是很有用的,而且,往往越是经验丰富、编程熟练的人,对帮助文件的使用也越多,越熟练。学会如何使用帮助, 是程序员必备的素质。其实常看到有人抱怨说 C+Builder 的帮助做的不好,没有 MSDN 做的好,而且常常出错,帮助文件里面有错误我倒是遇到过,不过,有帮助总比没帮助好,学会使用帮助,里面的一些错误,也还是比较容易看出来

47、的。打开帮助的方法有两种,可以点击到组件上,然后按 F1 键,也可以通过 Help 菜单打开帮助。如果你觉得 C+Builder 启动太慢,可以打开主菜单 ComponetInstall Packages,把列表中用不到的 Packages 勾掉(记住不是 Remove,否则就勾不回来了)www.PLC26第 1 章 C+Builder 概述ww.91HMI.comwww PLCworld cn图 1-12 帮助索引在查找相关类的帮助时,需要注意,C+Builder 中类名的前面一般都有一个 T。打开帮助之后,在上方会有类的属性、方法、事件等相应的连接。在使用到 API 的帮助时,应使用 He

48、lp 菜单中的 Windows SDK 帮助,利用它可以查询各个 API 函数的声明,各个入口参数的说明等信息。1.5 C+Builder 的未来现在 Windows 操作系统已经开始由 Win32 系统转向.NET,.NET 跟 Win32 系统有本质的区别,逐渐的,微软也将不会再提供新的 Win32 API,随之而来的,程序开发工具也必然不得不向.NET 转型。Borland 公司在 2003 年推出的 Windows.NET 平台的开发工具有三个, Delphi.NET、C#Builder 与 C+Builder X,Borland 公司产品结构的这一变化正是由于 Windows操作系统

49、的变革引起的。Windows 操作系统向.NET 的转型,类似于 DOS 系统向 Window 系统的转型,对于软件开发工具提供商,都是一个很大的冲击,各种编程工具都争相向.NET 升级。Borland 公司的Delphi 和 C+Builder 都深深的根植与 Win32 的 API 之上,所以面对.NET 的冲击,一方面, Delphi 推出.NET 版本,随着操作系统一起升级,和 C#Builder 一起成为.NET 平台下 Borland公司的主力,而另一方面,C+Builder 则开始向另一个方向发展,力图成为一种平台无关的www.PLC第 1 章 C+Builder 概述27原生开

50、发工具。C+Builder X 之前的版本与 Delphi 是由同一个开发小组开发的,这也是 Delphi 和C+Builder 一直都是轮流进行版本升级的原因,面对.NET 的转型,Borland 公司成立了专门的开发小组,从此 Delphi 和 C+Builder 的开发分道扬镳。为什么 C+Builder 不向.NET 过渡,而是要走平台无关这条路?这一方面是因为不管操作系统如何发展,在 UNIX/Linux,Windows 中,C/C+在底层的操作和控制中都有其不可替代的作用,而另一方面,由于 C+语言本身的原因,它不适合向.NET 过渡。要让 C+向.NET 过渡,必然要对 C+进行

51、大幅度的修改,象 Visual Studio.NET 的 Managed C+,一出现便恶评如潮,可见,Borland 走 C+平台无关这条路确是明智之举。熟悉 C+Builder 的都应该知道,C+Builder 的 VCL 库是用的 Delphi 的,它的代码都是用 Object Pascal 写成,所以很多人都会觉得 C+Builder 其实是 Delphi 的 C+版本,C+Builder X 的推出,很受关注的一个问题就是其 VCL 的向下兼容性。在 C+Builder X 中,将不再提供 VCL,C+Builder X 中的 framework 将是全新的,完全由 C+完成、跨平台

52、的 framework, 而其 GUI 部分则是要基于第三方的跨平台组件库 wxWindows,当然,现在的 C+BuilderX 的 1.0 版本中并没有 GUI 和 RAD 功能,这将在 2.0 版本中提供。C+Builder X 的 IDE 将使用 JBuilder 的 IDE,C+Builder X 如果成功,其影响力是无可置疑的,由于其平台无关性,必然大大的促进C+程序的在应用领域的开发潜力。Borland 公司作为创造了无数经典的老牌公司,其技术和经验足够的强大,而且,它一直以来都是世界级的完全平台无关的软件开发公司,所以,由它开发完全平台无关的C+BuilderX 再合w适ww不PLC过wo,rl我d c们n 就耐心的期待着 Borland 公司再在 C+开发工具中创造一个经典吧!ww .

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论