Borland C++ Builder - SQL
- 格式:pdf
- 大小:77.49 KB
- 文档页数:10
BorlandC++Builder6.0中⽂破解安装详细图⽂教程(附注册机)C++Builder 6.0是⼀款由Borland公司继Delphi之后⼜推出的⾼性能可视化集成开发⼯具。
C++ Builder具有⼀个专业C++开发环境所能提供的全部功能包括快速、⾼效、灵活的编译器优化、逐步连接、CPU透视、命令⾏⼯具等。
本⽂下⾯就为⼤家介绍C++Builder 6.0中⽂破解安装教程,⼀起来看看了解下!C++ Builder6.0也是⼀个拥有快速开发能⼒的可视化环境,只要简单地把控件拖到窗体上,定义它的属性,设置它的外观,就可以快速地建⽴应⽤程序界⾯。
C++ Builder内置了100多个完全封装了Windows公⽤特性且具有完全可扩展性(包括全⾯⽀持ActiveX控件)的可重⽤控件。
、Borland C++ Builder(集成开发⼯具) 6.0 中⽂特别版(附注册机+安装破解教程)类型:编程⼯具⼤⼩:166MB语⾔:简体中⽂时间:2017-03-20查看详情C++Builder 6.0安装与破解图⽂教程1.解压下载的⽂件,解压后找到“BCB6CN”⽂件夹中的“SETUP.EXE”安装程序,双击运⾏。
2.然后就进⼊了C++Builder 6.0的安装界⾯,点击下⼀步。
3.之后会要求我们输⼊序列号,这时候我们打开和“SETUP.EXE”同⼀⽬录下的“KEYGEN.EXE”注册机,点击“Generate”,然后将产⽣的数字和密码填⼊下图右侧所⽰的输⼊框中,填完之后别急着关注册机,等下还会⽤到。
4.填完序列号之后就开始正式安装了,这⾥我们选中我接受,然后点击下⼀步。
5.选择安装类型,可以选择典型安装,最⼩安装以及⾃定义安装,这⾥我们选择第⼆个最⼩安装即可,之后点击下⼀步。
6.选择安装⽬录,更换成你想要的⽬录即可,选择完之后点击下⼀步。
7.正在安装中,安装需要⼀点时间,具体时间与机器配置有关,请耐⼼等待。
Borland公司完善C^(++) Builder佚名【期刊名称】《中国经济和信息化》【年(卷),期】1998(0)17【摘要】Borland国际公司在本周亮相的C<sup>++</sup>Builder客户/服务器套件3.0版旨在为具有分布式应用软件需求的企业Windows开发人员提供更有效的开发工具。
软件的这一测试版为习惯于图形设计的开发人员提供了一个很好的套件。
与包括Microsoft Visual C<sup>++</sup>在内的对手相比,该版中的一些新工具相当有竞争力。
但是Borland仍不提供VisualC<sup>++</sup>中的背景编译,而且这一新版的C<sup>++</sup>Builder也不再支持16位的应用软件。
除去这些不足之外,该产品非常完善。
我尤为欣赏其项目管理器,它使我的大项目非常有效,而那些多目标任务也变得容易多了。
Borland没有在C<sup>++</sup>Builder这一版中包括一个叫做适配编译器技术(Adaptive CompilerTechnology),该技术有助于加速项目的前景编译。
【总页数】1页(P35-35)【关键词】C++Builder;Borland;开发人员;应用软件;再支持;辅助件;Visua;项目管理器;软件需求;客户/服务器【正文语种】中文【中图分类】TP312【相关文献】1.基于Borland C++ Builder 6.0的工装测试系统的设计和实现 [J], 刘金修;杨世武2.基于Borland C++Builder的Vega仿真程序设计 [J], 陆斌3.Borland C++ Builder在政府采购协议供货软件系统中的应用 [J], 李黎4.Borland C++Builder响应Windows消息机制的分析 [J], 唐艳华5.Borland公司完善C<sup>++</sup> Builder [J],因版权原因,仅展示原文概要,查看原文内容请购买。
引言学生管理是高校管理的重要组成部分,对于学校和政府教育管理单位来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但是一直以来高校都使用人工的方式管理学生学籍、档案、成绩等,这种管理方式效率低、保密性差,不利于查找更新和维护。
使用计算机对学生信息进行管理,能够极大地提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。
当今的时代,计算机科学的迅速发展和计算机应用领域的不断扩大,市场上出现了许多性能好,功能齐全,应用面广,兼容性强的应用软件,他们在企业管理,办公自动化等方面发挥了巨大的作用。
具体到高等学校学生管理工作,数字化与网络技术无疑是达到现代化管理水平的必由之路。
它不仅可以简化学校传统的管理模式,使学校各部门管理人员能够方便地利用学生管理信息对学生档案、奖学金等工作进行全面管理,更重要的是可以使学生管理规范化、制度化、数字信息化,提高管理水平、降低管理成本、减轻工作强度、提高工作效率,使学校以高效率运转。
现在市场上已经有其他编程语言编写的高校学生管理系统,这给我这次的设计提供了很多资料。
高校学生管理系统要实现的目标是为学校提供全面的学生管理解决方案,鉴于学生管理职能执行部门的单一性以及系统安全性的考虑,目前建设单机环境的学生管理系统,比较适应当前的实际需要。
系统需要实现的目标如下:●提高学生管理效率,节约管理成本,增强学生管理的安全性。
●满足学校学生管理职能的基本要求。
●满足学校领导、教育管理单位、学生管理人员、教师和学生的不同层次和不同方面的需要。
●能够实现方便的扩展,满足学校发展的需要。
●提供方便灵活的数据查询功能,满足繁杂,多样的数据查询需求。
●为学校将来的整体信息化建设提供必要的支持。
总之,通过该系统的建设来提高高校的学生管理效率,使得学校的发展能够适应当前的教育信息化建设的总体发展趋势。
第1章C++ Builder 6.0简介1.1++ Builder6.0的可视化开发环境可视化程序设计是一种全新的程序设计方法,全面采用面向对象的程序设计技术,使用事件驱动机制进行程序设计。
Borland C++Builder 6.0教程之欧侯瑞魂创作Borland C++Bilder 6.0是Interprise(Borland)公司推出的基于C++ 语言的快速应用法式开发(Rapid Application Development,RAD)工具,它是最先进的开发应用法式的组件思想和面向对象的高效语言C++融合的产物.C++Builder 充沛利用了已经发展成熟的Delphi 的可视化组件库(Visual Component Library,VCL),吸收了Borland C++ 6.0 这个优秀编译器的诸多优点.C++Builder 结合了先进的基于组件的法式设计技术,成熟的可视化组件库和优秀编译器,调试器.发展到6.0版本,C++Builder 已经成为一个非常成熟的可视化应用法式开发工具,功能强年夜而且效率高.C++Builder的特色:1.C++Builder 是高性能的C++开发工具C++Builder是基于C++的,它具有高速的编译,连接和执行速度.同时,C++Builder具有双编译器引擎,不单可以编译C/C++法式,还能编译Object Pascal语言法式.2.C++Builder是优秀的可视化应用法式开发工具C++Builder是一完善的可视化应用法式开发工具,使法式员从繁重的代码编写中解放出来,使他们能将注意力重点放在法式的设计上,而不是简单的重复的劳动中.同时,它提供的完全可视的法式界面开发工具,从而使法式员对开发工具的学习周期年夜年夜缩短.3.C++Builder具有强年夜的数据库应用法式开发功能C++Builder 提供了强年夜的数据库处置功能,它使的法式员不用写一行代码就能开发出功能强年夜的数据库应用法式,这些主要依赖于C++Builder众多的数据库感知控件和底层的BDE数据库引擎.C++Builder除支持MicroSoft的ADO(Active Data Object)数据库连接技术,还提供了一种自己开发的成熟的数据库连接技术——BDE(Borland Database Engine)数据库引擎.4.C++Builder具有强年夜的网络编程能力C++Builder具有众多的Internet应用法式开发控件,如WebBroker,CppWebBroswer,WinSocks等,它们基本含盖了Internet应用的全部功能,利用它们法式员可以方便地建立自己地Internet应用法式.(1)组件面板标准组件选项卡上的组件是构成Windows应用法式窗口最经常使用的标准元素,它们包括15种组件.主要有:主菜单(MainMenu),右键菜单(PopMenu),标签(Label),备注(Memo),命令按钮(Button),单选按钮(GroupBox),复选按钮(CheckBox),列表框(ListBox),下拉式列表框(ComboBox),滚动条(ScrollBar),组框(GroupBox)和单项按钮组框(RadioGroup).附加组件选项卡上的组件是Windows应用法式经常使用的专门控制元素,它包括14种组件.主要有:位图按钮(BitBtn),加速按钮(SpeedButton),格式编纂框(MaskEdit),字符网格(StringGrid),数据网格(dataGrid),图片框(Image),形状(Shape),和控制栏(ControlBar).Win32组件选项卡上的组件是32位Windows应用法式的经常使用元素,它们具有32位应用法式的新特征,Win32组件选项卡共包括18种组件.分页面控制(PageControl),图片列表(ImageList),多文本编纂器(RichEdit),列表视图框(ListView),树状目录视图框(TreeView),工具栏(ToolBar)和状态栏(StatusBar).Data Access和Data Control组件选项卡上的组件是用来设计数据库应用法式的.其中Data Access组件选项卡上的组件是数据库应用法式用来与数据库建立连接的,它们也称为数据访问组件.而Data Control 组件选项卡上的组件是用来与用户交互的,它们也称为数据感知组件.主要是:表(Table),查询(Query),数据源(DataSource),数据库导航器(DBNavigator),数据表格(DBGrid),数据库编纂框(DBEdit),数据库静态文本框(DBText),数据库列表框(DBListBox),数据库图片(DBImage).Dialogs组件选项卡是由一些经常使用标准对话框组件组成的.主要完成翻开文件,保管文件,查找,替换,打印,打印机设置等Windows标准的对话框功能.(2)对象检查器对象名称用于选择和检查以后对象的名称,属性选项卡用于设置对象设计时的可见属性,事件选项卡用来设置对象的事件句柄或者在代码编纂器中定位对象事件句柄.二.创立Windows法式在主菜单中选择【File】中的【New】,在New 对话框中选择Application,按OK.三.运行法式在菜单中选择【Run】中的【Run】,或者直接按快捷菜单上的运行按钮,还有是按快捷键F9,就可以运行以后法式.四.编译法式在菜单中选择【Project】中的【build project1】就可以把法式编译成为可以直接运行的.exe文件. 可是这样编译而来的执行文件因为是静态连接到库函数,所以在没有装C++Builder的机上不能正常运行.要编译成静态连接库,可以在所有机上运行的法式,只要这样做:翻开【project】的【Options】,把packages页中的‘build with runtime packages’的勾去失落,linker页中的‘use dynamic Rtl’的勾去失落,再在compiler页中按release键.五.保管法式在主菜单中选择【File】中的【Save Porject As】选项.再把所以文件(包括.cpp,.bak)都保管到一个目录下面.加载C++Buidler 组件和引入 ActiveX控件一.加载C++Builder 组件 C++Builder中有很多组件,其中有一年夜部份组件不是很经常使用的,所以在C++Builder中默认只加载了一部份经常使用的组件,其他组件就要进行手工加载.或者从另外处所(如在网上下载)获得一些其他的组件包(*.bpl),要把它加载到C++Builder里面,就要用到加载组件. 在C++Builder中加载组件是很方便的,你可以在主菜单【Porject】中按【Options】,再选【packages】页,又或者在【Component】中选【Install Packages】,获得packages 对话框(如下图). 如果你想要加载C++Builder中未加载的组件,只有在相应的组件包的前面打上勾来选定;如果你要加载其他组件包,按【Add】按钮,再在【Add Design Package】对话框中选定其组件包(*.bpl).之后按【OK】键,新加载的组件就会呈现在组件面板上.二.引入ActiveX控件众所周知,ActiceX控件因为其可以跨平台的特性使得ActiveX在很多环境下被广泛地使用.在C++Builder中引用ActiveX很简单.具体把持是在主菜单【Component】中选【Import ActiveX Control…】,弹出【Import ActiveX】的对话框,在对话框中选择你要引用的ActiveX控件. 1. 控件类明,可以包括多个,暗示这个ActiveX控件包里面有多个ActiveX控件,如这里就包TSkinForm,TskinButton和TSkinPanel这三个控件.2. 组件在Component Palette(组件面板)的页面.在本例中,我们把引入的ActiveX控件放在ActiveX页面中.3. 组件的源文件(.cpp).4. 以后搜索路径,一般不用修改. 按【Install】键,ActiveX控件已经胜利地引入到C++Builder中,反正组件面板的ActiveX页面中.编程入门第一课――HelloWorld曾几何时,HelloWorld已经成为编程入门的第一课.不论是什么语言,都以一个打出Hello World字串的小法式作为第一个入门法式.我们现在学C++Builder 也把这个法式作为学习C++Builder的第一个入门法式. 相对C/C++等非可视化语言来说,C++Builder作为一种强年夜的可视化编程语言,那么它的入门级的HelloWorld法式也会非同凡响,而且还很简单易懂.好,现在就开始我们的HelloWorld!一.首先要创立一个新的法式.在【File】菜单下选【New】,再在【New Items】对话框中选择Application,按OK键.或者在【File】菜单下直接选择【NewApplication】.二.加入相关组件. 把要用到的组件从在组件面板(Palette)上拖到窗体(Form)上,摆好位置,并设置好年夜小.我们这里用到一个标签(Label)和两个命令按钮(Button).再改变窗体的年夜小,使窗体看上去好看一点.三.设置组件的属性在属性检查器中修改各个组件的属性.下面的图示是把Label1的Caption(题目)属性改为‘HelloWorld’.先点击窗体上的Label1组件,再在右边的属性检查器中选定Caption的项,输入’HelloWorld’.编程入门第一课――HelloWorld如上述所示,分别设置三个组件的属性为:组件属性值Form1 Caption HelloWorldLabel1 Caption HelloWorldFont 宋体,粗体,一号Button1 Caption StartButton2 Caption Exit四.加入事件.双击Button1,弹出代码编纂窗口,在Button1Click事件中加入以下代码:Label1->Caption="Hello C++Builder!" ;双击Button2,在Button1Click事件中加入以下代码:Form1->Close();五.编译运行HelloWorld法式. 按快速栏上的运行按钮,或者按快捷键(F9)运行HelloWorld法式.按【Start】按钮 ,结果如下:按【Exit】退出法式. 到此为止,一个完整的HelloWorld法式就完成啦,是不是简单得不成思议呢?下面再说两个小技巧:1.更换题目栏上得图标. 更改窗体(Form1)的Ico属性,把它改为你想要的图标文件(*.Ico).2.更改执行文件的图标在【Project】菜单下选【Options】,弹出【Project Option】对话框,选择【Application】页,按【LoadIcon…】键浏览选择自己想要的图标文件.按【OK】.按【Project】菜单下的【Build Project】编译HelloWorld法式,获得可执行文件(.exe).设计菜单之一――下拉式菜单用过Windows法式(最典范的就是Word和资源管理器或一般Windows软件)的人也许有个印象,就是Windows下的法式的菜单很丰富好用,而且还很灵活多变.事实上Windows下的法式的菜单年夜致可以分成两年夜类:第一类是下拉式的菜单,如主菜单(MainMenu)和右键菜单(PopMenu);第二类是功能按钮菜单,如工具菜单(ToolMenu). 绝年夜大都的Windows法式都是采纳下拉式的菜单,也有少部份的法式是使用功能按钮菜单.这两种菜单设计方式各有优缺点,前者的好处是设计方式简单、不占画面空间,可是缺点是必需一层一层地进入之功能选项,无法一次看到所有的功能选项;而后者的优点是可以加入漂亮的图标、一次可以看到许多的选项,缺点是占法式画面的空间.我们这里将分别介绍这两种菜单.一.下拉式菜单下拉式菜单由菜单项和菜单命令构成,菜单项起到将功能分类寄存的作用,如【文件】菜单项就是将针对文件把持的所有功能收容其下.而这些功能就体现为若干项菜单命令,菜单命令必需选定其所属菜单项后才呈现在下拉菜单中.下拉式菜单包括主菜单(MainMenu)和右键菜单(PopMenu).1.主菜单(MainMenu)(1)创立主菜单.步伐1:先启动一个新的工程【File】->【New Application】.步伐2:从组件面板的【Standard】页,拖拉MainMenu组件到Form1上.步伐3:双击Form1上的MainMenu,呈现一个菜单编纂器.步伐4:接着点选第一项主菜单的位置,而且在属性Caption输入字符串‘文件’,然后点选第一项主菜单下面的第一层子菜单,继续输入直到第一项主菜单的功能建立完毕,接着输入第二项主菜单,如此类推.注意:(1)如果你想输入分割符,请把改2项的属性Caption设置为‘-’即可.(2)如果你想加入快捷键,请在选项字符串中挑出某个字符,看成代表此项功能的热键(Hot Key),在那个字符的前面加上‘&’z字符即可.当法式运行时,你可以同时按下【Alt】键和热键字符来执行对应的功能选项.另外一种热键功能是直接设定每一个选项的属性ShotCut.步伐5:如果在第一层子菜单的选项想继续往下建立第二层菜单,请将鼠标移到第一层子菜单的第一项功能‘翻开文件’,然后按下鼠标右键,你将会发现右键菜单的第三项功能‘Create Submenu’,点选它之后,‘翻开文件’选项下面就会多一层子菜单,你再输入这份子菜单内的选项内容,若是想继续往下建立子菜单,如此类推.步伐6:整个菜单建立完成以后,每一项菜单功能的法式是写在OnClick事件内,而每一项菜单功能城市发生对应的OnClick事件.你可以将鼠标移到菜单编纂器上的菜单项上双击,会弹出法式编纂器,然后你可以在以后位置(事件法式)中输入你的法式代码.(2)应用菜单模板和把菜单保管为菜单模板A.应用菜单模板:可以把C++Builder自带的菜单或者是自己保管的菜单直接引用.具体把持是:在菜单编纂器的快捷菜单点击【Insert Form Template】,再在【Insert Template】对话框中选择一个菜单,按【OK】键.B.把菜单保管为菜单模板:把经常使用菜单保管为菜单模板,那么下次编纂菜单的时候就可以直接加载,方便省时.具体把持是:在菜单编纂器的快捷菜单点击【Save To Template】,弹出【Save Template】的对话框,输入菜单的描述(名字),按【OK】键.到此为止,一个象模像样的主菜单就完成拉,是不是很不错呢?2.右键菜单(PopMenu)右键菜单(PopMenu)又叫弹出菜单,你可以先设计好一个PopMenu组件,然后指定给任何一个可视化组件,当用户将鼠标移到这些可视化组件上,按下右键,就会弹出一个菜单,这个菜单就是PopMenu组件,下面是建立PopMenu菜单的步伐:步伐1:先从组件面板的【Standard】页拖拉PopMenu 组件到Form1上.步伐2:建立菜单的内容和实现功能的事件法式和主菜单一样,请参考上一节.请看下图:设计菜单之二――功能按钮菜单 Windows下的法式的菜单年夜致可以分成两年夜类:第一类是下拉式的菜单,如主菜单(MainMenu)和右键菜单(PopMenu);第二类是功能按钮菜单,如工具菜单(ToolMenu).和菜单一样,功能按钮菜单已经成为Windows应用法式地一个标准配置,使用它可以进一步增强应用法式的菜单界面,一般来说,功能按钮菜单和下来菜单密不成份.功能按钮菜单中含有功能按钮,功能是对应用法式中最经常使用的命令的快速访问.许多功能按钮菜单我们已经屡见不鲜,如下面的IE的功能按钮菜单.在C++Builder中,制作一个简单的功能按钮菜单只要用到功能按钮控件(TToolBar)和一个图象列表控件(TImageList)相配合就可以实现.一般需要四个步伐:(1)在TLmageList控件中拔出合适的图象(2)把TToolBar控件的Images属性设置为TlmageList(3)通过单击鼠标右键为TToolBar添加TButton,并通过属性页来定制.(4)在TToolBarClick事件中加入相关把持. 制作IE风格的功能按钮菜单则要再使用TCoolBar或者TControlBar控件,一共有三种方法,我们现在就配合实例讲解这三种制作IE风格的功能按钮菜单的方法.一.TCoolBar+TToolBar+TImageList 步伐一:新建一个工程,在窗体(Form)中加入一个TCoolBar和一个TImageList控件.然后在TCoolbar上加入一个TToolBar控件.把TCoolbar的Align属性设置为alTop.调整好TToolBar的高度,再把TToolBar 和TCoolBar控件的AutoSize属性都设置为true;步伐二:用鼠标右键单击TImagelist控件,翻开‘ImageListEditor’窗口,添加对应的copy,cut和paste图标.步伐三:在TToolBar控件上单击鼠标右键,在弹出的菜单中选择‘New Button’来拔出TButton,选择‘New Seperator’来拔出分割条.步伐四:将TToolBar控件的Images的属性设置为ImageList1,则TImageList控件中的图标立刻呈现在工具按钮菜单中. 步伐五:用鼠标双击功能按钮菜单中的任意一个按钮,就可以为这个按钮的事件响应编写处置代码了.二.TControlBar+TToolbar+TImageList 这种方法和以上的方法年夜同小异,只是把TCoolBar换成TControlBar就可以拉,这里不累赘说明.下图是其效果.三.把下拉式菜单放到功能按钮菜单上这是IE中最经常使用的菜单,在C++Builder可以轻易实现.步伐一:在窗体(Form)上放置一个TMainMenu控件,并设置好内容;步伐二:设置Tform的Menu属性为空;步伐三:放置一个TControlbar,再放置一个TToolbar在TControlbar上面步伐四:设置 TToolBar 的 ShowCaptions 属性为 true;步伐五:在 TToolBar 上增加几个 TToolButton,修改其 caption 模拟主菜单的样子;步伐六:将 TTollBar 的 grouped 属性设置成 true;步伐七:设置每个TToolButton 的 menuitem 对应 MainMenu 的主菜单项;步伐八:设置TToolBar的flat属性为true 运行法式,结果如下,就获得了一个跟IE一样的在功能按钮菜单上的下来式菜单.这个在功能按钮菜单中的下拉式菜单确实很‘cool‘吧?好,到此为止,相信读者对C++Builder的菜单设计(包括下拉式菜单和功能按钮菜单)有一定了解,这有助于我们进一步设计出更漂亮实用的用户界面.开发可Dockable的工具栏和视窗在Windows视窗系统中,可Dockable的工具栏被广泛运用在很多软件和法式傍边.可Dockable,即dock功能.所谓dock功能就是你可以把某些工具栏和视窗与其他工具栏或视窗结合同在一个工具栏或视窗.C++Builder的IDE所包括的工具栏以及视窗就具有dock功能.如下图所示.工具栏的dock功能不单使工具栏更灵活,使使用者可以随心所欲的依照自己习惯和喜欢的方式组合、摆放工具栏,而且使把持界面更美观. 在C++Builder中开发这种具有dock功能的工具栏和视窗可以说是轻而易举的.好,现在我们就开始自己入手开发可Dockable的工具栏和视窗.Let’s go!我们可以利用C++Builder开发出具有dock功能的应用法式.在C++Builder中,所以可视化的VCL组件都支持dock功能.这里可视化VCL组件是指所有继承自TControl以及TwinControl的VCL组件. 基本上,要进行dock举措至少需要两个组件,一个被附着的dock site 组件,另一个则是附在dock site 上的组件,C++Builder所提供的可视化组件只有继承自TwinControl的VCL组件才具有dock site功能,而只要是继承自TControl的VCL组件则具有附着在dock site的功能. 如果你想希望某个继承自TwinControl的组件具有dock site功能,只要把属性DockSite设置为true即可;如果你希望某个继承自TControl的组件附着在dock site上,只要把属性DragSite设置为dkDock,属性DragMode设置为dmAutomatic即可.但法式运行的时候,你就可以利用鼠标把后者组件拖到前者组件上,后者就会自动附着在前者上,完成dock举措. 下面是以两个实际例子说明在C++Builder轻松开发可Dockable的视窗和工具栏.一.开发可Dockable的视窗步伐一:新建一个工程;步伐二:在组件面板上的Standard页,拖一个Tpanel组件到Form1上,然后把Tpanel1的Align的属性设为alTop,而且把属性DockSite设置为true;步伐三:在组件面板上的Additonal页,拖三个Tshape组件到Form1上,而且把着三个Tshape组件的属性DragKind设置为dkDock,属性DragMode设置为dmAutomatic;步伐四:运行法式,你就可以利用鼠标把Tshape组件dock在Tpanel组件上.二.开发可Dockable的工具栏步伐一:新建一个工程;步伐二:依照上一篇的方法用TmainMenu+TcontrolBar+TToolBar创立一个位于工具栏中的下拉式菜单;步伐三:接着把Tcontrolbar的属性DockSite 设置为true,把TToolBar的属性DragKind设置为dkDock,属性DragMode设置为dmAutomatic;步伐四:运行法式,获得一个具有dock功能的工具栏,你可以把工具栏停靠在窗体(Form1)的上面,也可以把它拖出来浮动于窗体之上.如下图所示:到此为止,我们已经学会了如何开发具有dock功能的应用法式.它使使用者可以随心所欲地组合和摆放工具栏,又可以使法式界面更美观.创立多文档界面(MDI)法式多文档界面(Multiple Document Interface,MDI)是在一个应用法式中能够同时处置两个或者更多个窗体的界面形式.例如罕见的MicroSoft Word 这个排版编纂软件就可以同时编纂多篇文章,因此它是一个典范的多文档界面的应用法式.MDI应用法式的多窗体特性使用户可以在同一个工作区域内对多个文档进行观察和数据交换,以便工作的协调和高效地进行.MDI的工作区域分为主窗体(MDI)和子窗体(Child).主窗体是法式运行的基本环境,也是生成子窗体的基础,它通常分歧毛病用户的文档进行处置.主窗体以外就是子窗体,每个子窗体负责处置一个用户得文档.这些文档可以是相同得文件格式,也可以是分歧的文件格式. C++Builder提供了一整套设计MDI应用法式的组件,让你很容易、快速地开发一个MDI的应用法式. 设计开发一个MDI应用法式一般分三个步伐:1.创立MDI主窗体;2.创立MDI子窗体;3.在MDI主窗体和子窗体中加入代码. 我们现在就以开发一个简单的多文档界面的文字处置应用法式为例子,按以上三个步伐一步步讲述如何开发一个MDI 应用法式.一.创立MDI主窗体在MDI应用法式中,主窗体为应用文档提供了一个工作平台,所有的子窗体都在主窗体中翻开和工作,同时主窗体也是应用法式的启动窗体,因此,创立主窗体是创立MDI应用法式的第一步. 1.新建一个工程,把Form1的caption属性和name属性设置为MDIFrm,并把FormStyle属性设置为fsMDIForm; 2.选择【Project】菜单下的【Options】命令翻开【Project Option】对话框,在【Forms】标签页中的Main Form组合框中选择所创立的主窗体名Form1,将该窗体设置为启动窗体; 3.在主窗体中加入一个主菜单控件(MainMenu),和一个翻开文件对话框控件(OpenDialog); 4.在主菜单中添加菜单项; 5.翻开文件对话框的过滤编纂器,添加以下内容;二.创立MDI子窗体当MDI应用法式的主窗体创立之后,就可以再创立新的窗体作为子窗体,还可以通过该窗体模板创立多个子窗体的实例,最后还可以在子窗体上进行编纂把持以满足要求. 1.首先使用【File】菜单中的【New】命令创立一个新的窗体,将其caption属性和name属性设置为ChildFrm; 2.然后将该窗体的FormStyle属性设置fsMDIChild,再在【Project|Options】对话框中将Auto-create Forms 列表框中的ChildFrm窗体名移到Available forms中,这样法式启动时就不会自动创立该窗体;3.在子窗体中添加控件并设置属性;4.在主菜单中添加菜单项;5.翻开文件对话框的过滤编纂器,添加以下内容;三.在主窗体和子窗体中加入代码 1.添加主窗体的事件代码(1)在菜单【File|Include Unit Hdr…】中把子窗体的头文件包括进主窗体,以便于主窗体对子窗体进行访问.(2)菜单项【File|New】用于依照ChildFrm窗体模板新建一个子窗体.void __fastcall TMDIFrm::New1Click(TObject *Sender){TChildFrm *NewChildFrm=new TChildFrm(this);NewChildFrm->Caption=NewChildFrm;} (3)菜单项【File|Open】用于新建一个ChildFrm窗体并将已有的文件的内容添加到此窗体中.void __fastcall TMDIFrm::Open1Click(TObject*Sender){if(OpenDialog1->Execute()){TChildFrm*NewChildFrm=new TChildFrm(this);NewChildFrm->RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);NewChildFrm->Caption=ExtractFileName(OpenDialog1->FileName);}}2.添加子窗体的事件代码(1)在菜单【File|Include Unit Hdr…】中把主窗体的头文件包括进子窗体,以便于子窗体对主窗体进行访问. (2)为子窗体的菜单项添加代码void__fastcall TChildFrm::New1Click(TObject *Sender){MDIFrm->New1Click(Sender); //新建文件,可以直接调用主窗体事件处置函数}void __fastcall TChildFrm::Open1Click(TObject*Sender){MDIFrm->Open1Click(Sender); //翻开文件,可以直接调用主窗体事件处置函数}void __fastcallTChildFrm::Save1Click(TObject *Sender){if(SaveDialog1->Execute()){RichEdit1->Lines->SaveToFile(SaveDialog1->FileName+".txt");//把RichEdit的内容保//存到文件}}void __fastcall TChildFrm::Copy1Click(TObject*Sender){RichEdit1->CopyToClipboard(); //把RichEdit中选中的内容拷贝到剪切板}void __fastcallTChildFrm::Cut1Click(TObject *Sender){RichEdit1->CutToClipboard(); //把RichEdit中选中的内容剪切到剪切板}void __fastcall TChildFrm::Paste1Click(TObject*Sender){RichEdit1->PasteFromClipboard(); //把剪切板中的内容粘贴到RichEdit的以后位置} MDI应用法式在缺省的情况下,执行关闭把持时其实不真正关闭子窗口,而仅仅是最小化它.因此子窗口关闭时,要首先设置其Action属性.void __fastcallTChildFrm::FormClose(TObject *Sender, TCloseAction&Action){Action=caFree; // 把它的Action设置为caFree}再写【File】菜单的【Close】命令的处置函数void __fastcall TChildFrm::Close1Click(TObject *Sender){MDIFrm->ActiveMDIChild->Close();//关闭以后子窗口}最后编译运行法式,一个功能简单的文字处置的MDI应用法式就搞定拉.提示信息框(MessageBox)的应用应用法式中的提示信息处置法式是非常出重要的部份,用户要知道他输入的资料究竟正不正确,或者是应用法式有一些提示信息要告诉用户,都必需通过提示信息处置法式来显示适当的信息,让用户了解下一步该如何配置.提示信息有很多种类,包括警告,毛病,提示,确认,重试等.分歧种类的提示信息框适合用在各种分歧的情况. 在C++Builder中开发提示信息框只须调用MessageBox这个信息提示框函数就行,下面就是这个函数说明:int __fastcall MessageBox(const char * Text,//提示信息框的内容const char * Caption, //提示信息框的题目int Flags); //提示信息框的类别参数Flags的值是用来标识表记标帜提示信息框的类另外,下面是一些经常使用的类别:从上表可以看出来,提示信息框的类别可以分成含图标和不含图标,含图标的意思就是指提示信息框上会有代表意义的图形,不外这类型的提示信息框的按钮都是固定的,都是【确定】按钮,不能增加也不能省略;不含图标的提示信息框,虽然没有对应的图形显示在提示信息框上,可是你却可以在这种类型的提示信息框内,加入各种组合的按钮,用于各种分歧的情况.MessageBox函数会返回一个整数值,这个整数值代表用户刚刚点击提示信息框上的哪个按钮,每个返回值的代表意义在下表:IDIGNORE 5 忽略IDYES 6 是IDNO 7 否下面是提示信框的示范法式:1.警告信息框Application->MessageBox("警告信息框","警告信息框",MB_ICONWARNING);2.疑问信息框Application->MessageBox("疑问信息框","疑问信息框",MB_ICONQUESTION);3.毛病提示框Application->MessageBox("毛病信息框","毛病信息框",MB_ICONERROR);4.提示信息框Application->MessageBox("提示信息框","提示信息框",MB_ICONASTERISK);5.说明信息框Application->MessageBox("说明信息框","说明信息框",MB_HELP);6.提示信息框Application->MessageBox("提示信息框","提示信息框",MB_OK);7.确认信息框Application->MessageBox("确认信息框","确认信息框",MB_OKCANCEL);8.重试信息框Application->MessageBox("重试信息框","重试信息框",MB_RETRYCANCEL);9.是否信息框Application->MessageBox("是否信息框","是否信息框。
C++Builder访问SQL Server2000数据库一. 数据库操作中常用组件的功能及关系图在C++ Builder程序设计时,若需要访问数据库,则要用到许多数据库相关的组件(控件),常见的数据库组件功能及关系如图1所示:图 1 C++ Builder数据库常用组件功能及关系图二. 程序设计总体思想为了充分展示C++ Builder访问数据库的强大功能,本实验总体设计思想可用图2来表示。
它具有以下特点:●展示C++ Builder访问SQL Server数据库的七种典型用法(七个模块)●每个实验模块均可独立设计与运行●学生可根据自身情况有选择地做其中几个模块或全部模块图 2 实验总体设计三. 实验指导1. 实验准备(附加Engineering数据库)确认SQL Serve2000的服务管理器已经正常运行。
启动SQL Server企业管理器,执行菜单命令“工具-所有任务-附加数据库”,出现以下“附加数据库”对话框,如图3所示:图 3 附加数据库对话框点击按钮,在随后出现的“浏览现有的文件”对话框中,找到并选择“Engineering_Data.MDF”后,点击“确定”按钮,回到“附加数据库”对话框,点击“确定”按钮,出现图4所示的对话框即表示附加完成:图 4 附加完成对话框2. 第一模块(数据显示及交互操作)(1)功能简介显示数据库中的文本或图像数据;提供一个导航栏,并通过它允许用户对数据表进行插入、删除或修改等操作。
(2)VCL组件对象及布局启动C++ Builder。
在窗体上放置一个组框GroupBox、四个标签Label、一个数据库连接ADOConnection、一个表数据集ADOTable、一个数据源DataSource、三个数据编辑框DBEdit、一个数据图像DBImage和一个数据导航栏DBNavigator组件,此时设计界面如图5所示:图 5 初始设计界面(3)组件对象的属性设置按表1~ 表5设置以上各VCL组件对象的属性。
创建多文档界面(MDI)程序多文档界面(Multiple Document Interface,MDI)是在一个应用程序中能够同时处理两个或者更多个窗体的界面形式。
例如常见的MicroSoft Word 这个排版编辑软件就可以同时编辑多篇文章,因此它是一个典型的多文档界面的应用程序。
MDI应用程序的多窗体特性使用户可以在同一个工作区域内对多个文档进行观察和数据交换,以便工作的协调和高效地进行。
MDI的工作区域分为主窗体(MDI)和子窗体(Child)。
主窗体是程序运行的基本环境,也是生成子窗体的基础,它通常不对用户的文档进行处理。
主窗体以外就是子窗体,每个子窗体负责处理一个用户得文档。
这些文档可以是相同得文件格式,也可以是不同的文件格式。
C++Builder提供了一整套设计MDI应用程序的组件,让你很容易、快速地开发一个MDI的应用程序。
设计开发一个MDI应用程序一般分三个步骤:1.创建MDI主窗体;2.创建MDI子窗体;3.在MDI主窗体和子窗体中加入代码。
我们现在就以开发一个简单的多文档界面的文字处理应用程序为例子,按以上三个步骤一步步讲述如何开发一个MDI应用程序。
一.创建MDI主窗体在MDI应用程序中,主窗体为应用文档提供了一个工作平台,所有的子窗体都在主窗体中打开和工作,同时主窗体也是应用程序的启动窗体,因此,创建主窗体是创建MDI应用程序的第一步。
1.新建一个工程,把Form1的caption属性和name属性设置为MDIFrm,并把FormStyle 属性设置为fsMDIForm;2.选择【Project】菜单下的【Options】命令打开【Project Option】对话框,在【Forms】标签页中的Main Form组合框中选择所创建的主窗体名Form1,将该窗体设置为启动窗体;3.在主窗体中加入一个主菜单控件(MainMenu),和一个打开文件对话框控件(OpenDialog);4.在主菜单中添加菜单项;5.打开文件对话框的过滤编辑器,添加以下内容;二.创建MDI子窗体当MDI应用程序的主窗体创建之后,就可以再创建新的窗体作为子窗体,还可以通过该窗体模板创建多个子窗体的实例,最后还可以在子窗体上进行编辑操作以满足要求。
扫地的老和尚搜集整理 Last updated: 1/28/97 SQL access in Borland C++Builder Written by Mike Destein. Revised by Charles Gallant. Outline 1. Introduction 2. TQuery Component - SQL Property - Params Property - Data Source - Format Command - Open vs. ExecSQL 3. TStoredProc Component 4. TDatabase 5. Conclusion
1. Introduction The database components of Borland C++Builder were created with SQL and client/server development in mind. Because of this, you will find extensive support to let you leverage the features of a remote server. C++Builder has implemented this support through two methods. First, the native commands of Borland C++Builder allow the developer to navigate tables, set ranges, delete and insert records, and modify existing records. Second, via pass-through SQL, a string can be passed to a server to be parsed, optimized, and executed, with results returned as appropriate.
This paper focuses on the second method of database access, pass-through SQL. While, it is not intended to be a course on SQL syntax or usage, this paper provides many examples of how to use the TQuery and the TStoredProc components. In doing so, many SQL concepts are presented such as selects, inserts, updates, views, joins, and stored procedures. The paper also introduces transaction control and connecting to a database. To begin, let's create a simple SELECT query and display the results.
2. TQuery Component The TQuery and TTable components are both descended from TDataset which provides much of their database access functionality. TDatasource is used to prepare the data for the visual components. Because both the TTable and TQuery components rely on TDatasource, these components have many common traits. For instance, both provide a DatabaseName property through which an alias can be used to specify what server and database a query will access.
SQL Property The unique functionality of TQuery includes a property titled ‘SQL.’ The SQL property is used to store a SQL statement. The steps below describe how to use a SQL statement to query for all employees who have a salary greater than a specified amount.
1. Drag and drop a TQuery object onto a form. 2. Set the DatabaseName property to an alias. (This example uses IBLOCAL which points to the sample database EMPLOYEE.GDB. 扫地的老和尚搜集整理 Last updated: 1/28/97 3. Select the SQL property and click the ‘detail’ button labeled with an ellipsis (“…”). The String List Editor dialog will appear.
4. Enter Select * from EMPLOYEE where SALARY>50000. Click OK.
5. Select the Active property and set it to “TRUE.” 6. Drag and drop a TDatasource object onto the form. 7. Set the Dataset property of the TDatasource to “Query1.” 8. Drag and drop a TDBGrid onto the form. 9. Set the Datasource property of the TDBGrid to “Datasource1”. The SQL property is of type TStrings. A TStrings object is a list of strings, similar to an array. The TStrings data type offers commands to add lines, load from a text file, and exchange data with another TStrings object. Another component that uses TStrings is a TMemo. In the following listing, the user would enter the SQL Statement in the ‘Memo1’ TMemo control and click the Do It button. The results of the query can be displayed in a grid.
Listing 1 displays the code in the Do It button. Listing 1 void __fastcall TForm1::Button1Click(TObject *Sender) { // Check for a blank entry. if (strcmp(Memo1->Lines->Strings[0].c_str(), "") == 0) { MessageBox(0, "No SQL Statement Entered", "Error", MB_OK); return; } else { // Deactivate the query as a precaution. Query1->Close();
// Empty any previous query Query1->SQL->Clear();
// Assign the SQL property the memo's text. Query1->SQL->Add(Memo1->Lines->Strings[0].c_str()); }
try { // Execute the statement and open the dataset Query1->Open(); }
catch(EDBEngineError* dbError) { for (int i = 0; i < dbError->ErrorCount; i++) { MessageBox(0, dbError[i].Message.c_str(), "SQL Error", MB_OK); } } }
Params Property This would suffice for a user who knows SQL. Most users, however, do not. So your job as the developer is to provide an interface and construct the SQL statement. In Borland C++Builder, you can use a dynamic query to construct the SQL statement on the fly. Dynamic queries allow the usage of parameters. To specify a parameter in a query, use a colon (“:”) preceding a parameter name. Below is an example SQL statement using a dynamic parameter: