1、Delphi 程序设计基础教程第 1 章 Delphi 集成开发环境1. 填空题(1) Delphi 是一个集成开发环境,从 3程序设计、 代码编译、 调试,到最 布 程序的全部工作都可以在这个集成环境中完成。(2) 在 Delphi 集成环境的主要组成部分中有许多功能强大的工具,如: 3主窗体、 对象树状视图、 对象观察器、 窗体设计器、 代码编辑器工具等。(3) Delphi 集成开发环境的界面分为 4 个部分,分别是。主窗口、窗体窗口、代码编辑窗口 和对象查看器窗口(4) 对象查看器的功能是:编辑设置窗体、组件的属性,并 为窗 体、组件添加事件的响应处理过程(5) Delphi 主窗口由
2、 : 标题栏、菜单栏、工具栏和 组件板 组成,它是打开其他窗 口和退出 Delphi 集成环境的主要界面。2. 选择题D(1) 对象查看器由 组成。A. 标题栏、菜单栏、属性标签和事件标签B. 标题栏、菜单栏、对象选择器和事件标签C. 标题栏、菜单栏、对象选择器和属性标签D. 标题栏、对象选择器、属性标签和事件标签D(2) Delphi 用 来管理用户开发的应用程序中的各个文件,有序地管理可以极大 地提高应用程序开发的质量和速度。A. 单元B. 组件C. 属性D. 项目B(3) 用来编写应用程序的代码。A. 调试器窗口B. 代码编辑窗口C. 报表生成器窗口D. 数据库桌面窗口B(4) 代码编辑
3、窗口分为左、右两部分: 。A. 左边是单元代码窗口,右边是单元浏览器窗口B. 左边是单元浏览器窗口,右边是单元代码窗口C. 左边是单元调试窗口,右边是单元浏览器窗口D. 左边是单元浏览器窗口,右边是单元调试窗口A(5) 属性选项卡即标签名为“Properties”的选项卡,用于设置当前组件的属性,属性选项卡是一个两列的表格, 。A. 左列是属性标题,右列是属性值B. 左列是组件名称,右列是事件名C. 左列是属性标题,右列是事件名D. 左列是组件名称,右列是属性值C(6) 事件选项卡即标签名为“Events”的选项卡,用于为当前组件添加各种响应事件(如 单击、拖曳事件等),它随对象选择器中的所选
4、组件而发生变化。事件选项卡为一个两列的 表格, ,默认时右列为空,在空格处双击则可以为当前组件添加事件,并进入代 码编辑器窗口。A. 左列是属性标题,右列是属性值B. 左列是组件名称,右列是事件名C. 左列是事件名称,右列是事件处理过程D. 左列是组件名称,右列是属性值ab(7) 在项目管理器中列出了当前项目中的各个 ,用户可以对它们进行操作。A. 项目文件和单元文件B. 项目文件和窗体文件C. 项目文件和对象映射文件D. 单元文件和窗体文件3. 判断题(1) Delphi 的状态栏不过是把一些常用的菜单命令以图标按钮的方式显示出来,以便于 快速访问。(F) (2) 对象选择器为一个下拉列表框
5、,列表框中是可供选择的窗体以及当前窗体上放置的所有文件。(T) (3) 单元文件(.pas)是组成应用源代码的主要部分,无论是窗体事件处理过程还是单独的源代码都保存在其中。(T)4. 简答题(1) Delphi 的集成开发环境由哪几个主要部分组成,各部分有什么功能? 答:Delphi 集成开发环境的界面分为 4 个部分,分别是主窗口、窗体窗口、代码编辑窗口 和对象查看器窗口。,。1、主窗口:由标题栏、菜单栏、工具栏和组件板组成,它是打开其 他窗口和退出 Delphi 集成环境主要界面。2、窗体窗口的顶端水平条是窗体的标题栏,结构与主窗口的标题栏相似,由图标、窗体 名称和用于控制窗体的最小化、最
6、大化、关闭按钮组成。窗体窗口的标题栏显示了窗体的当前标题。一般新窗体将会用默认名字 Form1 命名。 当然,用户可以通过对象查看器设置窗体的标题等属性。窗体也是窗口的设计界面,用户可以往窗体中添加各种组件,然后再对组件的属性进 行设置。这样使得整个应用程序的编辑过程可视化和易掌握。3、代码编辑窗口:用来编写应用程序的代码。代码编辑窗口的标题栏显示当前单元文件的 文件名,默认名为 Unit1.pas。代码编辑窗口分为左右两部分:左边是单元浏览器窗口,右边是单元代码窗口。单元 浏览器窗口以树形分支的形式列出了单元的构成4、对象查看器窗口,它的功能是编辑设置窗体、组件的属性,并为窗 体、组件添加事
7、件的响应处理过程。(2) Delphi 集成开发环境的界面分为哪 4 个部分?答:Delphi 集成开发环境的界面分为 4 个部分,分别是主窗口、窗体窗口、代码编辑窗口 和对象查看器窗口(3) 对象查看器的功能是什么?答:对象查看器窗口,它的功能是编辑设置窗体、组件的属性,并为窗 体、组件添加事件的响应处理过程。(4) 怎样修改窗体或组件的属性?从窗体上选择组件,或从对象选择器中选择窗体或组件,使之成为当前组件后,就可以 用对象查看器窗口中的属性选项卡来设置属性了。根据属性标题的情况,设置属性可分为 4 种情况。第一种情况是单击属性标题后,直接在属性值编辑框中输入属性的数值或字符串,如Name
8、、Caption、Left、Top 等属性第二种情况是属性值由 Delphi 提供可选项。这时,用鼠标单击属性标题后,属性值马 上变成一个下拉列表框。用户可单击下拉按钮打开列表框,从中选择所需的属性值。可选 项分两种,一种是文字可选项,另一种是图形加文字形 式的可选项,第三种情况是通过对话框来设置属性值。第四种情况是属性带有子属性。(5) 一个 Delphi 应用程序的源文件有哪些,运行后又生成了哪些文件,各文件的含义 是什么?设计阶段:项目文件(.DPR)、单元文件(.PAS)和窗体文件(.DFM)等编译阶段产生 的,如对象映射文件(.DSM)、编译单元文件(.DCU)等。当然,项目中还包括
9、一些非 Delphi 生成的文件,如位图、图标、鼠标指针等资源文件。项目文件对应用至关重要。它由 Delphi 自动建立,一般用户不需要改变它。项目文件 是真正意义上的 Pascal 源代码文件。它描述了整个应用程序的结构及启动代码单元文件是组成应用源代码的主要部分,无论是窗体事件处理过程还是单独的源代码 都保存在单元文件中。单元文件可以分为两种:有窗体文件和无窗体文件。每一个窗体都有相应的窗体文件(.DRM),它保存着窗体和窗体内各个组件的属性,而 且每个窗体都有一个单元文件,用于编写窗体事件处理过程。窗体文件和单元文件被 Delphi 自动保存在同一个目录下。项目的编译过程:编译单元文件:
10、Delphi 首先将项目中各单元文件编译成以“.dcu”为扩展名的编译单元文件。第 2 章 Delphi 的编程语言1. 填空题(1) 在 Object Pascal 中,可以使用 大括号、 小括号和星号组合、 双斜线你表示注释。(2) Delphi 支持的数据类型有 整型、字符型、布尔型、枚举型、子界型和实型 (3) Object Pascal 中的算术运算符有 算术运算符、逻辑运算符、关系运算符、位运算符、指针运算符和集合运算符 (4) Delphi 中可以构成条件语句的有 if语句和case语句 (5) Delphi 中可以构成循环语句的有 fordo、repeatuntil和while
11、do语句2. 选择题(1) 下列符号中哪些可以作为自定义的标识符? DA. MyConstB. ANDC. ProgramD. type(2)设 n 为整型变量,且已赋值为 1984,则表达式“(n mod 100)div 10”表示 B。A. 分离出个位数字B. 分离出十位数字C. 分离出百位数字D. 分离出千位数字(3) 以下枚举类型定义正确的是 C。A. type MyChar=(a,b,c); B. type num=(1.5,8.10);C. type MyColor=(red,yellow,green); D. type MyNum=(1.5,2.5,3.5);(4) 下列子界类型
12、定义正确的是 B。A. type a=10.9;B. type a=1.10;C. type a=a.f;D. type a=10.5.12.0;3. 是非题(1) 常量是在程序运行中值可以发生改变的量。FF)(2) 变量是在程序运行中值可以发生改变的量。T()(3) 在 Object Pascal 中,可以用 var 关键字声明变量。T)(4) 在 Object Pascal 中赋值语句使用的赋值符号是“=”。F)4. 简答题(1) Object Pascal 语言中的数据类型有哪些?(2) 说明 for、while 和 repeat 这 3 种循环语句的区别。(3) 函数与过程的区别是什么
13、?(4) “exp(y*ln(x)”相当于什么运算?第 3 章 Delphi 窗体与组件1. 填空题(1) 窗体是 应用程序的操作界面,是放置组件的最常用的容器。创建窗体的过程是 选择【File】|【New】|【Application】,即可新建一个 应用程序。(2) 一般情况下,可以通过方法直接在属性编辑器中输入的属性的值,另一种是在代码中设置和 设置组件属性的值。(3) Edit 组件与 Memo 组件不同之处在于 Edit 组件处理的是单行文本,而 Memo 处理的是多行文本。(4) List Box 组件与 Combo Box 组件的区别是 组合框一次只能显示一条信息,要浏览全 部信息
14、,需要单击框旁边的三角按钮。(5) 遍历 List Box 组件中的选项的过程是 ;添加选项的过程是Add;删除 选项的过程是Delete;清空选项的过程是Clear。2. 选择题(1) 在 Delphi 中,所谓 MDI,意思是 B。A. 多媒体接口B. 多文档界面C. 多用户平台D. 多数据操作(2) 一个 MDI 程序至少应包括两种类型的窗体:一个是“父”窗体;另一个是“子” 窗体,它的 FormStyle 属性应当设为 。A. fsMDIChildB. fsMDIFormC. fsMDINormalD. fsNormal(3) 通过在 Object Inspector(对象查看器)中设
15、置组件的 属性可调整组件的尺寸。A. Left 和 TopB. Height 和 WidthC. Left 和 WidthD. Height 和 Top(4) 在 RadioGroup 组件中,调整 ,可以指定单选按钮组中当前被选中的单选 按钮。P125A. ItemIndex 属性B. Items 属性C. Tab Order 属性D. Tag 属性(5) 在设计时给 Memo 组件增加一些显示内容,可以单击 值右侧的省略号按 钮,打开【String List editor】(字符编辑器)对话框,在其中输入文本。A. Caption 属性B. Hint 属性C. Lines 属性D. Tex
16、t 属性(6) 在程序运行时,如果要给 Memo 组件增加显示内容,可以使用 方法,每 调用该方法一次,存储框中就增加一行。A. addB. insertC. creatD. copy3. 是非题(1) ListBox 组件的常用方法有:Clear、Add、Delete、Insert、ScreentoClient。(1)(2) ScrollBar 为滚动条组件,可以设置文本框的文字滚动。(1)(3) ListBox 和 ComboBox 组件有相同的功能。(1)(4) ListBox 和 ComboBox 组件都有 Sorted 属性。(0)4. 简答题(1) 窗体的位置用什么属性表示?窗体的
17、大小用什么属性表示?(2) 窗体的标题栏内容在什么属性中设置?(3) 举例说明,你经常使用的应用程序中,哪些应用程序采用的是一般窗体?哪些应用程序采用的是 MDI 窗体?(4) Label 组件的快捷键如何设置?如何使用?(5) 按钮组件、单选组件、复选组件在使用方面的区别是什么?(6) Edit 组件、MaskEdit 组件、SpinEdit 组件、Memo 组件、RichEdit 组件的各自特点 是什么?(7) RadioGroup 组件是通过哪个属性来调整按钮数量和提示内容的?又是通过哪个属 性返回选中按钮值的?(8) MaskEdit 组件设置掩码格式的属性是哪个?如何设置类似 SH1
18、23499-X 的格式? (其中 SH 为固定字母,不用输入,123499 为任意六位数字,-为固定分隔符,X 为任意一个 字母)(9) ListBox 组件、CheckListBox 组件和 ComboBox 组件的各自特点是什么?第 4 章 菜单设计1. 填空题(1) 菜单命令灰显可以通过设置菜单命令的 Enabled来实现,当该属性为 True 时,菜 单命令有响应;当该属性为 False 时,菜单命令灰显,不响应鼠标和键盘操作。(2) 有时想将菜单或菜单命令隐藏起来,这可利用菜单命令的 Visible 来实现,当该 属性为 True 时菜单命令可见;属性为 False 时,则该菜单命令
19、隐藏。(3) 在运行程序时,可以让菜单命令根据运行的情况来调整菜单命令的文本内容,这 主要通过菜单命令的 Caption来实现。(4) 设计单选菜单命令,必须保证两个条件:首先这一组菜单命令位于同一下拉菜单 或同一级联菜单中,而且它们的 GroupIndex 属性必须相同;其次 RadioItem 都是 True。2. 选择题(1) 希望菜单项显示“打印(P)”(快捷键为Alt+P),则可在该菜单项的Caption属性中输入 B。A. 打印(P)(2) 如果一个菜单中的菜单命令过多,可以按功能将菜单命令分为若干组,组与组之 间用分割线隔开。在 Delphi 中,菜单分割条也是一项菜单命令,只不
20、过该菜单命令的 Caption 属性为 D。A. “_”(下划线)B. C. -D. “-”(减号)(3) 给菜单命令添加图标后,使用菜单命令的 Checked 属性时,将 C。A. 出现“”标记B. 出现“ ”标记C. 出现“ ”标记D. 出现菜单命令图标下凹(4) 所谓快捷菜单就是 B鼠标时,在鼠标当前位置弹出的菜单。A. 左击B. 右击C. 双击D. 拖曳3. 判断题(1) 设置菜单命令复选标记,只要把菜单命令的 Enabled 属性设置为 True,该菜单项就 有复选标记,该属性为 False 时,没有复选标记。(F) (2) 在菜单命令中,所谓快捷键,就是指在不打开菜单的情况下,直接
21、使用预先设置 的组合键就可以执行某个菜单命令项。(T)(3) 菜单栏中的主菜单项只能有快捷键,而不能有热键。F)4. 简答题(1) 菜单命令的作用是什么?(2) 如何在菜单中设计快捷键?如何在菜单中添加“分割条”?(3) 快捷键和热键的区别是什么?(4) 菜单的单选、复选、灰显、隐藏等是如何设计的?(5) 菜单模板的作用是什么?(6) 如何手工指定快捷菜单的位置?(7) 思考一下,如何用最简单的方法,使菜单一般情况下只显示最近刚用过的菜单项,并在该菜单列最下方显示【】,当选择【】时,才显示所有菜单项,如图 4.22 所示。图 4.22 紧缩菜单第 5 章 对话框、工具栏和状态栏设计1. 填空题
22、(1) Delphi 中包括 4 种通用的文件对话框,它们分别是: 、 、 和 。打开文件对话框组件、保存文 件对话框组件、打开图像文件对话框组件和保存图像文件对话框组件。(2) 如果要打开的文件类型是文本文件,则必须对 TOpenDialog 对话框组件的 defaultext 和 filer属性值进行设置,应分别设置为.txt 和 文本文件(*.txt)|*.txt。(3) 工具栏一般位于窗口的上部,可以由面板组件和快捷按钮组成。状态栏一般位于 窗口的底部,用于 显示当前的状 态及一些提示信息。2. 选择题(1) 如果要在程序运行时显示一个保存文件对话框,则可使用 TSaveDialog
23、组件的 C方法。A. CreateB. DestroyC. ExecuteD. Assign(2) 设置打开文件对话框组件的 Filter 属性,使得打开的文件类型为图像文件(*.bmp,*.ico,*.wmf)。正确的设置为 D。A. Filter:= 图像文件(*.bmp;*.ico;*.wmf)|*.bmp;*.ico;*.wmf B. Filter:= 图像文件|*.bmp,*.ico,*.wmf C. Filter:= 图像文件(*.bmp;*.ico;*.wmf)|*.bmp|*.ico|*.wmf D. Filter:= 图像文件(*.bmp;*.ico;*.wmf)|*.bmp
24、,*.ico,*.wmf D(3) 如果想输入简单的字符串信息,使用 D函数可以实现。A. MessageDlg()B. ShowMessage() C. ShowMessageFmt()D. InputBox()3. 判断题(1) 公共对话框组件所提供的对话框都是模式对话框。T()(2) 公共对话框组件都具有 Execute 方法。F()(3) 工具栏上的按钮无需添加 OnClick 事件。T()4. 简答题(1) Delphi 有哪几类对话框?(2)(3)(4)(2) 在什么情况下对话框的 Execute 函数返回 True?(3) 在 TFindDialog 对话框组件和 TReplac
25、eDialog 对话框组件中,OnFind 事件什么时 候起作用?一般应编写什么功能的代码?(4) 消息框和输入框的功能是什么?(5) 在 Delphi 中可以用哪些组件建立工具栏?(6) 状态栏的主要功能是什么?第 6 章 Delphi 多媒体应用1. 填空题(1) TShape 组件可以显示一些几何图形,其中它的 Color属性可以设定几何图形的 填充图案和颜色, Pen属性可以设定几何图形的外框特性, Shape属性可以决定几 何图形形状。(2) 在窗体上作图,实际上是在窗体的DrawMode属性上作图。(3) TMediaPlayer 组件可以播放的媒体文件有 *.wav;*.mp3
26、*.avi、 、 等。(4) TListView 组件可以将信息以列表形式显示,它们分别是 大图标、小图标、简单列表、详细列表、 、 和 。2. 选择题(1) 如果要在 Canvas 画布上显示字符串,可以使用 C方法。A. LineToB. RectangleC. TextOutD. Ellipse(2) TImage 组件可以显示各种以文件形式存储的图像,当其 Stretch 属性为 True 时,图 像会充满整个组件范围,但有一种文件例外,该文件是 B。A. .bmp 文件B. .ico 文件C. .wmf 文件D. .emf 文件(3) 既能显示文本又能显示图形的图形栅格的组件是D。A
27、. StringGrid 组件B. ColorGrid 组件C. DBGrid 组件D. DrawGrid 组件3. 判断题(1) 使用 TImage 组件绘制的图像,在窗体大小改变时,图像会消失,必须重绘。 (0)(2) 使用 TPaintBox 组件绘制的图像,在窗体大小改变时,图像会消失,必须重绘。(1)(3) 所有组件都有 Canvas 画布属性。F(0)4. 简答题(1) 画布对象有什么用途?(2) TImage 组件与 TPaintBox 组件在绘图上有什么不同?(3) 在 Delphi 中如何设计树型层次结构?(4) 栅格组件有什么作用?(5) 在 Delphi 中如何添加 Ac
28、tiveX 组件?第 7 章 Delphi 异常处理与调试1. 填空题(1) 引发一个异常,调用保留字 raise,后边跟一个异常类的实例。(2) 所谓 异常,可以理解为一种特殊的事件。当这种特殊的事件发生时,程序正 常的执行流程将被打断。(3) 异常处理机制能够确保在发生异常的情况下应用程序不会中止运行,也不会丢失数据或 资源。(4) 异常处理机制有两种结构:一种是 try.except结构,另一种是 tryfinally结构,这两 种结构在用法上有很大的区别。2. 选择题(1) 下面 C语句会产生类型转换异常。A. r1:=StrToFloat(140); B. r1:=StrToInt(
29、140);C. r1:=StrToFloat($140.48);D. r1:=StrToFloat(140.48)+200;(2) 确保回收分配的资源是程序健壮性的一个关键。但默认情况下异常发生时程序会 在出错点自动退出当前模块,因此 Delphi 提供了 b机制来确保即使在异常发生的情 况下释放资源的语句仍能被执行。A. tryexceptB. tryfinallyC. ifthenelseD. whiledo(3) 由于异常在处理后即被清除,因而当希望对异常进行多次处理时就需要使用保留 字 a来重引发一个当前异常。A. raiseB. exceptC. finallyD. on(4) 自定
30、义异常类以 c或其他标准异常类的子类作为祖先类。A. ExcuteB. ExceptC. ExceptionD. Excepted(5) 在调试程序之前,必须保证程序代码已经没有 a 错误。A. 语法B. 逻辑C. 异常D. 功能(6) 通过【Run】菜单中的 b,一次只执行一行(一个指令),执行到有函数调用 的行时,这条命令将跳过函数的内部。A. 【Step Over】命令B. 【Trace Into】命令C. 【Run to Cursor】命令D. 【Run Until Return】命令(7) 所谓 d,就是在程序代码的某一行上设置一个标记,程序执行到这里将暂 停,由调试器接管对程序的控
31、制。A. 起点B. 终点C. 重点D. 断点3. 判断题(1) tryexcept 语句运行时必须先编译生成 exe 文件,然后在 Windows 中运行,否则在 发生异常时仍将出现系统的错误信息。T) (2) 不管 try 部分的代码是否触发异常,finally 部分总是执行的。如果发生异常,就提 前跳到 finally 部分。(T)(3) 正常情况下 finally 后面的语句并不被执行,而当异常发生时程序自动跳到 finally, 进入异常响应处理模块。(F)(4) 错误分为 4 种类型:设计期错误、编译期错误、运行期错误、逻辑错误。(T)4. 简答题(1) 什么是异常?异常处理的意义是
32、什么?(2) 软件错误一般有哪些类型?怎样尽可能地减少错误?(3) Delphi 有哪些异常类?各自包括哪些异常?(4) Delphi 异常处理机制的作用是什么?(5) tryfinally 结构与 tryexcept 结构在用法上的主要区别是什么?(6) 【Run】菜单中的【Step Over】、【Trace Into】、【Run to Cursor】、【Run Until Return】、【Show Execution Point】、【Program Pause】、【Program Reset】和【Parameters】等命令 的作用是什么?(7) 什么是断点?断点的作用是什么?如何设置不
33、同类型的断点?(8) Delphi 是否允许在运行时人为改变变量值?如果允许的话,在哪个窗口中改变?(9) Delphi 有哪些与调试相关的窗口?它们的作用是什么?第 8 章 数据库编程1. 填空题(1) 在 Table 组件中用 Open 和 Close 方法对数据库文件操作的效果与改变 avtive 属 性的效果是一样的。调用 Open 方法会将该属性值设为 true;调用 Close 方法会将该属 性值设为 false。(2) Table 组件的 Bof属性值为一个布尔值,表明当前记录指针所处的位置是否为 数据集的第一个记录。 Eof属性值为一个布尔值,表明当前记录指针所处的位置是否 为
34、数据集的最后一个记录。如果这两个属性都为 True,则数据集为 空。(3) DataControl 类组件有一个常用属性 ,当该属性为 True 时,则只能通过组 件查询数据表的内容,而不能对它们进行修改。(4) 在使用 Table 组件时,用 TADOTable指定要访问的数据库中的数据表。Query 组件是 在TableName 中指定数据表名的。2. 选择题(1) d 组件负责将 DataSet 组件和数据控制组件链接起来。A. DataAccessB. DataControlC. DataSetD. DataSource数据源组件(DataSource)负责将数据集组件和数 据控制组件
35、连接起来,。(2) 调用 Table 的 d方法,可以将记录指针指向数据集中从当前记录移动 N 的 一条记录处。A. Goto(N)B. GotoKeyC. GotoNearestD. MoveBy(N)(3) 通过调用 c方法,可以在数据集中查询一个特定的记录并将记录指针指向它。A. GotoKeyB. GotoNearestC. LocateD. FindNearest(4) c是一个建立在 SQL 基础上,专门用于对数据库中的数据进行查询的组件。A. TADOConnectionB. TADOTableC. TqueryD. TTableTQuery是一个建立在SQL基础上专门用于对数据
36、进行查询的组件。TQuery使用SQL语言.(5) b组件用于设计数据库应用程序的界面,以及显示和修改数据库中的数据。A. DataAccess 类B. DataControl 类C. DataSnap 类D. dbExpress 类(6) 使用 DBNavigator 组件设计应用程序时,有时并不需要所有按钮。此时可用 DDBNavigator 组件的 来删除不需要的按钮。A. Anchors 组合属性B. Constraints 组合属性C. Enabled 属性D. VisibleButtons 组合属性3. 判断题(1) Table 组件的属性值 DataBaseName 和 Tabl
37、eName 发生改变时,Active 属性值会自 动变为 False,所以使用时必须重新将它改成 True。(F) (2) Delphi 的数据库应用程序不能直接访问数据,而是使用附带的 BDE、ADO 或 ODBC接口等来对数据资源直接进行访问。T()(3) TQuery 组件和 Table 组件一样,一次只能访问一个表格。F()(4) TADOConnection 组 件是用来 建立与 ADO 数据库 之间联系 的,由一个TADOConnection 建立的联系可以被多个 ADO 数据集组件和操作组件通过设置它们的Connection 实现共享。()4. 简答题(1) 数据库系统主要由哪些
38、部分组成?各自功能是什么?(2) 简述数据库管理系统(DBMS)的主要功能和分类。(3) 什么是数据表(Table)、字段、记录和索引?(4) TTable 组件中 DataBaseName、TableName 和 Active 等属性的作用是什么?(5) 在 TTable 组件中,希望记录指针指向第一条、上一条、下一条、最后一条记录, 分别用什么方法?指向当前记录的上 N 条记录又用什么方法?(6) TTable 组件中的查询记录的几个“方法”各自有什么不同?(7) TQuery 组件与 TTable 组件的区别是什么?(8) 如何在 Delphi 中表示“I dont know!”字符串?
39、(9) ADO 组件与 BDE 组件有什么区别?(10) Data Controls 组件的作用是什么?第 9 章 报表与图表1. 填空题(1) 组件是制作报表的基础,每一个报表窗口必须包含该组件。通过该组件可 以设计报表的大小、页边距等属性。 属性是该组件最重要的属性。它是一个属性 集,该属性集由 6 个子属性组成,每设置这些属性集中一个子属性为 True 时,在该组件中 就自动增加一个相应的 TQRBand 组件。(2) 在 Rave 报表设计器中, 组件用来显示数据库中内容比较短的信息, 组件在 Memo 的基础上支持了数据库的字段显示, 组件用来统计报表字 段的最大值、最小值、总和、统
40、计值等内容, 组件规定了打印区域。(3) 在 Rave 报表设计器中, 组件页用于在设计报表时,放大、缩小报表页面。 组件页用于对选择的对象快速设置颜色。 组件页用于对选择的线更改其 线型。 组件页用于对正方形等图形设置填充样式。 组件页用于进行字体的设置。 组件页用于调整对齐组件和组件的层次。2. 选择题(1) 中的 Page 属性可用来进行报表中页的大小、页边距、页的方向等页属性 的设置以及系统打印机的设置等。A. TQRBand 组件B. TQRGroup 组件C. TQRSubDetail 组件D. TQuickRep 组件(2) 用来在主/明细表类型的报表中显示明细表的数据。A. T
41、QRBand 组件B. TQRGroup 组件C. TQRSubDetail 组件D. uickRep 组件(3) 用来在一个报表内创建组,组主要用在主/明细表类型的报表中,也可以 在简单的列表类型的报表中使用。A. TQRChildBand 组件B. TQRGroup 组件C. TQRLabel 组件D. TQRDBText 组件(4) 用来为报表创建从简单到复杂的计算。A. TQRChildBand 组件B. TQRLabel 组件C. TQRExpr 组件D. TQRsysData 组件3. 判断题(1) TQRDBText 组件是一个指明数据来源的组件,用来显示数据库中记录的字段,可以
42、是字符串字段、数值字段、日期字段和备注字段的值。()(2) TQRMemo 组件用来在报表中显示数据库的备注信息。()(3) 一般 Rave 报表是由“项目”、“报表”、“页面”所组成的。也就是说,当要为一个应用程序设计报表时,一般是先建立一个项目,接下来建立一个新的报表,最后进行页面的设计。()(4) 图表指的是用图形方式表示程序或软件。()4. 简答题(1) 用 QuickReport 制作报表,哪个组件是必不可少的,它的主要功能是什么?(2) TQRSubDetail 组件的主要作用是什么?(3) TQRLabel 组件和 TQRDBText 组件的主要作用是什么?(4) TQRExpr
43、 组件和 TQRsysData 组件的作用是什么?(5) TQRMemo 组件与 TQRRichText 组件的区别是什么?(6) TQRShape 组件和 TQRImage 组件的作用是什么,它们的区别是什么?(7) 报表是预览和打印的方法名是什么?(8) Chart(图表)组件的功能是什么?第 10 章面向对象程序设计1. 填空题(1) 面向对象的程序设计所具备的基本特征是 封装性、 继承性、多态性 。(2) 在 Delphi 中,类利用 4 种保护权限实现封装机制,它们分别是 、 、 、 。(3) 在 Delphi 中,为了创建对象的实例,并且申请内存和初始化任何必要的对象域, 需要调用
44、构造方法。当撤销对象时,调用 析构方法释放分配给这个对象的内存。(4) Windows 是消息驱动的操作系统,一个消息由一个消息名称(Message)和两个参数(wParam,lParam)构成。2. 选择题(1) 面向对象的程序设计的简写形式是 B。A.OOAB.OOPC.OOD D.OOAD (2) Delphi 的私有说明保留字是 A。A. Private B. Public C. Form D. Override(3) Delphi 中重载用保留字 。A. virtualB. safecallC. OverrideD. stdcall(4) 所谓多态性是指 B。A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数 D. 一个对象调用不同名称的对象3. 判断题(1) 在派生类中能够直接访问的是基类的公有方法和私有方法。F()(2) 在同一个类定义中 private、protected、public 关键词可以出现多次。T()(3) 标准的窗