回 帖 发 新 帖 刷新版面

主题:[原创]c++Builder5学习笔记(1)

第1章使用C++Builder进行软件开发

本章重点介绍了C++Builder集成开发环境,以便读者在创建应用程序时能充分利用其强大的功能,从而达到事半功倍的效果。
另外,在本章的最后,对使用C++Builder编程过程中常用的一些操作步骤进行了统一的介绍。

1.1 软件开发概况
1.1.1计算模式的发展概况
1. 单机计算模式
2. 单机数据库计算模式
3. 客户机/服务器计算模式(C/S)
4. 3层/n层计算模式(3~tiers/n~tiers):显示层、逻辑层和数据层。
1.1.2 程序设计方法的发展概况
1.结构化程序设计(Structured Programming)
2.面向对象程序设计(Object-Oriented Programming)
3.组件对象模型程序设计( COM/CORBA)
上面的三个程序设计的方法并不是一个取代另一个的关系,而是包含与被包含的关系:在进行面向对象程序设计的时候,需要用到结构化程序设计;而进行组件对象模型程序设计的时候,也一定要用到面向对象程序设计和结构化程序设计的技术。
1.1.3 软件开发与软件开发人员
下面针对目前的几种主要类型的计算机软件说明软件开发的情况:
1.    通用软件的开发(C++Builder、Delphi、Visual C++和Visual Basic)
2.    控制软件的开发(以前,开发实时控制的程序往往采用汇编语言。现在,也可以使用高级语言进行编程,或者使用汇编语言和高级语言进行混合编程。C++Builder、Delphi等开发工具都提供了这些功能)
3.    科学计算软件的开发(C++Builder, Mathematica、MatLab)
4.    多媒体软件的开发(C++Builder, Director、Authorware、Flash和ToolBook等)
5.    数据库软件的开发(C++Builder)
6.    网络软件的开发(使用C++Builder在开发网络软件时可以采用的技术很多,如WinSocket编程、WinINet编程和ActiveX,COM/DCoM,MIDAS和CORBA编程等)
7.    其他软件的开发(其他软件的开发主要有:操作系统的开发、数据库管理系统的开发、硬件设备驱动程序的开发等。在这些领域, C++Builder将是一个非常好的工具)

1.2 集成开发环境简介
RAD:rapid application develop快速应用开发
C++Builder集成开发环境的主界面包括下面几个部分:
1. 标题栏
标题栏中显示了当前工程的工程名。标题栏位于最上部。
2. 主菜单
通过主菜单可以实现集成开发环境中的绝大部分命令。
C++Builder在主菜单栏中将“ Component”和“Database”作为独立的菜单项罗列出来,可以看出,利用C++Builder进行程序开发,组件和数据库将是两个非常重要的方面。
3. 工具栏
通过该菜单可以方便地控制工具栏和组件栏的显示和隐藏。
4. 组件栏
在利用C + + B u i l d e r开发应用程序的过程中,正确、合理、恰当地使用组件非常重要。
5. 对象观察器(Object Inspector)
对象观察器的功能是实现对象(尤其是组件)的属性设置,创建事件处理过程并进行管理。对象观察器分为下面的三个部分:
1) 对象列表:对象列表是一个组合框,包含了当前窗体上的所有组件。有时一些组件因为太小或没有明显的标志,利用鼠标点击不容易选中,这时可以利用对象列表组合框来选择该组件。
2) 属性页(Properties):属性页中列举了当前被选中的对象(比如说组件)的属性。可以在程序设计的过程中直接对这些属性进行修改,也可以在程序运行期间通过代码进行修改。在有些属性的前面有一个带有方框的加号标志,表明该属性是由一些子属性组成的。点击加号标志就可以展开该属性,同时加号标志变成了一个带有方框的减号标志。
3) 事件页(Events):通常情况下,事件处理过程为空。可以双击事件右面的组合框来添加事件的处理过程。如果要共用已存在的事件处理过程,可通过下拉组合框进行选择。
6. 窗体设计窗口( F o r m )
窗体就是将来在应用程序中显示的界面。在窗体设计窗口中可以添加组件栏中的组件,窗体设计窗口的标题栏中显示的是当前正在设计的窗体的名称。
一般一个窗体对应一个采用C + +语言书写的单元文件(包括H文件和C P P文件)。通过菜单命令View | Toggle Form/Unit或快捷键F12可以在窗体设计窗口和单元文件之间进行切换。
7. 代码浏览器(Code Explorer)
通过代码浏览器可以在代码编辑器中快速地定位,并可以在其中将定义的类完善。
8. 代码编辑器(Code Editor)
代码编辑器为代码的输入和编辑提供了一个方便的环境。每打开一个文件,代码编辑器窗口的上部就会增加一个标签。可以通过点击标签在不同的文件中切换。可以通过快捷键S h i f t + C t r l + E在E d i t o r和E x p l o r e r之间来回切换。
9. 信息窗口(Message Vi e w )
信息窗口在代码浏览器窗口和代码编辑器窗口的下部,在编译和链接过程中出现的一些信息将显示在信息窗口中。如果双击信息窗口中的信息条目,当前位置将定位到代码编辑器中导致问题的代码处。

