Delphi程序设计复习资料.docx

上传人:b****4 文档编号:11696958 上传时间:2023-03-30 格式:DOCX 页数:31 大小:31.37KB
下载 相关 举报
Delphi程序设计复习资料.docx_第1页
第1页 / 共31页
Delphi程序设计复习资料.docx_第2页
第2页 / 共31页
Delphi程序设计复习资料.docx_第3页
第3页 / 共31页
Delphi程序设计复习资料.docx_第4页
第4页 / 共31页
Delphi程序设计复习资料.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Delphi程序设计复习资料.docx

《Delphi程序设计复习资料.docx》由会员分享,可在线阅读,更多相关《Delphi程序设计复习资料.docx(31页珍藏版)》请在冰豆网上搜索。

Delphi程序设计复习资料.docx

Delphi程序设计复习资料

《Delphi程序设计》复习题

一、填空题

1、结构化程序设计的基本原则是取消goto语句,程序中仅采用顺序、和循环三种控制结构。

2、一个对象是由属性、方法和事件所组成。

属性表示对象中的数据,是对象能够执行的动作,是能够引起对象反应的条件。

3、与数学表达式对应的ObjectPascal表达式是

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

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

6、对象的三个要素是属性、方法和。

7、Delphi应用程序中项目文件的扩展名是。

8、在设计阶段,利用Image对象的属性,可以加载一幅图片。

9、Delphi中与窗体文件对应的文件是单元文件,其最常用的文件扩展名是*.。

10、与数学表达式对应的ObjectPascal表达式是

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

12、如果让界面上的一个按钮变为不可用,需要将它的属性设为False。

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

14、与数学表达式对应的ObjectPascal表达式是

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

16、RadioGroup对象中的单选按钮个数及名称是通过属性来进行设置的。

17、时钟组件(Timer)能有规律的以一定时间间隔触发事件,并执行该事件过程中的程序代码。

为了使计时器控件Timer1每隔0.5秒就触发一次并执行事件代码,应将Timer1控件的Interval属性设置为。

18、Delphi程序与数据库之间进行数据交换一般要由多个数据库组件协作完成。

如果用户要查询数据库中的一条信息,该指令通过用户界面组件发出,经数据源组件到达数据集组件。

数据集组件利用组件与数据库建立连接,并读取数据库中的数据,而后又经过组件将数据送到用户界面组件中显示。

19、与数学表达式对应的ObjectPascal表达式是

20、能够实现格式化输入的编辑框组件是。

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

22、如果让界面上的一个按钮在运行的时候变为不可见,需要将它的属性设为False。

23、利用DBGrid的属性,可以设置DBGrid每一列的标题和对齐方式等。

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

25、在Delphi集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器(ObjectInspector)中的窗口直接进行设置。

二、单项选择题

1、下面哪句话对Delphi的描述是正确的()。

A.只能用于数据库客户端开发的工具B.Delphi的编程语言全部是面向过程的

C.Delphi的编程语言是JavaD.面向对象的可视化的开发环境

2、在Delphi中,建立一个文本编辑区域,可采用下列()。

A、命令按钮B、文本标签控件C、Edit控件D、Timer控件

3、表达式60+19div2的值是()

A.67B.79

C.69D.80

4、一个Delphi应用程序必有一个()文件和至少一个单元文件。

A)执行程序B)项目C)数据D)图形

5、最适合于在工具栏上放置的工具按钮是()

A.ButtonB.RadioButton

C.SpeedButtonD.BitBtm

6、Delphi应用程序设计基于()语言。

A)BasicB)C++C)PascalD)ObjectPascal

7、下列表达式中()不是布尔表达式。

A)A=3B)AdivBC)AandBD)A>B

8、“x是小于100的非负数”的ObjectPascal表达式是()。

A.0≤x<100B.x>=0,x<100

C.(x>=0)AND(x<100)D.(x>=0)OR(x<100)

9、利用Image对象的哪个属性设置,可以使加载的图像自动放大或缩小,以适应Image的显示区域()

A.StretchB.AutoSize

C.AlignD.Center

10、工具栏上的一个SpeedButton按钮如果要设置为状态按钮,则正确设置的方法是()

A.将SpeedButton按钮的GroupIndex属性设置为0,且AllowAllUp属性设置为True。

B.将SpeedButton按钮的GroupIndex属性设置为0,且AllowAllUp属性设置为False。

C.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为True。

D.将SpeedButton按钮的GroupIndex属性设置为非0值,且AllowAllUp属性设置为False。

11、要改变一个对象的高度,应使用属性()。

A、FontB、ForcColorC、NameD、Height

12、表达式30+19div2的值是()

A.37B.49

C.39D.40

13、下列合法的变量名是()。

A、na+eB、e-3rC、r¬¬_3D、5we

14、利用对象监视器可以设置窗体或组件的()。

A)方法B)属性C)外观D)执行代码

15、Delphi程序设计的基本特点是()。

A.可视化程序设计B.代码程序设计

C.事件驱动编程D.A和C

16、修改窗体的标题时,应当在属性页中设置的属性是()。

A.CaptionB.NameC.TextD.Label

17、下列说法错误的是()

A)窗体文件的扩展名为.dfm

B)一个窗体对应一个窗体文件

C)Delphi中的一个工程只包含一个窗体

D).~dpr和.~pas是备份文件,便于用户恢复到较早的一个项目版本。

18、要改变一个对象的高度,应使用属性()。

A、FontB、ForcColorC、NameD、Height

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

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

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

20、以下叙述中错误的是()

A.一个项目包含不止一种类型的文件。

B.窗体的Show方法的作用是显示该窗体。

C.窗体的Hide方法和Release方法的作用完全相同。

D.若项目文件中有多个窗体,可以根据需要指定一个窗体为主窗体。

21、编辑框(Edit)中的文本发生改变时引发的事件是()

A.AutoSizeB.OnChange

C.SetFocusD.SetText

22、现建立一个简单报表,要求其中要包含报表的汇总栏,则在Bands属性的子属性中,需要选择的是()

A.ColumnHeaderB.Detail

C.TitleD.Summary

23、如果要检查edit编辑框中输入的字符,可以在哪个事件处理程序中编写代码检查()

A.OnClickB.OnEnter

C.OnMouseUpD.OnKeyPress

24、数据库组件中,提供了对数据库读写操作功能的核心组件是()

A.数据源组件B.用户界面组件

C.数据集组件D.数据感知控件

25、下列常用的数据组件中,只需指定DataSource而不需指定DataField的控件是哪个?

()

A、DBTextB、DBEditC、DBNavigatorD、Query

26、下列说明错误的是()

A、OpenDialog是打开文件对话框。

B、Edit组件的Clear方法是清除编辑框中的内容

C、CheckBox控件是通过Checked属性确定选择状态

D、按钮组件的属性Name设置为“确定”,则按钮上文本显示为“确定”

27、下列说法正确的是()

A.组件必须是可视的,这样用户才能使用。

B.Delphi中组件就是控件,二者是完全相同的。

C.控件都是可视的。

D.按钮(Button)是组件,而窗体(Form)则不是组件。

28、以下能够触发编辑框(Edit)组件OnChange事件的操作是()

A.鼠标单击编辑框B.鼠标双击编辑框

C.在编辑框中选择文本D.在编辑框中输入文本

29、要改变控件的宽度,应改变控件的()属性。

A、widthB、heightC、topD、left

30、只能输出、而不能输入的数据感知控件是()

A.DBEditB.DBText

C.DBRadioGroupD.DBCheckBox

31、任何控件都有的属性是()

A)BackColor

B)Caption

C)Name

D)BorderStyle

三、判断题,请给下列论述中正确的打上“√”,错误的打上“”

1、(  )函数int(2.718)=2.0计算是正确的。

2、()Delphi是面向对象的可视化的开发环境,编程语言采用ObjectC。

3、(  )要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。

