C++Builder (BCB)编程规范
BCB第一讲C++ Builder简介
第一讲C++ Builder简介“工欲善其事,必先利其器”,对于程序员来说,选择和掌握一门好的编程语言及其开发工具是至关重要的,然而这也正是困扰很多朋友的一个问题,随着心铃讲座的陆续刊出,越来越多的初学编程的读者朋友来信问到,“请问心铃,这么多种编程工具,到底哪一种更好呢?”对于这个问题,心铃一直都觉得很难回答清楚,只能说它们各有优缺点。
其实,编程工具的选择要与具体的开发项目联系起来,如果项目是面向最终用户的Windows应用程序,并且开发周期很短,那么心铃就要为大家推荐一种优秀的快速应用程序开发(Rapid Application Development,简称RAD)工具——Borland C++ Builder,这也是本次讲座所要介绍的对象。
C++ Builder的主要特点C++ Builder(以后简称CBuilder)是Borland公司在Delphi成功的基础上开发的可视化C++编程工具,什么?等等!也许有的朋友会问:Borland以前不是出了一个Borland C++吗,难道CBuilder 不是从BC演变而来?不错,CBuilder确实也吸取了不少BC的好东西,但CBuilder可视化编程的关键——Visual Component Library(VCL,可视化元件库)却是从Delphi搬过来的,因此CBuilder 象Delphi比象BC更多一些。
CBuilder面世的时间虽然不长,但几乎是以最快速度成为最流行的C++编程工具之一,由于自身的优秀品质,它受到了越来越多的程序员的喜爱,目前最新版本已经出到了5.0。
与其它的可视化编程工具(如VC、VB)相比,CBuilder的最大特点就在于其可视化程度更高,因此在开发面向用户的应用程序时更方便、更快捷。
CBuilder集成了十分丰富的可视化元件库,其中的元件数量在百个以上,这些元件基本上覆盖了应用程序开发的各个方面,如:基本应用程序主窗口、菜单、工具栏、对话框、数据库、Internet等等,利用这些元件,设计和开发CBuilder程序就象搭积木一样简单有趣。
C++Bulider编码标准
第一章命名约定 (2)第二章代码布局格式约定 (3)第三章类型使用约定 (4)第四章表达式约定 (4)第五章控制结构约定 (5)第六章函数及操作符使用约定 (5)第七章类使用约定 (5)第八章模块及访问约定 (5)第九章预编译指令使用约定 (6)第十章注释使用约定 (6)第十一章错误检查及异常处理约定 (7)第十二章其它 (7)第一章命名约定1.变量名命名约定1.1.变量名应符合ANSI C/C++ 变量名命名规定。
如:long nTemp; //Truelong 4Temp; //False1.2.变量名使用混合大小写,并以小写字母开头。
如:long nTemp; //normallong NTemp; //abnormal1.3.声明常量(const),宏(macro)和枚举常量(enum )时应全部使用大写字母。
如:const double PAI=3.1415926; //noramlconst double Pai=3.1415926; //abnoraml#define P AI 3.1415926 //normal#define Pai 3.1415926 //abnormalenum Color{RED,BLUE,GREEN}; //normalenum Color{Red,Blue,Green}; //abnormal1.4.变量名是用多个单词表示时1.4.1.当使用混合大小写时,将修饰词放在前面,并且尽量拼写完整增加可读性。
如:maxElement,currentFile 等。
1.4.2.当全部使用大写时,单词之间应用下划线连起来。
如:BUFFER_SIZE,FILE_SIZE 等。
1.5.变量名命名应有意义1.5.1.一律使用英文字母进行拼写;不用汉语拼音。
1.5.2.变量名大小应至少2~3个字母。
(当作为整型循环变量时,可以使用单个字母。
如:i,j,k等。
)如:chrName,hWnd等。
BCB基础
第一部分:基础入门1.窗体1)问:Windows的编程就是在窗体的基础上实现的,C++Builder是怎样处理窗体的呢?答:窗体的一部分功能通过窗体的属性来实现,窗体的属性非常多,这里只对其中比较重要的属性进行介绍。
1.ActiveControl指定窗体上的某个组件为输入焦点。
如下面的语句将窗体上的Label1组件成为输入焦点:ActiveControl=Label1。
在同一时时刻,应用程序只能有一个输入焦点。
2.BorderIcons用来设定标题栏上出现哪些系统图标。
它是一个集合,可以设成以下几个类型:最大化按钮(biMaximize)、最小化按钮(biMinimize)、帮助按钮(biHelp)和系统菜单(biSystemMenu)。
3.Icon属性用来指定当窗体最小化时显示的图标。
4.KeyPreview属性为true时,表示击键事件发生时先传给窗体,然后再传给有输入焦点的组件上,相当于窗体截获了原本属于组件的事件。
缺省值为false,表示击键事件只送到当前有输入焦点的组件上。
5.Menu属性用来指定窗体的主菜单。
6.Visible属性用来确定窗体是否可见。
此外还有一些运行时态属性,这些属性只有在程序运行的时候才能通过编程访问。
这种属性主要有:Active属性用来确定窗体是否获得输入焦点。
ActiveMDIChild这个函数将返回当前活动的子窗体。
DropTarget属性用来指定窗体是否是拖放操作的对象。
Parent属性用来设定包含窗体的窗口控件,通常是另一个窗体。
如果窗体没有包含它的控件,那么它的Parent属性为nil。
2)问:Windows窗体有很多样式,比如对话框,弹出窗口。
如果我要控制窗体的边界样式,应该怎么办?答:属性BorderStyle可以指定窗体边界的外观和行为。
它一共有六种可能的取值。
bsDialog表示大小不可变的标准的对话框边界。
bsSingle表示大小不可变的单线边界。
C++builder
C++Builder的基本功能我们用高级语言写程序,我们很得意,因为高级语言比较接近人类的语言,使我们用起来得心应手,所以我们当然得意。
但我们更得意的一定是让程序代码赶快变成可执行文件。
无论是在写代码的过程,还是最后要编译成可执行文件,都需要有一个工具存在。
这一工具一般称为编程集成环境(IDE)。
之所以称为集成,是因为从写代码到最后软件的出炉,我们需要它的地方实在太多了,这里列出其中最重要的功能项。
1、代码编辑:方便的代码编辑功能。
尽管你可以使用记事本、Word或其它任何文本编辑器来写代码,但除非特殊需要,否则那将是极为低效的方法。
相反,现在的编程集成环境,都相当的智能,举例如:代码自动功能,可以在很多情况下自动完成我们所需的代码,既准确还迅速。
Borland公司出品的编程集成环境不仅有常见的关键字高亮等功能,还支持代码模板,支持键盘宏,同样支持高级的脚本插件功能。
2、界面设计:可视化的程序界面设计功能。
你所要产生的窗口,在设计期间就真实地出现,包括字体、颜色和定位。
比如:你不仅可以插入falsh的动画,而且无需运行,就直接可以在你的界面上看到该动画的演播,这是别的编程环境不能做到的。
3、程序编译:这是编程工具的主要功能。
我们写的代码在成为机器能懂的可执行程序时,必须通过编译。
4、程序调试:如何尽量减少你程序的BUG呢?没有编程集成环境提供的强大调试功能,我们做的程序将毫无质量保证。
5、代码优化:Borland 提供的编译器,不仅在编译速度上一直在美国屡获大奖,而且其代码自动优化功能一直领先对手几近一个时代。
使用编程集成环境,我们可以轻松获得更快更优的最终可执行程序文件。
6、辅助程序安装:程序的安装已属于另外一种工具的范畴,但我们仍可以通过编程集成环境来决定最终生成单一可执行文件,还是带有其它动态库。
如果是后者,我们还可以通过集成环境来检查程序运行时调用了哪些动态库文件。
C++Builder 提供的功能远不止我上面所说的,并不是因为我嘴笨,而是我认为对一个工具,你只有动手使用,才会真正了解它。
BCB01
基础知识
什么是C++ Builder
Borland C++Bilder 是Interprise(Borland)公司推出 的基于C++ 语言的快速应用程序开发(Rapid Application Development,RAD)工具,它是最先进的开发应用程序 的组件思想和面向对象的高效语言C++融合的产物。 C++Builder 充分利用了已经发展成熟的Delphi 的可 视化组件库(Visual Component Library,VCL),吸收 了Borland C++ 这个优秀编译器的诸多优点。 C++Builder 结合了先进的基于组件的程序设计技术, 成熟的可视化组件库和优秀编译器,调试器。C++Builder 已经成为一个非常成熟的可视化应用程序开发工具,功能 强大而且效率高。
C++Builder5.0的集成开发环境
• 1. C++Builder 5.0的IDE主界面
标准组件选项卡
• 标准组件选项卡上的组件是构成Windows应用 程序窗口最常用的标准元素,它们包括15种组 件。主要有:主菜单(MainMenu),右键菜单 (PopMenu),标签(Label),备注 (Memo),命令按钮(Button),单选按钮 (GroupBox),复选按钮(CheckBox),列 表框(ListBox),下拉式列表框 (ComboBox),滚动条(ScrollBar),组框 (GroupBox)和单项按钮组框(RadioGroup)。
C++Builder的特色
C++builder课程设计要求
附录:源程序
//-------------------主窗体 查询与浏览--------------------------------------#include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Unit3.h" #include "Unit4.h" #include "Unit5.h" #include "Unit6.h" #pragma package(smart_init) #pragma resource "*.dfm" TFmain *Fmain; bool onshow=false; __fastcall TFmain::TFmain(TComponent* Owner) : TForm(Owner) { } void __fastcall TFmain::N5Click(TObject *Sender) { Close();//退出程序 } void __fastcall TFmain::SpeedButton3Click(TObject *Sender) { DataModule3->ADOQuery1->First() ; StatusBar1->Panels->Items[0]->Text="数据指向第一个";
二、系统分析(需求分析)
1.需求分析: ① 能够输入学生的综合情况的输入、修改以及删除; ② 能够实现对学生信息的浏览; ③ 能够实现对学生进行查询; ④ 设计系统封面并由计时器控制; 2.系统性能要求: ① 系统安全、可靠; ② 功能齐全; ③ 操作方便、界面友好; ④ 易于维护和扩充。 3.系统的功能分析: 资料维护:系统维护包括对各种表记录的修改、删除、添加等操作。 资料维护:对数据表中的信息进行浏览。 系统查询:可以按学号、姓名等相关信息进行详细或模糊查询。
C语言编程规范
C语言编程规范1. 基本要求1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。
1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。
1.3 尽量使用标准库函数和公共函数。
1.4 不要随意定义全局变量,尽量使用局部变量。
1.5 使用括号以避免二义性。
2.可读性要求2.1 可读性第一,效率第二。
2.2 保持注释与代码完全一致。
2.3 每个源程序文件,都有文件头说明,说明规格见规范。
2.4 每个函数,都有函数头说明,说明规格见规范。
2.5 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义。
2.7 常量定义(DEFINE)有相应说明。
2.8 处理过程的每个阶段都有相关注释说明。
2.9 在典型算法前都有注释。
2.10 利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 6个字节。
2.11 循环、分支层次不要超过五层。
2.12 注释可以与语句在同一行,也可以在上行。
2.13 空行和空白字符也是一种特殊注释。
2.14 一目了然的语句不加注释。
2.15 注释的作用范围可以为:定义、引用、条件分支以及一段代码。
2.16 注释行数(不包括程序头和函数头说明部份)应占总行数的 1/5 到 1/3 。
3. 结构化要求3.1 禁止出现两条等价的支路。
3.2 禁止GOTO语句。
3.3 用 IF 语句来强调只执行两组语句中的一组。
禁止 ELSE GOTO 和 ELSE RETURN。
3.4 用 CASE 实现多路分支。
3.5 避免从循环引出多个出口。
3.6 函数只有一个出口。
3.7 不使用条件赋值语句。
3.8 避免不必要的分支。
3.9 不要轻易用条件分支去替换逻辑表达式。
4. 正确性与容错性要求4.1 程序首先是正确,其次是优美4.2 无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。
4.3 改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。
BCB编程过程中的各种问题集锦
C++需要掌握:类、构造函数、析构函数、函数重载、运算法重载;私有成员、公有成员、保护成员的作用域。
一:安装1、找到INSTALL文件夹里,双击Setup,注册码可从注册机中获得。
安装时选择custome方式,最好装在c盘(即使装在D盘,重做系统后也必须重装)。
2、注意一些选项勾选去掉就可以,不装VisiBroker和interbase,可以不备份uninstall信息。
3、安装完成后,重新启动计算机,打开BCB,会提示注册,再打开注册机,将所给的三个代码全部输入到注册机中,注册机会自动给出第四个代码,将其粘贴到空白选项内,即可完成注册。
4、Win7系统注意:帮助文档安装不上的需要另外安装一个更新包,将帮助文档连接上即可,此更新包叶连杰有。
此外还会出现管理权限问题,可通过各盘右键单击,属性->安全->编辑中将所有用户的完全控制打钩即可。
二:开始运行1、创建工程File->New->Application2、修改Tabsize,菜单tools->Editor Option->Tab Stops=43、保存:创建一个工程目录,下建sourse子目录,用于存放工程源文件。
会先提示保存窗体和类的名字,一般名字前加U表示Unit,窗体文件前面加UForm,再保存工程名一般名字前面加个Pro。
4、文件存放位置:通过Project->Options->Directories/Conditionals来设置,将运行程序产生的可执行文件、OBJ文件分别放在相应文件件内。
通常Debug source path内输入$(BCB)\source\ ;Intermediate output 内输入debug(相应文件存入debug内),Final output 内输入exe。
若要在上层文件夹内创建以上两个文件可在相应的输入前加..\ 。
为了产生的文件可以在没有C++Builder的计算机上运行还要通过Project->Options->Linker内取消Use dynamicRTL选项的勾选、Project->Options->Packages内取消Build with runtime packages选项的勾选最后单击Complier->单击Release。
BCB第二讲C++ Builder集成开发环境(上)
C++ Builder 集成开发环境(上)介绍一个新软件,总免不了要介绍该软件的用户界面,如菜单、工具条等等的使用方法,也许有的朋友会说“我的E 文不错,又有过使用IDE 编程开发的经验,所以这一步可以省了。
”,但所谓“磨刀不误砍柴功”,CBuilder 集成开发环境具有相当丰富的功能,如果能够熟练掌握这些功能,势必会大大提高我们的工作效率。
当然,仅仅通过短短的讲座没有办法在短时间内对CBuilder 集成开发环境进行详细的介绍,但心铃仍然希望借此大家能对CBuilder 的使用和操作有一个初步的了解,并为进一步学习打下一个良好的基础。
CBuilder 集成开发环境采用了浮动式窗口/工具条的界面风格,如图2-1所示。
缺省的集成开发环境由主菜单、工具条、元件面板、对象浏览器、窗体编辑器、代码编辑器和类浏览器组成,用户还可以通过View 菜单中的一系列命令来定制自己习惯的窗口布局。
菜单CBuilder 的菜单命令非常多,主菜单就有10个菜单栏,上百个菜单项,另外还有众多右键关联菜单。
主菜单和关联菜单一起涵盖了CBuilder 集成开发环境支持的所有操作命令。
许多常用菜单命令都有加速键,如F9(调试运行)、Ctrl+S (保存文件)等,熟练使用这些加速键可以提高编程时的工作效率。
主菜单按不同用途分为10个菜单栏。
File菜单中主要包括与文件操作有关的命令,其中最常图2-1:C++ Builder IDE 的外观和组成用的是新建工程(New Application )、打开工程(OpenProject )、打开文件(Open )和保存(Save )。
另外一个非常有用的命令是新建对象(New ),它会调出如图2-2所示的对话框。
CBuilder 中有许多预先建立的对象模版和向导,如各种类型的工程、不同用途的窗体等等,从New Items 对话框中选择一种对象模版或向导,可以让你按照向导的指示生成一个新的对象,许多高级的功能都可以通过这种方式实现,从而避免了大量手工重复性的劳动。
c 编程规范
c 编程规范C 编程规范是用来规范 C 语言程序代码风格和编写规范的一系列准则。
遵循 C 编程规范可以提高代码的可读性、可维护性,减少错误和 bug 的发生。
以下是一些常见的 C 编程规范建议:1. 代码缩进:缩进应该使用相同数量的空格符或制表符,一般为 4 个空格或一个制表符。
缩进可以使代码结构更清晰,便于阅读。
2. 命名规范:变量、函数和常量的命名应该具有描述性,能够准确反映其用途和含义。
使用驼峰命名法或下划线命名法是常见的命名风格。
注意避免使用与 C 语言关键字相同的名称。
3. 注释规范:代码中应该包含必要的注释,用于解释代码的逻辑、实现细节和算法。
注释应该清晰明了,不要出现拼写错误或过多的冗余信息。
4. 函数长度:函数的长度应该适中,不要过长。
一般来说,一个函数应该只负责一个具体的功能,如果函数过长应该考虑分割成多个子函数。
5. 模块化设计:程序应该使用模块化的设计原则,将功能相似或相关的代码块组织成不同的模块或文件。
这样可以提高代码的可维护性和可重用性。
6. 错误处理:程序应该正确处理各种可能发生的错误和异常情况。
避免简单地使用错误代码或忽略错误,而是采取适当的错误处理措施,例如返回错误码或抛出异常。
7. 变量声明:变量应该在使用前先声明,并且尽量在被使用的代码块的起始处进行声明。
声明时应给予适当的初始值,以避免使用未初始化的变量。
8. 代码复用:避免重复的代码和冗余的逻辑。
可以通过编写可重用的函数、使用循环和条件语句等方式来提高代码的复用性和可读性。
9. 括号的使用:括号的使用是保证代码逻辑准确性的重要方式之一。
建议在 if、for、while、switch 等语句块的使用中,使用括号来明确代码块的范围,以避免出现逻辑错误。
10. 代码格式:代码应该有一致的格式,用以增加可读性。
应避免使用过长的代码行,一般建议每行代码长度不超过 80 个字符。
综上所述,C 编程规范是编写高质量、可维护代码的基本准则。
C++Builder(BCB)是什么?
C++Builder(BCB)是什么?C++ Builder是基于可视组件技术和C++语⾔的快速应⽤程序开发⼯具。
C++ Builder的前⾝是Borland C++,⽽Borland C++最早是Turbo C,在DOS界⾯编程的年代,对于每⼀个⼯科学⽣,⼏乎是⽆⼈不知。
学习C++ Builder最常⽤的版本是C++ Builder 6.0,C++ Builder 2010等,最新的版本(RAD Studio)还⽀持iOS、安卓等多平台软件的开发。
Windows是图形⽤户界⾯(Graphical User Interface)操作系统,标准的Windows应⽤程序也是图形⽤户界⾯的。
传统上,SDK⽅式开发Windows应⽤程序的GUI界⾯是⼀个很繁琐的⼯作,界⾯相关和消息处理的代码量甚⾄占到项⽬总代码量的⼀半以上,⽽且和业务逻辑代码是混杂在⼀起的,程序难以扩展、重⽤和维护。
C++ Builder是真正的可视化的开发⼯具。
C++ Builder可以⽤⿏标拖拉控件加上设置属性轻松地“设计”出⼀个程序的图形⽤户界⾯,利⽤可视的组件/控件像“搭积⽊”⼀样,以“所见即所得”的⽅式搭建应⽤程序的界⾯,这也是C++ Builder这个名字中Builder的概念。
这样,只需要⽤C++语⾔编写业务逻辑代码,类似于DOS下⽂本界⾯编程,只要专注于实现业务逻辑功能就可以了,代码⾮常简洁。
数据的输⼊和表现,都在图形⽤户界⾯,⾮常直观、易⽤。
这就是RAD开发(Rapid Application Development,快速应⽤程序开发)。
VCL是Visual Component Library的缩写,即可视组件库,它是Delphi和C++ Builder编程语⾔的基本类库。
VCL以组件化、可视化为设计⽅向,是新⼀代的应⽤程序框架(Framework)。
VCL组件是对Win32 API和Windows消息的封装,将繁杂的API调⽤和琐碎的细节以及复杂的消息处理过程封装为使⽤简便的类接⼝——属性、⽅法和事件,具有封装纯粹、可扩展性强、使⽤⽅便等特点。
C++ Builder 基本图形编程
文本背景
改变文本背景颜色比较容易,这里可以让文本背景颜 色与文本颜色相同,做法如下:Canvas->Brush>Color=Color; 最好能使文本背景透明,方法如下: TBrushStyle oldStyle; oldStyle = Canvas->Brush->Style; Canvas->Brush->Style = bsClear; Canvas->TextOut(20,20, "This is a test."); Canvas->Brush->Style=oldStyle; 首先要保存当前画刷样式,然后将画刷样式设置为透明 (bsClear)。显示文本后,要恢复当前画刷样式。
缺省情况下,Style属性设置为bsSolid。 如果要填充图案,则要将Style属性设置 为几种图案之一(bsHorizontal、 bsVertical、bsFDiagonal、bsBDiagonal、 bsCross或bsDiagCr Canvas->Brush->Color = clBlue; Canvas->Brush->Style = bsDiagCross; Canvas->Ellipse(20, 20, 220, 220);
在屏幕上绘制蓝边红黑的圆 Canvas>Brush>Color = clRed; Canvas>Pen>Color = clBlue; Canvas>Ellipse(20, 20, 120, 120);
GDI对象
。最常用的GDI对象有画笔、画刷和字体, 其它GDI对象有调用板、位图和区域。
画笔
下例是画红色划线的代码: Canvas->Pen->Color = clRed; Canvas->Pen->Style = psDash; Canvas->MoveTo(20,20); Canvas->LineTo(120,20); 为了测试这个代码,在窗体上放一个按钮并将代码输 入按钮的OnClick处理器中。单击按钮时,窗体上即画 出一条直线。 提示:为了试验TPen的不同属性,可以在窗体上放一 个Shape构件并修改形体的Pen属性,这在检查TPen类 Mode属性的效果时特别方便。
C++Builder一些小技法
C++Builder一些小技法怎样在C++Builder中创建使用DLL自从C++Builder从去年浪漫情人节上市以来,吸引了大量的Delphi、VC、Vb的程序员到它的怀抱,大量的C、C++程序员感叹道:总算有了C的可视化开发工具,对我也是一样,从BC、Delphi到C++Builder。
动态链接库(DLL)是Windows编程常遇到的编程方法,下面我就介绍一下在BCB (C++Builder下简称BCB) 中如何创建使用DLL和一些技巧。
一、创建:使用BCB File|NEW建立一个新的DLL工程,并保存好文件BCB,生成一个DLL的程序框架。
1.DllEntryPoint函数为一个入口方法,如果使用者在DLL被系统初始化或者注销时被调用,用来写入对DLL的初始化程序和卸载程序;参数:hinst用来指示DLL的基地址;reason用来指示DLL的调用方式,用于区别多线程单线程对DLL的调用、创建、卸载DLL;2.在程序中加入自己所要创建的DLL过程、函数;3.用dllimport描述出口;例程序如下:#include#pragma hdrstopextern 揅?__declspec(dllexport) int test();int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*){return 1;}int test(){return 3;}注意:动态链接库中调用过程、函数时有不同的CALL方式__cdecl、__pascal, __fastcall、__stdcall,BCB中默认的方式为__cdecl(可不写),如果考虑兼容性可用时__stdcall声明方法为:extern 揅?__declspec(dllexport) int __stdcall test();对于其中过程、函数也改为:int __stdcall test()二、使用DLL在BCB中使用DLL有两种方法:1.用静态调用法首先需要在BCB的项目中加入输入接口库(import library),打开工程项目,使用BCB View|Project Manager打开项目列表,向项目中加入接口库(*.lib)。
c++ builder编程指南
C++Builder 编程指南2关键字:C++Builder,编程指南作者:佚名更新:2002-11-01 浏览:5158三、常用控件的使用与编程静态文本是用户无法直接改变(不可编辑)的文本,程序可以在运行时刻来改变它,通常起标注和提示作用,它位于控件板的“Standard”页,其主要属性有:Align:指该控件在窗口中的位置或对齐方式(AlBottom:位于底部;AlClient:充满客户区;AlLeft:位于左方;AlNone:用户自定义;AlRight:位于右方;AlTop:位于顶部)。
Alignment:显示文字在本控件中的位置(taCenter:居中;taLeftJustify:居左;taRightJustify:居右)。
AutoSize:是否自动缩放(当设为true时,则控件的尺寸随控件里面文字的大小而改变)。
Caption:控件中要显示的文字,即标题。
Color:控件的颜色。
Cursor:鼠标移入控件后的形状。
Enabled:设置该控件是否有效。
Font:设置该控件内文字的字体,单击该属性弹出字体设置对话框,可以设置字体风格、字体尺寸、字体颜色等。
Name:控件名称。
标准按钮主要用于响应用户鼠标或键盘按下的操作,它位于控件板的Standard页,其主要属性有:Cancel:当设为true时,此按钮相当于放弃按钮,即当用户按下Esc键时相当于用鼠标单击此按钮。
Default:设置该按钮是否为缺省按钮。
ModalResult:模式结果。
(可选值有mrNone、mrOk、mrCancel、mrAbort、mrRetry、mrIgnore、mrYes、mrNo等)当设为非mrNone时,主要用于按下该按钮时关闭该按钮所属模式窗口。
标准按钮控件可以响应的主要事件有:OnClick:鼠标单击或按下热键时的响应事件。
OnEnter:当按钮获得输入焦点时的响应事件。
OnExit:当按钮失去输入焦点时的响应事件。
BCB第三讲C++ Builder集成开发环境(下)
C++ Builder 集成开发环境(下)上一讲介绍了CBuilder 集成开发环境中的菜单、工具条和元件面板,本讲心铃将继续为大家介绍CBuilder 集成开发环境中几个主要工具的功能和使用方法,这些工具包括代码编辑器、窗体编辑器、对象浏览器、类浏览器、消息窗口和图象编辑器。
● 单元与窗体在介绍这几个工具之前,首先介绍一下CBuilder 中单元与窗体的概念以及它们之间的关系。
在CBuilder 中,C++(或其它语言)的源代码文件被称为单元文件(Unit )。
窗体是Windows 应用程序中的基本界面,在CBuilder 中,窗体的设计是完全可视化和所见即所得的,一个窗体总是和三个文件相关联:一个窗体文件(扩展名为.dfm )、一个头文件(扩展名为.h )和一个单元文件(扩展名为.cpp ),这三个文件的名字相同,但扩展名不同。
窗体文件定义了窗体的大小、形状以及其它各种属性,CBuilder 5的窗体文件比老版本做了较大的改进,由以前的二进制格式改成了文本格式,大大增强了其可读性。
为了在代码中对窗体进行操作,每个窗体又用一个C++类来封装,窗体类的声明位于头文件中,而类的实现位于相应的单元文件中。
由此可见,CBuilder 的每个窗体都包含了一个单元文件,但单元文件的应用范围并不仅仅局限于窗体。
● 代码编辑器代码编辑器是编写源代码的地方,除了C/C++源文件之外,CBuilder 代码编辑器还可以编辑Delphi 单元文件(.pas 文件)以及其它以文本格式来保存的文件。
代码编辑器除了具有很强的文本编辑功能之外,还具有语法检查、查找定位、智能化代码生成等功能,它同时也是程序调试的主要场所。
CBuilder 代码编辑器(图3-1)由标题条、标签区、标志区、文本编辑区和状态条组成。
其中标题条显示了当前正在编辑的文件名。
代码编辑器采用分页式窗口,每一个打开的源文件即为一页,每页都有一个标签,标签上显示了相应的文件名,用户可以单击标签以便在不同的文件之间切换。
C#程序代码编程规范(简化版)
C#编程规范Version 2.0目录第一章概述 (4)规范制定原则 (4)术语定义 (4)Pascal 大小写 (4)Camel 大小写 (4)文件命名组织 (4)1.3.1文件命名 (4)1.3.2文件注释 (4)第二章代码外观 (6)2.1列宽 (6)2.2换行 (6)2.3缩进 (6)2.4空行 (6)2.5空格 (6)2.6括号-() (7)2.7花括号-{} (7)第三章程序注释 (9)3.4注释概述 (9)3.2文档型注释 (9)3.3类C注释 (10)3.4单行注释 (10)3.5注释标签 (10)第四章申明 (14)4.1每行声明数 (14)4.2初始化 (14)4.3位置 (14)4.4类和接口的声明 (15)4.5字段的声明 (15)第五章命名规范 (16)5.1命名概述 (16)5.2大小写规则 (16)5.3缩写 (17)5.4命名空间 (17)5.5类 (18)5.6接口 (18)5.7属性(A TTRIBUTE) (19)5.8枚举(E NUM) (19)5.9参数 (19)5.10方法 (20)5.11属性(PROPERTY) (20)5.12事件 (21)5.13常量(CONST) (22)5.14字段 (22)5.15静态字段 (23)5.16集合 (24)5.17措词 (24)第六章语句 (25)6.1每行一个语句 (25)6.2复合语句 (25)6.3RETURN 语句 (25)6.4IF、 IF-ELSE、IF ELSE-IF 语句 (25)6.4 FOR、FOREACH 语句 (26)6.5WHILE 语句 (26)6.7.DO - WHILE 语句 (27)6.8.SWITCH - CASE 语句 (27)6.9.TRY - CATCH 语句 (27)ING 块语句 (28)6.11.GOTO 语句 (28)第七章控件命名规则 (29)7.1命名方法 (29)7.2主要控件名简写对照表 (29)第八章其他 (29)8.1表达式 (29)8.2类型转换 (29)附录一:匈牙利命名法......................................................................................... 错误!未定义书签。
C++Builder 5.0编程指南(2)
void Tperson::NewPerson(String name, int age, Tsex sex)
{
int I = Count;
persons.Length = ++Count; //动态数组长度加1
(^60090208tb3^)(TPopupMenu)弹出式菜单,和主菜单相似。
(^60090208tb4^)(Tlabel)标签组件,可以显示静态文本。
(^60090208w^)
(^60090208tb5^)(Tedit)单行文本输入框
(^60090208x^)
C++Builder 5.0编程指南(2)
木子
2001年 60期
【类】
这种类型是根据进行的操作和需要的数据结构定义的,是完成特定任务的数据和函数的集合。用class关键字来声明:
class 类名 [: 基类] {
声明部分
}[变量名];
声明部分可以是成员变量和成员函数,看一个最简单的类声明例子:
class TMyClass {
String Ddata;
};
看上去很象struct和union的声明,但TMyClass中的Fdata却是无法访问的,在类中默认成员是私有的(private),类以外是“看”不到的。扩展一下TmyClass:
class TMyClass {
方法就是类的成员函数,可以执行一定的操作。如Form1->Close();可以关闭窗口,Close()是Tform类的一个成员函数。
3. 基本组件介绍
(1)窗口
窗口也是组件,一个工程可以有很多个窗口,但是只有一个主窗口,关闭主窗口将会结束整个程序。
BCB程式语言02.
BCB 程式語言02(一)、保留字與識別字1、保留字(Keywords)保留字是任一程式語言已事先賦予某一識別字一個特別意義, 所以程式設計者不得再重複賦予不同的用途。
例如, if 已被賦予決策敘述, 程式設計者當然不得再定義if 為另外的用途。
以下是C++Builder 的保留字。
2、識別字(Identifier)真實的世界裏, 每個人、事及物都有一個名稱, 程式設計亦不例外。
例如, 於程式設計時我們必須為每一個變數、常數、方法、函式、程序、類別及物件等命名, 以上所有變數、常數、方法等名稱, 統稱為程式語言的識別字。
C++Builder 的識別字命名規則如下:•1. 識別字必須是以字母(大小寫的A 至Z)或底線(_)開頭。
例如, 以下是•一些合法的識別字。
aIsum_sumInCome•以下是一些非法的識別字。
7eleven '不能由數字開頭+a '不能由加號開頭$sum '不能由錢字號開頭•2. 識別字由字母開頭後, 可由字母、數字組合而成, 但不得包含空白。
例如, 以下是一些合法的識別字。
a123RU444a123b•以下是一些非法的識別字。
A C '不能含空白c+3 '不能含加號Age#3 '不能含井字號•3. 識別字的最大長度為250 個字元。
•4. 識別字不得使用保留字, 如if 、for 等。
•5. 識別字要用有意義的單字。
例如, StudentNumber 或AverageIncome 。
除非生命週期極短的變數才用x、i 、或a 等當識別字, 也千萬不要用像k23erp 這種沒意義又難記的識別字。
•6. 識別字有多個單字時, 中間可以加上底線(_)。
例如, 上例的StudentNumber 可寫成Student_Number, 若擔心打字不靈光亦可寫成Stu_Num 、stu_num 、StuNum 或stunum, 其中StuNum 又稱為駱駝表示法, 因為大寫字母看起來像駝峰一樣, 可以避免鍵入底線的困擾、且提昇閱讀效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++Builder (BCB)编程规范 之 鲨鱼美美版
本鲨于2002年出道,直今的2004年,快有两年啦! 时间流逝可真快! 毕业后共打了四份工,全部是做软件书写师。
都涉及到数据库的领域!.不过薪金也逐步提高了 从50,130,150,到250英镑。
每次进一家公司,不是去做开发而是做维护。
所以修改代码,调试程序,找出BUG。
简直是莫大的痛苦,尤其是修改那些用管C语言人开发的程序,乃是今生莫大的痛苦呀!就逐步总结了一些可行的经验。
1 单元
每个单元只包含一个类的声明。
类中不永许写类的实现,类成员函数不超过20个,需要被外界调用的成员函数放在Public外,其余的全部放在Proteced,明确的不想让继承者修改的话放在Private中。
包含的头文件 也就是#include <VCL.h> 在头文件应该包含该类所需要的类型的。
如果cpp也包含了,那么头文件就不要在包含,使用Class vcl; 告诉头文件有些需要的已经在CPP文件中包含啦!另外对不再使用的包含文件要及时的清除出去,否则可能碰到连接出错的问题,bcb的连接提示少的可怜啊!就有苦头吃拉!还有要记得给自己加进的包含写注解啊!!
2 实现文件中
千万不要定义全局变量和全局函数,至于会发什么问题啦,只有碰到了几十万的代码,五六个项目集合,一两百个单元所可能发生的问题。
那该怎么办了? 简单把它归到所在单元的类声明中去。
函数的实现代码行不要超过200行 包括之间的空格.因为人的暂时记忆能力不强啊! 为什么文章要分段落啊! 就是人暂存上下文的关联的内存是有限的呀
3 组件的属性设置和数据库的字段表名:
一般下都会在对象检查器中的设置。
当调试过不去而你又忘记了设置
的属性时的哭相,是多么地可气啊!而且BCB没有组件之间的比较,否则的话可以拖个同样的新组件来比一比到底哪里设置的不同! 所以没有办法只好麻烦些直接在代码中设置吧! 虽然很麻烦 却可以节省比较可观的时间呀! 要不就像 kateboy (老公)由于设置了ADOConnection 的Attrib里中的自动事务处理。
每当退出程序时就报错!从早上跑到各大BCB的QQ群中求人帮助,只到最后吃晚饭才惊奇发现了毛病所在! 还有一次不知那各BCB老大自报家丑 说自己吸了5包烟抓改BUG直到凌晨时分,方发现了它,原来是书写错误。
再者就是数据库的表名和字段名。
在写数据库中,一般会这样写ADOQuery->SQL->Text=”Select * From TabName Where
Name=’wowo’ and sex=’b’”;
ADOQuery->FieldByName(“Sex”)->AsBoolean=true;
程序中到处都是这样写,数据库中的字段名一当改变。
你得到处去修改,当然用BCB的查找功能帮一大忙,可是总有漏网之鱼吧! 而且BCB 的语法检查不会到字苻串中,每当运行到该处时,虽然程序很明确的告诉你字段不存在,你也很清楚知道如何去修改。
但找到它,再一次运行调试。
可这段时间以及这时的心情就没有那么好了!每次放同样的错误,每次浪费同样的时间,虽然说少。
可每天就8个小时的工作时间。
这样频繁的浪费,心情一次比一次不好了,工作效率就越低,只好晚上加班继续干!若次次因为它要去加班,则那有时间去炮轰美媚啦!更不用说挤出点时间学习啦!身体也每况俞下!
解决办法就是使用个单元名为:DBStruct 。
在该单元中用结构体来存放数据库的表名和字段。
列如:typedef struct{ stirng Name;
string sex;String TabName} MyTab;
MyTab m_dogTab;
ADOQuery->FieldByName(m_dogTab.Sex)->AsBoolean=true;
4 单元之间的引用
可以说单元其实就是类,虽然我们写类的时间较少。
但TFORM就是个已
经声明好的类,我们就给它添加功能就行了!类之间最好时少耦合,多内聚。
最好不要在单元之间使用回调的功能和数据成员。
直接使用函数和属性。
5命名
一般下的组件的命名是 Form1 Frm_Main Edit1 Edt_Name 等 你也可以不缩写!
其实不很长 无非是全局静态常量整形指针 gcs_ipMyAge; 一般情况下是 g_iMyAge 顶多三个或者是四个罢了!最重要的是能一眼区分出来!
6 注解:
我很反对注解占用一行,尤其是在代码头上,极大的防碍了阅读代码! // 这是我写的 N年钱
adoquery->sql->text=sName;
为什么不这样了
adoquery->sql->text=sName; // 这是我写的 N年钱当你看不懂代码时就向右看一看注解,就明白.
7 函数入口要检查参数.
OK !到此为之 2004-5-28。