1.3 例程:第一个Wi n d o w s应用程序
具体实现过程如下:
1. 运行C++Builder
2. 创建工程
1) 创建工程目录。
2) 创建一个新的工程。
3) 保存工程及相关文件。
3. 定制窗体
1) 往窗体中添加组件。
2) 在窗体中选中标签组件,然后在对象观察器窗口中设置标签组件的主要属性.
4. 添加代码
5. 运行程序
通过菜单命令Run | Run运行程序。如果程序没有编译和链接,则程序在运行前系统会自动进行编译和链接。

1.4 集成调试器
1. 设置/去除断点
断点的设置可以在程序调试前进行,也可以在程序调试期间进行。
设置/去除断点最简单的方法是在代码编辑器中,利用鼠标点击代码行左边的灰色竖条处。
另外,通过快捷键F 5或菜单命令Run | Add Breakpoint | Source Breakpoint...也可以设置断点。
2. 单步执行
当程序运行到断点处暂停后,可以按F 8键或通过菜单命令Run | Step Over单步执行下去。如果遇到过程或函数调用,程序将一次执行完成。
按下F 7键或选择菜单命令Run | Trace Into,可以在遇到过程或函数调用的时候,进入过程或函数的内部。
此外,菜单命令Run | Run to Cursor可以使程序执行到当前光标所在的行后暂停,这在程序调试的过程中也是非常有用的。
3. 查看信息
在调试过程中,如果想查看某个变量的数值,可以在程序暂停的情况下,在代码编辑器中将鼠标移动到这个变量上稍停一下,就会出现一个小窗口显示该变量的数值。
通过菜单命令Run | Add Watch也可以对变量的数值进行查看,同时还会出现一个Watch List对话框。
在程序单步执行的情况下,在代码编辑器中单击鼠标右键,选中弹出菜单的Debug | View CPU命令,将弹出CPU对话框显示当前CPU的有关情况。
此外,在程序单步执行时,通过菜单命令View | Debug Windows | Threads可以弹出Thread Status对话框,对当前运行的线程进行查看。
4. 中止运行
在程序调试期间,可能会由于代码的问题,程序在运行时停在了某个地方而不继续下去。这时可以通过菜单命令Run | Program Reset来终止程序的运行。

