Delphi程序设计试题及答案

更新时间:2023-11-09 01:34:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、填空题(20分,每空2分)

1、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有一个入口和 。

2、现实世界中对象具有自己的状态和行为。与此相对应,面向对象技术中的对象可以具有自己的 和方法。

3、Delphi的一个项目由若干文件组成,其中与窗体文件对应的文件是 。

4、在设计阶段,ListBox对象列表框中的内容是通过 属性来进行设置的。

5、调用主窗体的 方法,可以结束程序。

6、如果要在窗体上设计一个主菜单,首先要建立 对象。

7、当Query对象中存储一条Delete语句时,执行该语句需要调用Query的 方法。

8、与数学表达式 对应的Object Pascal表达式是

9、通过Animate对象的 属性设置,可以指定系统标准的AVI动画演示。

10、利用 对象的LineTo等方法,可以绘制基本图形。

二、单项选择题(20分,每题2分)

1、下面哪句话比较准确地定义了Delphi ( )。

A.面向对象的可视化的开发环境 B.多媒体制作工具

C.数据库的客户端开发工具 D.高级编程语言

2、下面哪个功能键可以调出Delphi 的联机帮助信息( )

A.F1键 B.F2键

C.F3键 D.F4键 3、“x 是小于10的非负数”的Object Pascal表达式是( ) A.0 ≤ x < 10 B. (x >=0) AND (x < 10)

C.x >= 0, x<10 D. (x >= 0 ) OR (x<10)

4、工具栏上的一组按钮如果要构成互斥关系(如“左对齐”、“居中”、“右对齐”),它们的GroupIndex属性正确的设置是( )

A.GroupIndex属性值都为0 B.GroupIndex属性值非0,且互不相同

C.GroupIndex属性值非0,且相同 D.GroupIndex属性值互不相同

5、利用Image对象的哪个属性设置,可以使Image对象的显示区域随着调入图像的大小自动调整以显示全图( )

A.Stretch B.AutoSize

C.Align D.Center

6、现建立一个简单报表,仅包含报表标题栏、数据列标题栏和数据栏,则在Bands属性的子属性中,不需要选择的是( )

A.HasColumnHeader B.Detail

C.Title D.Summary

7、在窗体上建立多页面,需要首先建立的对象是( )

A. TabControl B.PageControl

C. HeaderControl D.PageScroller

8、既可以通过选择输入、又可以直接输入的数据感知控件是( )

A.DBRadioGroup B.DBListBox

C.DBComboBox D.DBCheckBox

9、如果要求每当光标进入edit编辑框中时,编辑框都清空,可以在哪个事件处理程序中编写代码实现( )

A.OnClick B.OnMouseMove

C.OnKeyPress D.OnEnter

10、下面哪个组件不是容器组件( )

A.Form B.Panel

C.GroupBox D.Memo

三、判断题(10分,每题1分) 请给下列论述中正确的打上“√”,错误的打上“′” 1、( )在Delphi环境中,组件页上的组件是“类”而不是“对象”。 2、( )按钮组件和编辑框组件能够响应的事件有些是相同的。 3、( )在对文件的操作中,reset是建立并打开一个新文件。 4、( )编辑框edit中的内容能够设置为只读(即不能输入)。 5、( )OpenDialog组件的功能是指定一个文件名,并将文件内容加载到指定的编辑区中。 6、( )在一个项目中,可以有多个窗体,但只能有一个主窗体。 7、( ) 在Data Controls组件页上,有的数据控件没有datafield属性。 8、( )在程序运行期间,一个Table对象只能固定和一个关系表相连。 9、( )要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。 10、( )在设计阶段,如果在Query对象的SQL语句中设置了参数,则必须在Query的Params属性中为参数设置数据类型。

四、程序填空题(40分,每题10分) 1、(10分,每空2分)

本程序由主窗体form1和子窗体form2组成,设计界面如下图所示:

主窗体上建立的对象有Image1、Button1(加载图片)、Button2(退出)、OpenDialog1。

子窗体上建立的对象有Label1、BitBtm1(Yes)、BitBtm2(No)。

单击“加载图片”按钮,会弹出打开文件对话框。用户指定一个图像文件后,图像加载到Image1显示区中。

单击“退出”按钮,会弹出确认对话框(Form2)。如果用户按“Yes”键,程序结束;如果按“No”键,返回主窗体。

下面是Unit1的代码部分,请在下划线处完成程序填空。

---------------------------------------------------------------------------------------------------------------------

implementation

{$R *.dfm}

uses

① ;

procedure TForm1.Button1Click(Sender: TObject);

begin

if ② then

Image1.Picture.LoadFromFile( ③ ); end;

procedure TForm1.Button2Click(Sender: TObject);

begin

if ④ = mrYes then

⑤ ; end; end.

--------------------------------------------------------------------------------------------------------------------- 2、(10分,每空2分)

数据库mydb中有关系表student,其结构如下:

student(sno学号,sname姓名,sex性别,birthday生日)

现编写一个学生信息浏览程序,设计界面和运行界面如下图所示。

在下划线处填写相应数据库组件的属性值:

Database1. DatabaseName : mydb

Table1. DatabaseName : mydb

Table1. TableName : student

Table1. Active : ①

Datasource1.DataSet : ②

DBNavigator1. DataSource : ③

DBEdit2. DataSource : ④ DBEdit2. DataField : ⑤ 3、(10分,每空2分) 本程序的功能是对books表(图书信息)进行浏览,设计界面和运行界面如下图所示。其中,“在借册数”是根据当前显示的书号和borrow表(借书记录)的数据动态计算得到的。用户还可以输入指定书号,查找并定位到指定的记录。

在form1上建立的主要对象有:

Database1、Table1、Query1、DataSource1、DBEdit1~DBEdit3

Edit1~Edit2、Button1~Button3等

其中Database1与mydb数据库相连,Table1对象与books表相连,DBEdit1、DBEdit2、DBEdit3分别和bno(书号)、bname(书名)、author(作者)各列相连。

Query1的SQL语句是:

select count(*) num

from borrow

where bno = :bno

下面是Unit1单元的代码实现部分,请完成程序填空。

---------------------------------------------------------------------------------------------------------------------

本文来源:https://www.bwwdw.com/article/pjyv.html

Top