4、(  )结构化程序设计要求采用自顶向下、逐步求精的设计方法和单入口、单出口的控制结构。

5、(  )在Delphi环境中,组件页上的组件是“对象”的概念,在窗体上建立的按钮是“类”的概念。

6、(  )一个Table对象不能同时指定与之相连的两个关系表。

7、()在Delphi环境中,组件板上的组件就是类的概念,例如按钮组件就是按钮类。

而用户在窗体上创建的一个按钮就是对象的概念(按钮对象)。

8、(  )要想在数据集中增加计算字段,必须先将数据集的字段全部置为动态字段。

9、(  )时钟Timer组件的时间间隔是由Interval属性控制,例如其值为1000时表示时间间隔是1秒。

10、( )Delphi中的菜单项有3种类型:

普通按钮型、复选框型和单选按钮型。

11、(  )4ABC可作为Delphi的变量名。

12、( )在一个项目中,第一个建立的窗体固定就是主窗体,并且再也不设置其他窗体为主窗体。

13、(  )在DataControls组件页上,只有DBNavigator组件可以不用指定DataField属性值。

14、( )建立永久字段的好处是:

可以在设计阶段对字段对象进行设置,并可以增加新的字段(计算字段和查找字段)。

15、(  )((x>=5)OR(x<=-5))AND(xin[1..9])当x=10时,表达式的值为假(或false)

 

四、程序填空题

1、

应用程序的用户界面如下图所示:

功能说明:

该界面是一个教师信息录入界面。

用户在编辑框(Edit1)中输入姓名,利用单选按钮(RadioGroup1)指定性别,利用组合框(ComboBox1)选择或直接输入所在系,利用列表框(ListBox1)指定职称。

当输入完上述信息后,单击“确定”按钮,教师信息将显示在右边的Memo1编辑窗口中。

下面是开发过程,请完成填空部分:

通过RadioGroup1的Items属性设置两个单选按钮(“男”和“女”),并将属性①设置为2(按钮摆两列)。

通过ComboBox1的②属性设置下拉选单中的系名。

通过ListBox1的Items属性设置列表框中的职称列表。

“确定”按钮的单击事件处理程序如下:

procedureTForm1.Button1Click(Sender:

TObject);

begin

memo1.Lines.Add(edit1.③);//加入编辑框的内容

ifradiogroup1.④=0then//判断选择了哪个按钮

memo1.Lines.Add('男')

else

memo1.Lines.Add('女');

memo1.Lines.Add(combobox1.Text);//加入系的文本

memo1.Lines.Add(listbox1.⑤[listbox1.itemindex]);//加入职称

end;

 

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、

下图是本程序的设计界面(左)和运行界面(中、右):

在form1上建立的对象有:

Edit1~Edit3、Button1(确定)和CheckBox1等。

该程序实现两个整数的大小比较。

用户输入两个整数,按“确定”键后,比较结果显示在Edit3中。

如果“汉字”复选框选中,比较结果采用“大于”、“小于”、“等于”;否则比较结果采用“>”、“<”、“=”(如图所示)。

下面是单击“确定”按钮的事件处理程序。

procedureTForm1.Button1Click(Sender:

TObject);

var

x,y:

integer;

gt,eq,lt:

string;

begin

x:

=①(edit1.Text);//取得输入值

y:

=strtoint(edit2.②);

ifcheckbox1.③then

begin

gt:

='大于';

eq:

='等于';

lt:

='小于';

end

begin

gt:

='>';

eq:

='=';

lt:

='<';

end;

if(x>y)then

edit3.Text:

=edit1.Text+gt+edit2.Text

elseif(x=y)then

edit3.Text:

=edit1.Text+eq+edit2.Text

else

edit3.Text:

=edit1.Text+⑤+edit2.Text;

end;

 

4、

本程序根据用户选择的运算符对输入的二个操作数进行运算,并显示运算结果。

设计界面和运行界面如图所示。

其中,运算符是一个含有4个单选按纽的RadioGroup1对象。

下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序填空。

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

procedureTForm1.Button1Click(Sender:

TObject);//运算