1.5 开发环境的优化
1.5.1 自定义工具栏
通过主菜单中的View | Toolbars | Customize... 命令或右键弹出菜单中的Customize . . .命令,将弹出Customize对话框,选中其中的Commands属性页。这时,就可以在工具栏上添加、删除和排列加速按钮了。
1. 往工具栏上添加加速按钮
在Customize对话框的Commands标签中选中Categories项的某个命令集, Commands项中就列出了对应的命令。可以利用鼠标将Categories项中具体的某个命令拖动到工具栏上适当的位置。
可以将工具栏上的加速按钮分类,各小组之间添加一个分隔条。在Customize对话框的Commands标签的Categories项中,第一个条目就是一个分隔条,可以将其拖动到工具栏中。
2. 删除工具栏上的加速按钮
只要利用鼠标将工具栏上的加速按钮拖出就可以将该加速按钮删除。
3. 改变工具栏上加速按钮的位置
只要利用鼠标将加速按钮在工具栏上拖动就可以了。
1.5.2 编程环境设置
通过主菜单的Tools | Environment Options...命令将打开Environment Options对话框,在其中
可以对C++Builder集成开发环境进行设置。
下面对Environment Options对话框中的一些属性页进行说明:
1. Preferences
如果选中Autosave options | Editor files选项,则当执行Run | Run、Run | Trace Into、Run | Step Over、Run | Run To Cursor等命令或退出C++Builder时,系统将会自动保存代码编辑器中所有改动过的文件。
同样,如果选中Autosave options | Project Desktop选项,在上述情况下将自动保存桌面信息,并且当C++Builder运行时会自动打开上次关闭C++Builder时打开的工程。
选中Compiling and Running | Show compiler progress选项后,可以在编译过程中显示编译的进度和相关的信息。当工程越做越大时,重新编译一次所需的时间将比较长,这时候最好显示这些信息。
通过设置Form Designer | Display Grid项可以显示/隐藏窗体设计窗口中的网格。此外, FormDesigner | Grid Size X和Form Designer | Grid Size Y属性可以设置网格的宽度和高度。
如果选中了Form Designer | Snap To Grid项,则使用鼠标拖动窗体设计窗口中的组件时,不可以将组件放在两个网格线之间。建议不要选中该项。
2. Library
在Library标签中可以对一些路径进行设置。比如库文件的路径默认设置为:
$(BCB) \ Lib; $(BCB) \ Bin; $(BCB) \ Imports; $(BCB) \ Projects \ Bpl
其中: $(BCB)表示Borland C++Builder的安装目录,比如: C:\Program Files\Borland\C++Builder5。
如果有多个路径,可以使用分号隔开。
3. Palette
在Palette标签中可以添加、删除、更名和排列组件夹中的组件。
4. Explorer
在Explorer标签中可以对代码浏览器进行设置。
5. Type Library
在Type Library标签中可以对类型库编辑器进行设置。
6. Translation Tools
在Translation Tools标签中可以对集成翻译环境进行设置。通过集成翻译环境可以定制不同语言版本的应用程序。
用户可以通过使用F1帮助键,来获得这些属性页的详细说明。
1.5.3 编辑环境设置
通过主菜单的Tools | Editor options...命令将打开Editor Properties对话框,在其中可以对C++Builder的编辑环境进行设置。
下面对Editor Properties对话框中的一些属性页进行说明:
1. General
如果选中Editor options | Smart tab项,则在代码编辑器中按下回车键后就可以自动缩进。此外,在按下Tab键后也可以将代码移动到适当的位置,比如与上一行第一个不是空格的字符对齐。
如果选中Editor options | Overwrite blocks项,则利用鼠标选中多行代码后,按下Delete键就可以一次全部删除。
选中Editor options | Undo after save选项后,在进行保存操作后还可以撤消前面的某些操作。
选中Editor options | Find text at cursor选项后,通过菜单命令Search | Find...或Search | Find in File...打开Find Text对话框时,会自动将代码编辑器中当前光标所在的一个独立字符串添加到Find Text对话框的Text to find项中,而不需要通过键盘输入了。
在Editor SpeedSetting项中可以快速地设置编辑环境,其中预定义好了几个方案,可以通过下拉组合框进行选择。
2. Display
选中Display | Zoom to full screen选项后,将代码编辑器最大化时窗口将充满整个屏幕,并盖住C++Builder的标题栏、菜单栏、工具栏和组件栏。
此外,可以对代码编辑器中的字体和字体大小进行设置。建议将Size项设置为12。
3. Code Insight
在Code Insight标签中可以对代码感知方面的属性进行设置,比如新建、删除和修改代码模板。
可以将Automatic features | Delay项设置到最左边,即延迟时间为0.5秒。
1.5.4 工程设置
通过菜单命令Project | Options...将打开Project Options对话框,然后就可以对当前打开的工程或将来新创建的有关工程进行设置了。
注意,在打开工程时比没有打开工程时要多三个标签。在Project Options对话框的左下角有一个Default复选框,如果选中并按下“确定”按钮后,则当前设置的信息将作为后来新创建工程的默认设置。
1. Forms
在Forms标签中可以对当前工程的窗体进行设置,比如可以在Main form项中设置主窗体。
如果希望程序一运行就创建某个窗体,则可以将该窗体的名称设置在Auto-create forms项中。
否则,则将其移动到右边的Available forms项中。
2. Application
在Application标签中可以指定工程的名称,帮助文件名和应用程序的图标等。
3. Compiler
在Compiler标签中可以对编译过程进行设置。建议进行更严格地编译。比如将Runtimes errors项中的所有选项都选中。
4. Linker
在Linker标签中可以对链接过程进行设置。
比如,如果选中了EXE and DLL options | Generate console application项,则生成的应用程序为控制台程序。
5. Directories/Conditionals
在Directories/Conditionals标签中可以对工程在编译、链接过程中的目录和条件等进行设置。
6. Version Info
在Version Info标签中可以设置工程的版本信息。
7. Packages
在Packages标签中可以新增、删除和编辑组件库的设置信息。

