680 likes | 1.56k Views
第一章 C++ Builder 6 概述. 安装,是使用 C++ Builder 的第一步,在这一章,我们将带领着大家进入 C++ Builder 的世界里,让我们对 C++ Builder 有更进一步的认识。. 大纲. 1-1.C++ Builder 6 简介 1-2. C++ builder 6 快速入门 1-3. 面向对象编程的基本概念 1-4 . C++ builder 的 IDE 应用环境进阶 1-5. 在线寻求协助( On-Line Help ). 1.1 认识 C++ Builder 6.
E N D
第一章 C++ Builder 6概述 安装,是使用C++ Builder的第一步,在这一章,我们将带领着大家进入C++ Builder的世界里,让我们对C++ Builder有更进一步的认识。
大纲 • 1-1.C++ Builder 6简介 • 1-2.C++ builder 6快速入门 • 1-3.面向对象编程的基本概念 • 1-4.C++ builder的IDE应用环境进阶 • 1-5.在线寻求协助(On-Line Help)
1.1 认识C++ Builder 6 C++ Builder 6是美国Borland公司最重要的 程序语言产品之一,功能强大,操作简单。 C++将C语言加入了面向对象概念。C++语 言成功地将c语言简洁,快速的优点与面向对象 的软件工程设计方法相结合,成为主流的应用 程序开发工具。
Visual c++ C++开发工具 C++ Builder GNU C++ (适用于UNIX系统) Enterprise(企业版):适用于企业开发人员,增值软件厂商,系统集成公司等需要构建现代e-Business应用系统的技术人员。 C++ Builder 6 的版本 Professional(专业版):适用于需开发商业数据库应用程序,或想进入新兴LinuxR市场的专业开发人员,可将在Windows平台上的开发投资轻易的移植到Linux平台。 Personal(个人版):提供初学者以可视化开发工具,以鼠标拖放的方式,轻松学习窗口程序设计。
如何安装使用Borland C++ Builder 6 • 第一步:将光盘片放入光驱中,Windows将会自动跳出以下的画面供我们安装。 • 我们选择第一项『C++ Builder 6』来安装Borland C++ Builder 6 • 按下第一项之后,第一个出现的画面就是Install Shield Wizard出现的画面,主要是准备安装过程中会需要使用到的档案。等到准备画面跑到100%后,会马上出现Borland C++ Builder 6的欢迎画面,在这个画面我们不需要有任何的思考,直接按下『Next』
如何安装使用Borland C++ Builder 6 • 遇到序号以及认证码输入的画面。 • 将序号以及认证码都输入后,请按安装程序的『Next』进行序号以及认证码的确认。 • 选择『Accept』来继续进行我们的安装过程啰!
如何安装使用Borland C++ Builder 6 • 来到安装模式的选单,在这个选单我们可以选择Typical、Compact、Custom这三种模式 • 如果担心安装不够完整,可以选择Custom来安装Borland C++ Builder 6,因为在Custom的安装模式下,可以选择『全部安装』。 • 当我们选择了Custom之后,有可能会出现一个『Just-In-time Debugging』的讯息窗口,这个窗口主要是想要告诉我们,目前在系统的registry中已经有一个Just-In-Time的Debugger在运作,我们是不是要使用Borland C++ Builder 6当作这个Just-In-Time Debugger,如果要的话就选择『是』,如果不要的话就选择『否』。
如何安装使用Borland C++ Builder 6 • 当你决定要不要使用Borland C++ Builder 6当你的Just In Time Debugger之后,就会出现Custom Setup的选单,这个选单主要就是希望让我们选择我们想要安装的项目,在这边我们将全部选择所有组件(预设)。 • 在选择安装组件的画面按下Next之后,还有几个画面是在设定『BDE SQL Driver』、是否安装『VisiBroker / CORBA Support』、『Office版本』、『想要连结的档案扩展名』、『安装目录』等等,最后还会要求使用者决定要不要纪录安装过程的数据到硬盘上。等上述一切都设定完毕,InstallShield就会马上帮我们开始安装BCB 6。 • BDE SQL Driver设定画面
如何安装使用Borland C++ Builder 6 • 安装路径设定画面 • 决定是否储存安装过程信息
如何安装使用Borland C++ Builder 6 • 在上述的设定过程中,还会有一个『License Agreement』要让我们确认,这个『License Agreement』就是有关Deploying Multi-Tier Programs的授权确认,在这边使用者也是一样选择『I agree』的选项之后继续按下『Next』。
如何安装使用Borland C++ Builder 6 • 当我们一切都OK了之后,就会出现安装的画面 • 在这个画面的最下方有一个Progress Bar在显示安装的进度,在安装的过程中 • 如果读者临时想要放弃安装都可以直接按下『Cancel』来取消这次的安装。 • 安装到最后快要结束的时候,还会出现一个小窗口请我们放入『Disk 2』继续进行安装,这时候我们就将光驱内的Disk 1换成Disk 2后按下这个小窗口的『OK』钮继续进行我们的安装程序。
1如何安装使用Borland C++ Builder 6 • 安装完BCB 6之后,因为我们是目前安装的是企业版,而且再之前的安装设定时有选择『VisiBroker / CORBA Support』的选项,所以安装系统还会帮我们安装jdk、VisiBroker,也会帮我们安装InterBase Client这三样软件,如果你认为你不需要安装,则可以在此时选择取消。
如何安装使用Borland C++ Builder 6 • 整个安装完成后,安装程序会跳出一个画面告诉我们已经将Borland C++ Builder 6顺利且成功的安装到我们的计算机里了,而且系统也会要求重开机,这时候只要重开机完毕,我们便完成所有的安装动作。
如何安装使用Borland C++ Builder 6 • 重开机后,我们可以在开始选单中发现BCB 6的选单。接下来我们选择C++ Builder 6这个选项来启动BCB 6。 • 如果这是安装后第一次开启BCB的话,将会有一个注册的画面要大家做『Register』的动作,在这边大家就根据自己的需求选择一种最方便的方法就可以了。当注册成功之后,系统就会开始进入BCB 6的动作。
如何安装使用Borland C++ Builder 6 • 在你注册成功后继续开始BCB 6的过程中将会出现BCB 6的Logo,在Logo这个画面差不多停留了十多秒就会跳入BCB 6的主画面。当然,根据计算机配备的不同,停留在Logo的时间也会不同。 • 在这边我们还有一件事情要提醒各位。如果显示卡是S3系列的某些显示芯片(如:Virge DX或Virge GX2等等),而且是使用Win95/98系列的操作系统,可能会在开启BCB时当机,这时候你只需要在操作系统内找到system.ini这个档案,用任何一种文字编辑器开启这个档案。先寻找[Display]这个项目,如果找不到这个项目,则可以在档案的最后面加入,接着在这个项目内加入DeviceBitmap=0后存档,重开机,之后就不会有这个问题了。
4.3 面向过程与面向对象 1、面向过程的程序设计 面向过程的程序设计是指针对所要解决的问 题,在程序设计时以功能来划分,设计对应 的函数或是子程序,再由主程序整合为一个 解决完整问题的程序。 缺点:1、开发速度慢 2、调试和维护难
2、面向对象的程序设计 面向对象程序设计与面向过程使用完全相反 的思考模式,从人类的思考问题习惯来分析 问题,利用面向对象的特性,把问题中的所 有个体数据及操作程序,一一封装为独立的 对象,重要的是对象彼此间的关系,对象之 间如何传递消息。
C++ Builder本身就是以C++为基础的软件开发系统,所以整个项目架构就是对象导向的架构。在这一小节里,我们只稍微解释了一下在BCB中最容易遇到有关于对象导向的名词,我们将以最少的文字以及例子让大家尽快的了解这些名词的意义。至于详细的对象导向原理或是C++的语法,可能就得请读者自行研读这方面的书籍,在这本书中不会提到这方面的东西。
类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。这有点像C语言中的结构,唯一不同的就是结构没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们平常经常看到的“方法”,因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。 • 对象是类的实例。对象是属于某个已知的类。因此,定义对象之前,一定要先定义好该对象的类。下面简单的介绍对象的定义。 • 对象在确定了它的类以后,其定义格式如下:<类名><对象名表>
什么是对象(Object) • 对象,照字面上的意义来说,就是一个一个的东西。没错,我们举几个生活上的例子来说明:脚踏车是一个对象,汽车也是对象,锅子也是对象,房子也是对象。如以上所说,其实一般我们可以看的到,摸的到都可以称作是对象。 • 在BCB里面的对象则是一个一个的VCL组件,或是我们自己建立的对象也是,例如按钮是个对象,选单也是个对象等等。简单的说明一下对象的大概意义差不多就是这样子了。
什么是属性(Property) • 属性,它就是对象的特性、特征。例如:汽车有颜色这个特征,但是不同的汽车可能会有不同的颜色,所以颜色就是汽车的一个属性,其余的如汽车的马力、汽车的车门数目、汽车的极速、汽车的排器量……等等,只要是用来描述这台汽车的东西都可以称作是这台汽车的属性。 • 反观,在BCB中对于一个对象的属性是哪些呢?以按钮来说好了,按钮的颜色、位置、大小……等等,都是按钮的属性。说到这边,不知道大家对于属性有没有更进一步的认识呢?
什么是事件(Event) • 事件,简单来说就是会发生的事情。例如对于一台汽车来说,"正在驾驶"就是一种事件,转弯、煞车等等都是。那对于BCB上的按钮来说,按下按钮就是一个事件。如果是对于整个窗口来说,开启窗口也是一个事件、窗口移动、窗口关闭等等也都是事件。 • 什么是方法(Method) • 如果你要将汽车从红色变成蓝色,所使用的"方法"就是我们这边所要说的方法。很简单的,把这种观念转换到BCB上的对象,假设我现在想要让按钮变成Focused,那我只需要执行SetFocus这个方法。如果我要将一个字符串(AnsiString)变成整数,我只需要使用ToInt这个方法。所以,我们只要想成,要作一件事情一定需要一个方法,那就可以很清楚的将"方法"的定义弄清楚了。
1-4.C++ Builder 6的IDE环境介绍 • 1-4.1. 主要的IDE画面 • 下图是Borland C++ Builder 6的主要画面,这个画面也是我们主要的工作环境。
1-4.C++ Builder 6的IDE环境介绍 • 1-4.2. 窗体(Form) • 窗体,是我们放置VCL组件的地方,它长成什么样子,我们的程序就会变成什么样子,我们只需要用『拉』的方式,就可以很容易的建立出程序的基本架构及接口。这就是为什么我们会说,利用BCB来开发程序将会大大的减少窗口的建构速度。
1-4.C++ Builder 6的IDE环境介绍 • 1-4.3. 菜单以及VCL组件 • 在下图内共有菜单(Main Menu)、快速按钮(Tool Bar)、以及VCL组件(Component Palette)这三大部分。我们将在下面一一介绍这三大部分的主要功能及成员。 • 主菜单,顾名思义就是提供BCB内所有的主要功能,总共分为『File』、『Edit』、『Search』、…、以及『Help』,共十一种不同的分类。每一种分类都有他的子选单,在这边笔者建议各位读者,有空的时候将这十一种不同的选单多少看一下,才不会要用的时候临时找不到该功能放在哪!
1-4.C++ Builder 6的IDE环境介绍 • 在快速按钮中,共分成五大部分,分别是『Standard』、『Custom』、『View』、『Debug』、以及『Desktop』这五部分。以下就是这五大部分的图示:这五种不同功能的Tool Bar皆可以在主选单中的『View』选单内的『Tool Bars』中做设定。在Tool Bar中提供的主要都是我们在程序开发中最常用到的功能,所以有了tool Bar的帮忙,可以让我们开发程序的速度加快一些。
1-4.C++ Builder 6的IDE环境介绍 • VCL(Visual Component Library)组件所在的地方我们称做『组件控制版(Component Palette)』,它提供我们许多窗口程序的对象,让我们在开发程序上更快速。VCL组件相当的多,在BCB 6.0企业版里,就有超过300个以上的组件可以供我们重复使用,还好BCB利用多页选单的方式将VCL组件分类好,让我们才能快速的找到我们所需要的VCL组件。每一个VCL组件都有自己特有的属性及方法,有很多情况我们只需要更改这些属性就可以达到我们的要求,而这些属性及方法我们将会在往后的章节内为大
1-4.C++ Builder 6的IDE环境介绍 • 1-4.4. 程序编辑器(Code Editor) • 程序编辑器提供了我们在BCB内写程序的接口。在程序编辑器中有四个方便好用的子功能可以让我们利用。这四个子功能,我们将在以下慢慢介绍。
1-4.C++ Builder 6的IDE环境介绍 • Code parameters:自动显示函式或是对象所需要的参数以及参数型态,可以减少我们一直查阅On-Line Help。你只要键入函式的左括号后,将游标停住不动一下子,Code parameters就会自动显示出它该显示的东西了。 • Code templates:按下『Ctrl-J』后,会跳出一个小窗口,这个窗口内包含了C++语法中的命令叙述,可以省去programmer查语法的时间。
1-4.C++ Builder 6的IDE环境介绍 • Code completion:在写程序的过程中,我们可能宣告了很多结构体,可能宣告很多class,可能宣告很多对象,可能新增很多属性,BCB本身提供的对象也相当多,我们当然不可能全部都记住每个对象的属性或是方法。这时候,为了减少我们翻阅On-Line Help的时间,我们可以借着Code completion这项功能,让我们不需要在记住那些恼人的东西。当你想用Code completion的时候,你只要将光标停住不动一下子,Code completion就会自动显示出它该显示的东西了。
1-4.C++ Builder 6的IDE环境介绍 • Tooltip expression evaluation:这个功能可以说是Debug工具中的高手,也是Code Insight中我们认为最强的一项功能。因为在传统的写程序过程中,想要观看Run time中的一些变量值,要将这些变量加入Watch窗口中,增加了许多麻烦,但是在BCB内,我们可以任意设定断点,等程序跑到这边时,只需要将光标轻轻的放在我们想要看的变量上面,值马上就出现了。当然,整个BCB的Debug功能不只这一项,我们将在下面介绍更多Debug的工具。
1-4.C++ Builder 6的IDE环境介绍 • 1-4.5. 物件检视器(Object Inspector) • 对象检视器将VCL组件中的属性及事件全部显示出来,让programmer可以利用对象检视器知道VCL组件的一些信息,也可以利用对象检视器直接设定或是修改属性,当然也可以新增某个事件的程序代码。在对象检视器上方有个下拉式选单,会将我们已经加入窗体中的所有VCL组件全部列出,我们可以利用这个下拉式选单快速的选择某个VCL组件。
1-4.C++ Builder 6的IDE环境介绍 • 1-4.6. 类别浏览器(Class Explorer) • 类别浏览器利用树状结构显示整个程序的架构,不管是类别、型态、属性、对象、事件等等,类别浏览器都会完完整整个显示出来。在BCB 6的环境下,类别浏览器是在程序编辑器的左边,当然,你也可以将类别浏览器独立出来。
除错器(Debugger) • Debug可以算是写程序过程中最令人头痛的事情,所以BCB在这方面也下了许多苦心,也提供了很多工具,例如我们上面说过的Tooltip expression evaluation、还有Watch List、Breakpoint等等,在Project Options中也有一些关于Debugging的设定,我们现在就简单说明几项好用的Debug工具:
除错器(Debugger) • Breakpoint:你可以直接按下程序编辑器左方的空间,直接定出Break Point,也可以选择Main Menu上的View a Debug Windows a Break Point的选项来启动Breakpoint List。
除错器(Debugger) • 常用的按键:
除错器(Debugger) • Watch List:可以点选Main Menu上的View a Debug Windows a Watches来叫出Watch List,也可以直接按Ctrl-F5或Ctrl-Alt-W叫出。此窗口主要用来观察程序中的变量在执行期间变量内容的变化。这个功能也可以搭配我们前面说过的Tooltip expression evaluation,这样会让我们debug更方便。
除错器(Debugger) • Call Stack:Call Stack可以让我们知道目前程序的stack内有哪些东西,也就是可以知道我们目前程序呼叫了多少函式,以及一些其它信息。 • BCB提供的Debug工具当然不只这些,我们只举出一些比较常用的工具,让我们可以在写程序的过程中更方便Trace程序。
1-5.在线寻求协助(On-Line Help) • Borland C++ Builder提供了很棒的On-Line Help可以供我们使用。 • 有不知道的函式、有不懂的对象、有不清楚的用法等等,找它就对了。只要你不排斥看英文,我们认为On-Line Help是一个可以在短时间内给你答案的途径。 • 那该如何叫出On-Line Help呢?很简单,可以从Main Menu中的Help中去找,有C++ Builder Help、C++ Builder Tools、以及Windows SDK, • 当然还有网络上的资源,也是很好的数据来源喔!
1-5.在线寻求协助(On-Line Help) • 除了从Help选单去找外,还可以从开始选单直接呼叫出Help。
1-5.在线寻求协助(On-Line Help) • 在Help的画面中,你可以使用系统帮你分类好的方式去找寻你要的答案,也可以使用它的index直接寻找你要的资料。 从内容寻找数据 从索引寻找数据
附录:C++ Builder 基本程序设计范例 • 把BCB安装完成,也了解整个IDE接口后,我们终于要展开设计之路了。在这一章节,我们将了解到整个BCB的设计原理,对象、属性、事件、方法到底是什么?以及我们该如何建立窗口程序等,都将呈现在大家的面前。进而介绍如何更改整个项目的属性及选项。
附录:第一个窗口应用程序 • 每当我们看到一个一个华丽的窗口应用程序时,是不是都有个梦想,我们也想自己写一个这么漂亮的东西出来。现在,我们将实现这个梦想。 • 附录:如何建立/执行Windows应用程序 我们将一步一步的带领大家建立第一个窗口应用程序。现在我们执行BCB这套开发环境,执行后会出现如图的画面出现。
附录: 第一个窗口应用程序 • 其实,这就是一个基本的窗口程序了,现在,我们接着按下『Run』这个按钮或是『F9』,就会出现一个最简单的窗口了。 • 接着我们选择『Close All』,将所有的设计表格关闭,并且选择不储存。 最简单的 窗口应用程序
附录: 第一个窗口应用程序 • 当我们关闭所有开发程序之后,如果我们还想继续开发一套新的应用程序,我们可以选择窗体中的New,或是直接点选New的按钮,之后就会出现建立新应用程序的选单。
附录: 第一个窗口应用程序 • 附录:储存项目内容 • 当我们开发程序当中,我们一定会常常储存现在的成果,以避免当机或是程序无响应等造成的损失,这一小节我们将仔细的让各位了解BCB中储存项目的方法为何。我们储存项目大致上分成四种:
附录: 第一个窗口应用程序 • 我们可以在主选单中找到这四个选项,也可以在快速按钮的区域找到其中两个。 • 现在我们准备储存我们目前的项目内容,我们选择Save All的按钮按下去后,第一个会出现的窗口会储存目前的Form和程序代码,接着会再出现一个对话窗的画面来储存整个项目的内容及设定。『范例程序2-1』
附录: 第一个窗口应用程序 按下Save All的快速钮 储存Form及窗体的画面 储存项目内容的画面
附录: 第一个窗口应用程序 • 若是我们只选择Save而不是Save All的时候,只会出现类似前面储存窗体以及程序代码的画面,并不会出现储存项目的画面。其实Save As跟Save Project As这两个储存选项跟我们刚刚提到的几乎一样,只是这两个选项会保留原本已经储存的数据改存成另一个我们新指定的档案而已。 另存专案 另存窗体及程序代码
附录: 第一个窗口应用程序 • 附录:更改窗体基本内容 • 在窗口的设计中,窗口本身就具有很多属性可以供我们更改,我们在这一小节将介绍几个常见的属性,至于在BCB中的大部分属性以及说明可以在BCB内的On-Line Help中找到。 • 在更改窗体内容这部分我们将举几个例子出来,让大家直接从例子中学习。我们所举的例子可能才两三个,不过读者可以自行变更各种不同的值试试看,相信一定会有更多不同的发现。 Form的属性