var

x1,x2,y:

Integer;

begin

x1:

=StrToInt(Edit1.①);

x2:

=StrToInt(Edit2.②);

Case③.ItemIndexof

0:

y:

=x1+x2;

1:

y:

=x1-x2;

2:

y:

=x1*x2;

3:

y:

=x1Divx2;

End;

Edit3.④:

=IntToStr(⑤);

end;

5、

本程序实现一个简单的借书界面。

程序的设计界面和运行界面如下图所示:

该程序涉及到数据库中的两张表:

books(图书信息)和borrow(借书记录)。

表的结构为:

books(bno,书号,bname书名,num现有册数)

borrow(rno读者号,bno书号,rdate还书日期)

其中,rno和bno都是字符型(3位)。

在用户界面,操作员选中一本书、输入借书证号后,按“借书”键完成借书功能,即在borrow表中插入一条借书记录,并将books表中该书现有册数减1。

该界面要实现以下合法性检查:

当该读者已经借了此书,不能再借。

当所借的书现有册数为0,不能再借。

在Form1上建立的数据库组件对象及连接关系如下:

Database1-Table1(与books表相连)-DataSource1-DBGrid1(显示图书信息)

Database1-Table2(与borrow表相连,用于插入借书记录)

Database1-Query1

其中为Table1建立了3个永久字段:

Table1bno(书号)、Table1bname(书名)、Table1num(现有册数)。

Query1的SQL语句如下:

selectbno

fromborrow

whererno=:

rnoandbno=:

bno

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

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

implementation

{$R*.dfm}

procedureTForm1.Button1Click(Sender:

TObject);//“借书”键

begin

query1.Close;

query1.ParamByName('rno').Value:

=①;

query1.ParamByName('bno').Value:

=②;

query1.Open;

ifquery1['bno']<>nullthen

begin

showmessage('该读者正在借阅此书');

exit;

end;

if③then

begin

showmessage('该书已全部借出');

exit;

end;

table2.④([edit1.Text,table1bno.Value,date+15]);//插入借书记录

table1.⑤;

table1num.Value:

=table1num.Value-1;//现有册数减1

table1.Post;

end;

end.

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

 

6、

本程序的功能是实现对dep表(系)-student表(学生)的主从查询。

用户可以依次查询系的记录,也可以通过指定系号,查找并定位到指定的记录。

每当显示一个系的记录后,系统自动显示该系的学生记录。

设计界面和运行界面如下:

在Form1上建立的主要对象及连接如下:

Database1-Table1(与dep表相连)-DataSource1-DBEdit1~DBEdit3

Database1-Query1-DataSource2-DBGrid1(显示学生信息)

Edit1、Button1(查找)、Button2(下一记录)、Button3(上一记录)等。

Query1的SQL语句是:

select*

fromstudent

wheredno=:

dno

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

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

implementation

{$R*.dfm}

procedureTForm1.Button2Click(Sender:

TObject);//下一记录

begin

table1.①;

end;

procedureTForm1.Button3Click(Sender:

TObject);//上一记录

begin

table1.②;

end;

procedureTForm1.Button1Click(Sender:

TObject);//查找

begin

table1.③('dno',edit1.Text,[]);

end;

procedureTForm1.Table1AfterScroll(DataSet:

TDataSet);

begin

query1.Close;

query1.ParamByName('dno').Value:

=④;

query1.⑤;

end;

end.

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

7、

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

主窗体Form1上建立的对象有Panel1、MediaPlayer1、OpenDialog1、Button1(打开文件)、Button2(播放)、Button3(暂停)、Button4(退出)。

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

单击“打开文件”按钮,会弹出打开文件对话框。

用户指定一个要播放的文件后,单击“播放”按钮可播放多媒体文件,单击“暂停”按钮可暂停播放。

单击“退出”按钮,会弹出确认对话框(Form2)。

如果用户按“Yes”键,程序结束;如果按“No”键,返回主窗体。

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

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

implementation

{$R*.dfm}

uses

①;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1