C++ Builder编程指南1
副标题#e#
Borland C++ Builder(以下简称C++ Builder)是由Borland公司 继Delphi之后又推出的一款高机能可视化集成开拓东西。C++ Builder具有快速的可视化开拓情况:只要简朴地把控件(Component)拖到窗体(Form)上,界说一下它的属性,配置一下它的外观,就可以快速地成立应用措施界面;C++ Builder内置了100多个完全封装了Win95公用特性且具有完全可扩展性(包罗全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开拓情况所能提供的全部成果:快速、高效、机动的编译器优化,慢慢毗连,CPU透视,呼吁行东西等。它实现了可视化的编程情况和成果强大的编程语言(C++)的完美团结。出格是Borland公司新宣布的C++ Builder 3.0,不单在可视化编程东西上提供了比Delphi 3.0更强大、易用的编程东西 ,还在C++语言上提供了加强成果。
一、成果简介
1.充实操作C++的强大成果
C++ Builder优化的32位原码(Native Code)编译器成立在Borland公司久经检验的编译技能基本之上,提供了高度安详性、靠得住性、快速性的编译优化要领,完全编译出原始呆板码而非中间码,软件执行速度大大提高。在编译和毗连进程中,C++ Builder自动忽略未被修改的原代码和没有利用的函数,从而大大提高了编译和毗连速度。C++ Builder的CPU透视东西包罗五个独立的小面板,可以对正在运行措施从内部举办深条理的相识。别的C++ Builder还提供了一个专业开拓情况所必须的呼吁行东西,以辅佐成立C++措施可能筹备编译和毗连的措施举办更风雅的节制。
C++ Builder可以编译所有切合ANSI/ISO尺度的原代码,支持最新ANSI C++/C语言特征:模板(Templates)、破例(Exceptions)、运行范例信息(Runtime Type Information)、Namespaces等,别的它还可以利用尺度C++库且支持尺度模板库(STL),以前的所有C++/C原代码可以不颠末修改,直接移植到C++ Builder情况下来。C++ Builder完全支持32位长文件名、多线程措施设计,且答允措施员直接挪用任何Win95和NT API函数。
2.高效可视化开拓情况
C++ Builder的集成开拓情况(IDE)提供了可视化窗体设计器、工具调查器、控件板、工程打点器、集成编辑器和调试器等一系列可视化快速应用措施开拓(RAD)东西,让措施员可以很轻松地成立和打点本身的措施和资源。
3.可重用控件
在面向工具语言(如Smalltalk、Java等)中,一个类包括特定工具感乐趣的数据和界说工具行为的要领,而子类是对父类的担任,又增加了一些新的要领。在C++ Builder中所利用的可视化控件库(VCL)也具有同样的观念 ,每一工具中包罗数据成员和要领,措施员操作要领打点该工具。VCL成立在类库布局之上,充实操作了控件的属性和事件观念,每个控件不只包括答允措施员打点其外观的民众数据部门,还包罗通过属性和事件会见的函数部门。
4. 数据库开拓东西和客户机/处事器(C/S)毗连
C++ Builder同Delphi一样,提供了一整套数据库开拓东西,可以开拓出成果强大、界面雅观、便利的数据库应用措施。C++ Builder提供了一个最新的数据库引擎BDE,所有的数据库毗连利用的指令,均会通过BDE举办处理惩罚。对付单机利用的数据库而言,C++ Builder可以直接通过BDE来节制数据库数据的读取;而对付远端的数据库系统,BDE尚需通过SQL Links或ODBC才气读取数据库的内容。
C++ Builder的C/S版本可以通过32位SQL Links驱动器直接毗连Oracle、Sybase、MS SQL Server、DB2、Informix和InterBase数据库,成立起企业级客户机/处事器应用措施。别的C++ Builder提供了与数据库相关的工具和强大的报表发生东西:ReportSmith,增加了措施编写的便利性。
C++ Builder中提供了几个利用数据库的东西,让用户可以直接修改数据库中的数据,或是执行一些指令。主要有SQL Explorer,SQL Monitor,Database Desktop,Form Expert等,大大加强了C++ Builder的数据库开拓成果,详细用法可参阅有关书籍。
5.Internet办理方案
C++ Builder支持Microsoft、Sun、Netscape等公司关于Internet的要害技能,个中包罗象ActiveX、CGI、ISAPI、WinInet、NSAPI等Internet尺度。通过Borland公司的Internet办理方案包(Internet Solutions Pack),措施员利用C++ Builder的RAD东西(把一个Internet控件拖到窗体上,然后配置其属性和事件)就可以很利便地成立起C++ Builder的Internet应用措施。操作ActiveX控件,可以实现本身的Web欣赏器、打点Internet电子邮件、举办文件传输等一系列Internet成果。
#p#副标题#e#
二、集成开拓情况(IDE)
1.集成开拓情况(IDE)
双击C++ Builder图标或在Win95/NT的“开始”菜单中选择“C++ Builder 3”选项,就可以启动C++ Builder 3.0,进入C++ Builder的集成开拓情况。在正常启动环境下,C++ Builder的界面图(510cb01.Jpg )所示。
Main Menu:主菜单。它位于窗口的最上面,提供了C++ Builder的全部操纵成果。
#p#分页标题#e#
Toolbar:东西栏。它位于集成开拓情况的左上侧,是一些常用的菜单呼吁,如打开、生存文件、运行应用措施等的快捷方法。利用东西栏比利用菜单越发利便。
Component palette:控件板。它是C++ Builder的可视化控件库(VCL),是措施设计的主要事情区。C++ Builder 3.0共有13个标签页(客户机/处事器版),别离是Standard、Additional、Win32、System、Internet、Data Access、Data Controls、Decision Cube、QReport、Dialogs、Win 3.1、Samples、ActiveX。个中在每一标签页上都有差异的控件工具供利用,它们是举办可视化措施设计的主要东西。
Object Inspector:工具调查器。操作它可以设定和查察所有工具的属性。工具调查器共有两个标签页:属性页(Properties)和事件页(Events)。个中的属性页用于设定控件工具的各类属性,如控件的标题名、巨细、位置、字体、颜色等等;事件页用于设定与该控件相关的动静处理惩罚事件响应。如可以设定Button按钮的OnClick(按钮单击)动静响应函数为“ButtonClick”等,然后就可以在动静响应函数中插手本身的措施代码了。启动C++ Builder后,用鼠标点击工具调查器的属性页(Properties),工具调查器里包括的就是“Form1”窗体的各项属性。工具调查器的标题栏下面一行显示为“Form1:TForm1”,它暗示下面的内容为窗体“Form1”的属性。假如要改变属性页里的内容,譬喻把“Caption”栏的“Form1”改为“C++Builder3.0速成”,则会发明窗体的标题已酿成 “C++Builder3.0速成”。同样,也可以改变其他的属性。用户不 用编写代码和执行措施,就可以知道措施的运行功效是什么了。在窗体Form1中安排其它控件和配置其属性的要领与此雷同(窗体也是一个控件)。
Unit1.cpp和Form1:窗体“Form1”和装有“Unit1.cpp”文件的代码编辑器。其实它们都不是编辑情况的构成部门,而是系统在启动开拓情况的同时自动装入的默认工程文件(Project1)所包罗的部门。个中,装有Unit1.cpp代码的编辑框叫代码编辑器,是措施员设计代码的处所。Form1为窗体,是C++ Builder的可视化界面设计部门。
2.工程文件打点器
在C++ Builder3.0中,开始一个新的应用措施就称为开始一个工程,系统会自动生成很多各类文件。假如要用户本身来打点这些文件的话,跟着应用措施巨大性的增加,工程会越来越大,文件也会越来越多,打点起来就显的越来越贫苦。C++ Builder提供了工程文件打点器来打点一个工程,大大减轻了用户的承担,许多几何文件
交由工程文件打点器来打点,用户只需体贴个中的一些文件即可。
譬喻,以系统在启动C++ Builder时自动装入的默认工程文件“Project1”为例,它一般包罗以下几个文件:
Project1.bpr(C++ Builder 1.0为Project1.mak):工程文件。该文件是一个文本文件,记录了各类资源信息,通过工程文件,系统就知道如何把各类文件毗连起来,最终生成用户的可执行文件。
Project1.cpp:该文件是工程文件生成的可执行文件的进口点,有点象WinMain函数。通过该文件,系统知道如何去挪用窗体可能实现其它成果,一般环境下用户不消对此文件举办窜改。
Project1.res:系统资源文件。包罗各类图标资源、光标资源等,系统以二进制文件的方法存放,这个文件由系统自动生成。
Unit1.cpp和Unit1.h:两个都是对应于窗体“Form1”的文件,“Unit1.h”是头文件,“Unit1.cpp”是关于窗体动静的代码文件。用户举办代码编辑时,就是对“Unit1.cpp”文件举办编辑。
Unit1.dfm:它是和窗体“Form1”对应的文件。用户建设的窗体被系统转换为二进制文件存放,扩展名为.dfm。此文件是系统自动生成的,用户不消对它举办打点。
系统通过工程文件打点器来对一个工程举办打点,在主菜单“图(510cb02.Jpg )
所示的工程文件打点器。
操作工程文件打点器,就可以对上述各类文件举办有效打点(删除、增加、新建等)。
3.菜单编辑器
在C++ Builder中设计菜单也是一个可视化进程,下面先容在C++ Builder中操作菜单编辑器设计菜单的详细进程。
启动C++ Builder,发生默认工程文件“Project1”,然后从控件板的“Standard”标签页中拖动“MainMenu”控件到窗体“For图(510cb03.Jpg )
所示。
#p#分页标题#e#
用鼠标左键双击窗体“Form1”中的“MainMenu”控件可能用鼠标右键单击“MainMenu”控件,在弹出的菜单中选择“Menu De图(510cb04.Jpg )所示的菜单编辑器。
用鼠标单击上图所示的蓝色小方块,这时工具调查器里呈现该菜单的属性,在“Caption”属性中填入“&File(在一个菜单呼吁的标记前面加&,则菜单中该标记下有一下划线,且该菜单呼吁的快捷键为Alt+该标记)”,则呈现相应的菜单呼吁,而且小方块右移,再填上“&Edit”,对应的菜单呼吁就呈此刻前一呼吁的右方,图(510cb05.Jpg )。同时,“Form1”里也会自动呈现主菜单。
最后可以用鼠标单击主菜单项,系统自滚动出下拉菜单框,用户只需填上相应的呼吁就可以设计好本身的下拉式菜单了。
菜单设计好后,相应的事件响应函数可以由用户本身设定或系统自动生成。譬喻,设计“Open”菜单呼吁为打开一个文件。用鼠标单击菜单编辑器里“File”菜单中的“Open”选项,工具调查器中呈现的是该工具的属性,选择“Events”标签页,用户就可以填图(510cb06.Jpg )所示。
在“OnClick”项里填写“OpenFile”,也就是说,当“File”菜单里的“Open”呼吁被选中或单击时,就会挪用OpenFile()函数。假如想要插入代码,只需双击“OpenFile”,系统即自动切换到代码编辑器里,并且系统已经生成了一个函数“TForm1::OpenFile()”,如上图所示,只需在该函数体内插手代码即可。其他菜单呼吁发送的动静和事件响应也同样按上述要领设定。用户再也不消思量应用措施的动静是如何发送的,动静是奈何封装的等等一大堆贫苦事了!
4.措施调试器
C++ Builder提供了措施调试器,用户只需举办简朴的配置就可以实现强大的调试成果。为了使一个工程文件发生用于调试的调试信息,则须做如下配置:图(510cb07.Jpg )所示的对话框。
选择“Compiler”页,在“Speed Settings”配置栏里,选择“Full debug”,则发生措施调试信息, 选择“Release”则生成的可执行文件中不包括调试信息。
选择“Linker”标签页,在“Linking”框里,确认“Include debug information”被选中。
在应用措施调试通过,一切正常后,为使可执行代码文件最小,应该把调试信息封锁,从头对原代码举办编译,生成的执行代码会更小。即在上述对话框“Compiler”页的“Speed settings”栏里,选中“Release”。
C++ Builder提供的集成调试器可以对应用措施很简朴地实现单步执行、配置断点和调查点、鼠标热点指示(在调试状态下,当移动鼠标到某一变量上时,该变量的值就立即显示出来)等各类调试成果,为应用措施的顺利执行提供了强大担保。
5.模板工具的利用
许多环境下,用户大概需要开拓一系列范例和成果都不同很小的应用措施,假如每次都从新开始的话,就会给增加许多不须要的承担。因此,C++ Builder提供了模板成果供用户利用,大大便利图(510cb08.Jpg )所示的对话框。
把这个对话框叫做工具陈列框(Object Repository)。
这内里包罗了各类百般的措施模板供措施员选择,如DLL措施、多线程措施、MDI应用措施等等。操作这些模板,只需点击几下鼠标就可以设计出一个具备根基成果的Windows应用措施框架,然后再在上面做一些修改就可以轻松设计出切合本身要求的应用措施了。
除上述先容的以外,C++ Builder的集成开拓情况(IDE)中的其他内容,读者可以参考C++ Builder提供的辅佐文件或其他书籍,这里不再详述 。下面通过编写一个简朴的措施来说明措施设计步调。
(1) 启动C++ Builder3.0,回收系统默认工程文件(可能选择“File|New Application”菜单,从头发生一个工程文件 ),其窗体为“Form1”,默认主措施为“Unit1.cpp”。
(2) 从控件板(Component Palette)的“Standard”页拖动一个静态文本框(TLable)控件到“Form1”上,用鼠标把它放到适当的位置。在工具调查器(Object Inspector)中配置该静态文本框的“Caption”属性为“接待利用C++ Builder”,最后再操作“Font”属性配置其符合的字体。
(3) 从控件板的“Standard”页拖动一个“TButton”尺度按钮控件到“Form1”上,操作工具调查器配置其“Caption”属性为“退出”,“Name”属性为“ExitButton”;然后用鼠标选择工具调查器的“Events”事件页,在位于最上一栏的“OnClick”中键入“ExitButtonClick”,暗示用窗体的“ExitButtonClick()”成员函数来响应鼠标单击按钮这一事件。从这里也可以看出C++ Builder面向工具的措施设计要领。
#p#分页标题#e#
(4)用鼠标双击工具调查器的“OnClick”栏后会自动跳转到代码编辑器“ExitButtonClick()”函数体内。输入措施行“Cl图(510cb09.Jpg )所示。
该措施的成果就是显示一个字符串“接待利用C++ Builder”,用鼠标单击“退出”按钮就可以退出该应用措施。
从以上的实例中,可以总结出用C++ Builder设计一般应用措施的步调:
(1) 从控件板上的控件页(如Standard、Win32等)拖动所需控件(如MainMenu、Button、StatusBar等)到窗体上,分列好其顺序并配置其属性,这样就设计好了应用措施的界面。
(2) 用工具调查器配置佳肴单、按钮或其它控件的事件响应函数。如上例中的ExitButtonClick()。
(3) 最后插手事件响应函数代码,如上例中的Close()。编译运行该措施,便大功告成了!
从以上的论述中,可以看出在C++ Builder的措施设计中,把握常用控件(如按钮Button等)的利用要领对可视化措施设计至关重要,下面 团结实例具体先容常用控件的属性和利用要领。