1.6 方法与技巧
1.6.1 使用代码浏览器
在使用代码浏览器的时候,有以下一些方法和注意点:
1) 建议将菜单命令View | ClassExplorer相应的加速按钮添加到工具栏。这样关闭代码浏览器可以使用代码浏览器窗口右上角的“关闭”按钮,显示代码浏览器可以通过工具栏上添加的加速按钮,或者在代码编辑器中通过右键弹出菜单中的View Explorer命令来实现。
2) 在代码浏览器中单击鼠标右键,在弹出菜单中选择Properties (P)命令,将弹出ExplorerOptions对话框,在其中可以设置一些属性。建议将Explorer categories项中的内容全部选定。
3) 在代码浏览器中双击控件中的某个条目,或者通过右键弹出菜单中的View Editor命令,就可以定位到代码编辑器中的相关位置,比如变量、类或过程和函数的定义处。
4) 可以在代码浏览器中添加类的成员。比如,在代码浏览器中选中某个类,在右键弹出菜单中选择New Field...、New Property. . .或New Method...命令,然后在弹出的属性编辑框中修改新条目的属性,最后按下回车键就可以了。
1.6.2 使用代码编辑器
在使用代码编辑器的时候,有以下一些方法和注意点:
1) 通过右键弹出菜单Close Page可以关闭当前文件。
2) 如果将光标定位到某一个标识符上,然后通过右键弹出菜单Open File at Cursor可以打开一个文件,文件名为<标识符>。通常将光标定位到uses语句中的某个单元名上再使用该命令。
3) 将光标定位到某个类的定义体中,通过右键弹出菜单Complate Class at Cursor命令可以完善类的定义。比如,我们先在类的定义体中声明了一个函数的原型,然后选中右键弹出菜单中的Complate Class at Cursor命令,C++Builder将会自动创建该函数的函数体,并将当前光标位置定位到函数体处。
4) 可以在代码编辑器中的某个文件中的某一行定义书签,并可以通过热键很快定位到定义了书签的那一行。
定义书签:将光标移动到需要定义书签的那一行,选中右键弹出菜单的Toggle Bookmarks | Bookmarks N命令。这里N为0~9,也就是在一个文件中最多定义10个书签。可以在一行定义一个以上的书签。删除书签的操作与定义书签的操作一样,即如果该行已经被添加了书签,则点击“添加书签”命令,将该书签取消。
定位书签:在代码编辑器中按下Ctrl+0,就定位到第0个标签所在的行,其余同理。或者通过右键弹出菜单的Goto Bookmarks | Bookmarks N命令。
5) 通过右键弹出菜单ReadOnly可以锁定当前的文件,避免一些无意的操作。解除锁定的操作同锁定的操作一样。
6) 在代码编辑器中按下Ctrl键,移动鼠标到标识符上,则鼠标形状会变成手形,并且该标识符变成热链接状态,也就是字体颜色为蓝色,而且有下划线。如果标识符是一个变量或类型,这时单击鼠标左键就会跳到该变量或类型的定义处。
1.6.3 使用帮助系统
C++Builder提供了强大的帮助功能。
下面列举了使用帮助系统的一些小知识,如果读者自己也总结了一些经验,可以将下面的各项进一步完善:
1) 当遇见问题时,可以尝试按下F1键,C++Builder会根据当前的焦点而启动相应的帮助,一般情况下C++Builder都会准确地定位。
C++Builder的联机帮助具有智能判断的功能。如果当前位置在对象观察器中的某个属性中时,按下F1键后则会自动显示该属性的帮助内容;如果当前显示的是C++Builder系统的某个对话框,按下F1键后则会显示该对话框的有关帮助内容;如果弹出了某个菜单,这时按下F1键,则会显示该菜单命令的有关帮助内容。
2) 如果需要系统地浏览一些帮助内容,比如说对象C++语言,可以通过菜单Help | C++Builder Help打开“帮助主题: C++Builder Help”对话框,在目录标签中展开相关的条目,进行系统学习。
3) 在使用C++Builder编程的过程中,常常要使用到Windows API函数,然而通过菜单命令Help | C++Builder Help打开的“帮助主题: C++Builder Help”对话框中,在“索引”标签中可能查不到有关的帮助信息,比如Windows API函数MessageBeep的有关帮助信息。
一种解决的办法就是在代码编辑器中输入Windows API函数的名称,然后将光标定位到该名称中,接着按下F1键。
另一个办法就是直接打开帮助文件BCB5.hlp,在其中的“索引”标签中查找。可以在C++Builder的安装光盘上找到帮助文件BCB5.hlp。
在使用有些Windows API函数的时候,可能会出现一条错误信息,比如:“[Error]Unit1.pas(31):Undeclared identifier: ‘OpenPrinter’”。这表明应该将该API函数声明所在的单元包含在uses语句中。至于是哪一个单元,可以按下该API函数的帮助内容中的Quick Info 按钮,看看Import Library中指定的是哪个库文件。
4) 在帮助文件打开的情况下,如果要浏览相关内容,可以按下工具栏上的“〈〈”或“〉〉”按钮,通常这样是在同一个主题中进行浏览。有些帮助文件中有Topic group,通过它可以新打开一个主题列表窗口,这样将非常方便地浏览一个完整主题的帮助内容。此外通过一些See also热链接,也可以查看相关的帮助内容。
5) 在组件栏上单击鼠标右键,通过弹出菜单的Help命令,可以查看有关组件的帮助内容。
6) 在C++Builder集成开发环境中通过主菜单的Help|Customize(C)…命令将打开一个OpenHelp窗口,在该窗口中可以对帮助文件进行管理,其中包括帮助内容、帮助索引、链接位置和帮助工程文件等的管理。实际上,该窗口运行的是Oh.exe,该文件位于目录\ProgramFiles\Borland\ C++Builder5\Bin中。
1.6.4 设置I D E桌面
在C++Builder集成开发环境中可以对桌面进行设置,定义符合我们习惯的桌面模式。
下面举例说明:
1) 我们首先将代码编辑器窗口最大化,然后按下Desktops工具栏的Save Current Desktop按钮,则会弹出一个Save Desktop对话框,在其中的Save Current Desktop as项中输入桌面的名称“代码编辑窗口”。按下OK按钮。
2) 接着将代码编辑器窗口最小化,显示窗体设计窗口,同上面的操作一样,将桌面保存为“窗体设计窗口”。
3) 改变Desktops工具栏上的Desktop speedsetting组合框中的内容,测试效果。
此外,通过主菜单中的View | Desktops | Delete...命令可以删除已经存在的桌面设置。

回复列表 (共3个回复)

沙发

你这个是抄书,哪是学习笔记,没有价值!

板凳

不到你是参考的那本书,借鉴一下

3 楼


那么详细,去当老师好了~!

我来回复

您尚未登录,请登录后再回复。点此登录或注册