delphi面试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
delphi面试题及答案
【篇一:delphi程序期末试题答案】
一、单选题(每小题2分,共30分)
1.在 radiogroup 组件中有 4 个单选框,当选中第 2 个单选框时,radiogroup 组件中的 itemindex 属性值应为(b)。
a.0 b.1c.2d.3 2.函数和过程的区别为(a)。
a.函数执行后返回一个值,而过程不需返回值b.过程执行后返回一个值,而函数不需返回值c.过程在被调用时,能执行某种特殊功能并能返回到调用它的地方d.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方3.32 and 27 的值是(b)。
a.59b.0c.27d.32 4.窗体与数据模块的扩展名是(b)。
a..dcu b..dfm c..pas d..dpr 5.delphi 中用什么函数来析构一个组件(c)。
a.constructor b.destroy c.free d.create 6.一个指针变量ptr 的域成员 fs 访问的方法是(c)。
a.ptr-fs
b.ptr.fsc.ptr^fs d.ptr@fs
7.type aarrays=[1?8,1?5] of integer ,该类型定义了多少个下标元素(d)。
a.45 b.54 c.48 d.40 8.delphi 的所有类都是从什么类继承下来的(b)。
a.tcomponent b.tobject c.tstream d.tnull
9.定义构造函数时用到的保留字是(c)。
a.class b..implementation c.create d.construction 10.下列组件中属于可视组件的是哪一个(d)。
a.tdatasource b.topendialog c.ttable d.tscrollbar
11.设有过程 procedure pro(var x,y:integer); 变量 a , b 为整型
变量,其值分别为 5、6,则合法的过程调用语句是(a.pro(5,6) b.pro(5,b) c.pro(a,6)d.pro(a,b) 12.下列组件中不能获取焦点的是(b)。
a.tedit b.tlabelc. trichedit d.ttreeview13.定义抽象类必
须使用的指令字是(a)。
a.abstractb.virtualc.dynamicd.override” 14.delphi是哪个公司的产品(c)。
a. microsoft b.ibm c.borland d.dom
15.窗体上放置有一个tedit类控件edit1,当在edit1中按下‘a’键
时触发的事件和事件顺序是(a)。
a.onkeydown-onkeypress-onkeyup b.onkeydown-onkeyup
c.onkeypressd.onkeydown-onkeyup-onkeypress 二、判断
题(每小题1分,共10分)
1.pascal 语言中可以把一个实数赋值给一个整型变量,系统会自
动取整。
(错) 2.所有类都有name属性。
(错)
3.variant类型的变量被动态赋值为一个特定的数据类型后,不能
再赋值为一个其它的数据类型。
(错)
4.函数messagedlgpos与messagedlg极为相似,只是messagedlgpos函数能够控制信息对话框的出现位置。
(对)5.bitbtn控件可以用来制作一个带图片的按钮,而speedbutton
则不能。
(错) 6.mediaplayer控件的autoenable属性是用来
控制该控件是否可用。
(错)
7.图形组件没有输入焦点,不能接受用户的输入,它只具有向用户
显示的功能。
(对)
8.timer组件常称为“定时器”,它每隔固定的时间间隔可以触发一
个ontimer事件。
(对) 9.tobject是delphi的基类,系统中的
每一个类都是tobject的子类。
(对)
10.在mdi应用程序窗口中,如果将一个窗体设为父穷窗体,要将
它的formstyle属性设为fsstayontop。
(错)三、填空题(每空
2分,共20分)
1.用于建立菜单项的下划线快捷方式的字符是。
2.在设计阶段,利用image对象的picture 属性,可以加载一幅
图片。
3.所有可视化的vcl控件都是从tcontrol基类派生而来的。
)。
d
装订线
4.delphi有三种控制循环的语句:repeat 语句, while语句,
for语句。
5.delphi支持3种类型的注释: {} 注释, (* *) 注释,// 注释。
6.关闭文件需要使用closefile () 函数。
四、简答题(共20分) 1.简述什么是对象和类。
(4分)
在面向对象的程序分析和设计技术中,“类”就是对具有相同属性和
相同操作的一组相似对象的定义。
从另一个角度来看,对象就是类
的一个实例。
2.简述程序错误的类型有哪些。
(4分)(1)设计期错误(2)
编译期错误(3)运行期错误(4)逻辑错误
3.根据下列代码,请回答。
(12分) program infoproc usesforms,
unit1 in ‘unit1.pas’{forminfoinput},unit2 in
‘unit2.pas’{forminfoshow}; {$r *.res} begin ?? end.
问题1:以上代码是项目/工程文件的组成部分。
问题2:根据以
上代码,可知项目文件名是forminfoinpu 、forminfoshow 。
五、程序题(每小题10分,共20分)
1.定义一个函数f,其返回值为1~n的和。
( function )f
(n:integer); var i,s:integer; begin
end;
2.在窗体上面绘制出一条规则的余弦曲线,使其尺寸约为窗体的procedure tform1.formpaint(sender:tobject); var x,y:real;
j,j,h:integer; begin
h:=form1.height div 2; for i:=0 to form1.width do begin
x:=i*(2*3.14/form1.height); y:=cos(x);
j:=trunc(0.8*y*h)+h; canvas.pixels[i,j]:=clred: end; end;
infoproc ,该项目文件包含(每空2分) 2个单元文件,文件名分别是80%,写出编程步骤与代码。
unit1 、 unit2 ,它们对应的窗体名是
装
订线
a.tdatasource b.topendialog c.ttable d.tscrollbar
4.设有过程 procedure pro(var x,y:integer); 变量 a,b 为整型变量,其值分别为 5、6,则合法的过程调用语句是(a.pro(5,6)
b.pro(5,b) c.pro(a,6)d.pro(a,b) 5.下列组件中不能获取焦点
的是(b)。
a.tedit b.tlabelc. trichedit d.ttreeview6.定义抽象类必须
使用的指令字是(a)。
a.abstractb.virtualc.dynamicd.override” 7.delphi是哪个公司的产品(c)。
a. microsoft b.ibm c.borland d.dom
8.窗体上放置有一个tedit类的控件edit1,并定义了edit1的onenter事件,下面说法正确的是:a.当鼠标在窗体上移动时产生edit1onenter事件b.其他三项都不对c.当edit1获得焦点时产生
edit10enter事件 d.当鼠标移动到9.在 radiogroup 组件中有 4
个单选框,当选中第 2 个单选框时, radiogroup 组件中的a.0 b.1c.2d.3 10.函数和过程的区别为(a)。
a.函数执行后返回一个值,而过程不需返回值b.过程执行后返回
一个值,而函数不需返回值c.过程在被调用时,能执行某种特殊功
能并能返回到调用它的地方d.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方11.32 and 27 的值是(b)。
a.59b.0c.27d.32 12.diskfree(c)是用来返回c盘的剩余空间。
a.1b.2 c.3 d.4 13.delphi 中用什么函数来析构一个组件(c)。
a.constructor b.destroy c.free d.create 14.下面的数据类
型不属于在object pascal语法中的数据类型是(c)。
a.布尔型b.整型 c.关系型 d.字符型
15.type aarrays=[1?8,1?5] of integer ,该类型定义了多少个下
标元素(d)。
a.45 b.54 c.48 d.40 二、判断题(每小题1
分,共10分)
1.mediaplayer控件的autoenable属性是用来控制该控件是否可用。
(错)
2.图形组件没有输入焦点,不能接受用户的输入,它只具有向用户
显示的功能。
(对3.1、pascal 语言中可以把一个实数赋值给一
个整型变量,系统会自动取整。
(错)4.所有类都有name属性。
(错)
5.variant类型的变量被动态赋值为一个特定的数据类型后,不能
再赋值为一个其它的数据类型。
6.函数messagedlgpos与messagedlg极为相似,只是messagedlgpos函数能够控制信息
对话框的出现位置。
7.bitbtn控件可以用来制作一个带图片的按钮,而speedbutton则不能。
(错)
8.timer组件常称为“定时器”,它每隔固定的时间间隔可以触发一
个ontimer事件。
(9.tobject是delphi的基类,系统中的每一个
类都是tobject的子类。
(对)
10.在mdi应用程序窗口中,如果将一个窗体设为父窗体,要将它
的formstyle属性设为三、填空题(每空2分,共20分)
1.用于建立菜单项的下划线快捷方式的字符是。
2.binbtn组件
的 kind 属性预定义了一些常用的位图按钮种类。
3.memo1.lines.delete( 1 ); 是用来删除tmemo组件的第 2行。
d(c)
edit1的上面时产生edit1onenter itemindex 属性值应为((错)(对)对) fsstayontop。
(错))。
事件)。
b )
装订线
4.delphi有三种控制循环的语句:repeat 语句, while语句,
for语句。
5.在delphi的dialog标签中提供了多个专用对话框,其中包括:opendialog , savedialog , fontdialog。
6.关闭文件需要使用closefile () 函数。
四、简答题(共20分) 1.简述什么是对象和类。
(4分)
在面向对象的程序分析和设计技术中,“类”就是对具有相同属性和
相同操作的一组相似对象的定义。
从另一个角度来看,对象就是类
的一个实例。
2.简述程序错误的类型有哪些。
(4分)(1)设计期错误(2)编
译期错误(3)运行期错误(4)逻辑错误
3.根据下列代码,请回答。
(12分) program infoproc usesforms,
unit1 in ‘unit1.pas’{forminfoinput},uni t2 in
‘unit2.pas’{forminfoshow}; {$r *.res} begin ?? end.
问题1:以上代码是项目/工程文件的组成部分。
问题2:根据以上代码,可知项目文件名是infoproc ,该项目文件包含forminfoinpu 、forminfoshow 。
五、程序题(每小题10分,共20分)
1.填空:向一个已存在的文本文件后面追加一行文本(我成功的在
这个文件后面加了一行文本)var
f: textfile; begin
if opendialog1.( execute ) then begin
assignfile (f, opendialog1.filename ); append (f);
writenln(f,’我成功的在这个文件后面加了一行文本。
’flush(f); closefile(f); end; end;
2.在窗体上面绘制出一条规则的余弦曲线,使其尺寸约为窗体的procedure tform1.formpaint(sender:tobject); var x,y:real;
j,j,h:integer; begin
h:=form1.height div 2; for i:=0 to form1.width do begin
x:=i*(2*3.14/form1.height); y:=cos(x);
j:=trunc(0.8*y*h)+h; canvas.pixels[i,j]:=clred: end; end;
2个单元文件,文件名分别是。
); 80%,写出编程步骤与代码。
unit1 、 unit2 ,它们对应的窗体名是
装
订线
a.tdatasource b.topendialog c.ttable d.tscrollbar
4.设有过程 procedure pro(var x,y:integer); 变量 a,b 为整型变量,其值分别为 5、6,则合法的过程调用语句是(da.pro(5,6)
b.pro(5,b) c.pro(a,6)d.pro(a,b) 5.下列组件中不能获取焦点
的是(b)。
a.tedit b.tlabelc. trichedit d.ttreeview6.定义抽象类必须
使用的指令字是(a)。
a.abstractb.virtualc.dynamicd.override” 7.delphi是哪个公司的产品(c)。
a. microsoft b.ibm c.borland d.dom
8.窗体上放置有一个tedit类控件edit1,当在edit1中按下‘a’键时触发的事件和事件顺序是(a)。
a.onkeydown-onkeypress-onkeyup b.onkeydown-onkeyup
c.onkeypressd.onkeydown-onkeyup-onkeypress
9.在 radiogroup 组件中有 4 个单选框,当选中第 2 个单选框时,radiogroup 组件中的 itemindex 属性值应为(a.0 b.1c.2d.3 10.函数和过程的区别为(a)。
a.函数执行后返回一个值,而过程不需返回值b.过程执行后返回
一个值,而函数不需返回值c.过程在被调用时,能执行某种特殊功
能并能返回到调用它的地方d.函数在被调用时,能执行某种特殊功能并能返回到调用它的地方11.32 and 27 的值是(b)。
a.59b.0c.27d.32 12.窗体与数据模块的扩展名是(b)。
a..dcu b..dfm c..pas d..dpr 13.delphi 中用什么函数来析
构一个组件(c)。
a.constructor b.destroy c.free d.create 14.一个指针变量ptr 的域成员 fs 访问的方法是(c)。
a.ptr-fs
b.ptr.fsc.ptr^fs d.ptr@fs
15.type aarrays=[1?8,1?5] of integer ,该类型定义了多少个下
标元素(d)。
a.45 b.54 c.48 d.40 二、判断题(每小题1
分,共10分)
1.函数messagedlgpos与messagedlg极为相似,只是messagedlgpos函数能够控制信息对话框的出现位置。
(对)2.bitbtn控件可以用来制作一个带图片的按钮,而speedbutton
则不能。
(错) 3.mediaplayer控件的autoenable属性是用来
控制该控件是否可用。
(错)
4.图形组件没有输入焦点,不能接受用户的输入,它只具有向用户
显示的功能。
(对)5.1、pascal 语言中可以把一个实数赋值给
一个整型变量,系统会自动取整。
(错) 6.所有类都有name属性。
(错)
7.variant类型的变量被动态赋值为一个特定的数据类型后,不能
再赋值为一个其它的数据类型。
(错) 8.在mdi应用程序窗口中,如果将一个窗体设为父窗体,要将它的formstyle属性设为fsstayontop。
(错)
9.tobject是delphi的基类,系统中的每一个类都是tobject的子类。
(对)
10.timer组件常称为“定时器”,它每隔固定的时间间隔可以触发
一个ontimer事件。
(对)三、填空题(每空2分,共20分)
1.delphi有三种控制循环的语句:repeat 语句, while语句,for 语句。
2.delphi支持3种类型的注释: {} 注释, (* *) 注释,//
注释。
3.所有可视化的vcl控件都是从tcontrol基类派生而来的。
)。
)。
b
【篇二:delphi程序设计试题及解答】
lass=txt>一、填空题(20分,每空2分)
1、现实世界中对象具有自己的状态和行为。
对应着,面向对象技术
中的对象可以具有自己的属性和。
2、delphi应用程序中项目文件的扩展名是。
3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有和一个出口。
4、在delphi集成开发环境中,如果想要直接设置或者修改对象的
属性,可以通过对象查看器(object inspector)中的窗口直接进
行设置。
5、listbox对象列表框中的内容是通过
6、时钟组件(timer)能有规律的以一定时间间隔触发事件。
7、如果让界面上的一个按钮变为不可用,需要将它的false。
8、image组件可通过设置其true使image组件根据图像的大小自
动调整显示窗口大小。
9、delphi的一个项目由若干文件组成,其中文件名后缀含有“~”的
文件为。
10、与数学表达式 cos(a?b)
3x2?5对应的object pascal表达式是
二、单项选择题(30分,每题3分)
1、delphi程序设计的基本特点是()
a.可视化程序设计b.代码程序设计
c.事件驱动编程 d. a和c
2、修改窗体的标题时,应当设置form的属性是()
a.captionb. name c. text d. label
3、下列哪个常量说明语句是正确的()
a. const x := (c 16);
b. const x : 16 ;
c. const x := 16 ; d const x = 16 ;
4、“x 是小于100的非负数”的object pascal表达式是()
a.0 ≤ x 100 b. x = 0, x100
c.(x =0) and (x 100) d. (x = 0 ) or (x100)
5、编辑框(edit)中的文本发生改变时引发的事件是()
a.autosize b.onchange
c.setfocusd.settext
6、表达式 30 + 19 div 2 的值是()
a. 37 b. 49
c. 39d. 40
7、现建立一个简单报表,仅包含报表标题栏、数据栏和汇总栏,则
在bands属性的子属性中,不需要选择的是()a.hascolumnheaderb.detail
c.titled.summary
8、下面哪个功能键可以调出delphi 的联机帮助信息()
a.f1键 b.f2键
c.f3键 d.f4键
9、数据库组件中,提供了对数据库读写操作功能的核心组件是() a.数据源组件 b.用户界面组件
c.数据集组件 d.数据感知控件
10、以下控件中没有items属性的是()
a.comboboxb. listbox c.radiogroupd.memo
三、判断题(10分,每题2分)
请给下列论述中正确的打上“√”,错误的打上“?”(10分,每题1分)
1、( ) 一个数组中的各元素的数据类型必须相同。
2、()在一个项目中,可以根据需要将任何一个窗体定义为主窗体。
3、( ) 每个数据感知控件都必须指定datasource和datafield两个
属性值。
4、( ) label 和 edit 组件都可以用于用户输入数据。
5、() 按钮组件和编辑框组件能够响应的事件有些是相同的。
四、程序填空题(30分,每题10分)
1、(10分,每空2分)
本程序根据用户选择的运算符对输入的二个操作数进行运算,并显
示运算结果。
设计界面和运行界面如图所示。
其中,运算符是一个
含有4个单选按纽的radiogroup1对象。
下面是单击“运算”按钮的事件处理程序,请根据功能要求完成程序
填空。
---------------------------------------------------------------------------------------------------------------------
procedure tform1.button1click(sender: tobject);//运算
var
x1,x2,y :integer;
begin
x1 := strtoint( edit1. ① );
x2 := strtoint( edit2. ② );
case ③ .itemindex of
0: y := x1 + x2 ;
1: y := x1 - x2;
2: y := x1 * x2;
3: y := x1 div x2;
end;
edit3. ④ := inttostr( ⑤ );
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
(借书记录)。
表的结构为:
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语句如下:
select bno
from borrow
where rno = :rno and bno = :bno
下面是unit1的代码实现部分,请完成程序填空:
--------------------------------------------------------------------------------------------------------------------- implementation
{$r *.dfm}
procedure tform1.button1click(sender: tobject); //“借书”键
begin
query1.close ;
query1.parambyname(rno).value :=;
;
query1.open ;
if query1[bno] null then
begin
showmessage(该读者正在借阅此书);
exit;
end ;
if then
begin
showmessage(该书已全部借出);
exit ;
end;
//插入借书记录;
table1num.value := table1num.value - 1 ; // 现有册数减1
table1.post ;
end;
end.
---------------------------------------------------------------------------------------------------------------------
五、编程题(10分)
本程序设计界面及运行界面如下:
程序功能是:用户输入一个3位正整数后,按“确定”键,该数字的个位、十位、百位数字分别显示在输出框中。
如果输入的数据不在规定范围之内,程序要给出错误提示。
请编写单击“确定”按钮的事件处理程序。
【篇三:delphi复习题答案版】
ss=txt>持。
3、要想使窗体中的某个控件获得焦点,则需调用方法。
文本的格式。
p64
5、由于tdbgrid控件和tdbnavigator
控件是自动地访问数据集控件中所有可
6、函数format(‘本场%已进了1个球!’,[‘李铁’])返回的字符串为本场李铁已进了1个球! 。
7、tedit控件的maxlength属性是设置 8、想在button按钮上设
置快捷方式,需要在caption属性中应用符号 9、通过数据库字段对象(例如:ttalbe部件的字段对象)的属性可以读取字段值,并且将它转换成字符串类型。
10、delphi为用户提供一种append方法,用来以便与在文件末尾
添加文本。
11、常量是一种内容不能改变的标识符,常量声明采用保留字 12、delphi的计时器的interval属性设置为1000,即是每隔秒会被触发
一次。
1、以下正确的枚举类型的定义是( c )。
(a)type vowel=(‘a’,’e’,’i’,’t’,’u’) (b)typenum=(1..3, 8..10) (c)type color=(red, blue, black)(d)type realtype=(1.5, 2.5, 3.5, 4.5) 2、已知如下子界类型定义及变量声明: type ntype= -10 .. 10; var m: ntype; n: integer;
问下列语句哪一个可能产生错误:( b )。
(a)n := m; (b)m :=n; (c)n := abs(m); (d)n := n+m; 3、下列哪些符号哪一个是delphi6中的合法变量名( a )。
(a)ab5 (b)0ab (c)then(d)a[b]8 4、下面哪个是delphi
工程文件的扩展名( b )。
(a).pas(b).dpr (c).cfg (d).dfm 5、memo控件的align
属性用于调整该对象在窗口中的对齐方式,当需要该控件顶部对齐时,其值可以设置为(a)。
(a)altop(b)alclient(c)albotton (d)alright 6、设有一个
自定义过程声明如下:procedure silly(a: integer; var b: integer); var c: integer; begin
a:=1;b:=12;c:=14; end;
执行下述程序段:a:=4; b:=8; c:=6;silly(b, a);
则a, b, c的值分别是什么?
(a)(12,4,6) (b)(4,1,14)(c)(12,8,6) (d)(12,1,6) 7、下列( c )语句不是标准的sql语言中的。
(a)select (b)insert (c)rename (d)delete 8、下列常量
说明语句中哪个( c )是合法的。
(a)const c:=(a6.8);(b)constc: 6.8;(c)const c=6.8;(d)constc:=10 and 20; 9、设有如下程序段:
s: = 100 ; n: = 3 ;
for ch :=’a ’ to ‘e’ dobegin
if not odd(n) then s := s – n ; n := n + 5;end;
假设所有变量均已说明,程序执行后s的值是:
(a) 97(b) 89 (c)74(d)58 10、下面哪一条delphi6语句
能够实现如下功能,在列表框listbox1的第5行中插入一个新选项
‘欢迎使用delphi’( c )。
(a)listbox1.item.insert(5, ‘欢迎使用delphi’); (b)listbox1.item.add( ‘欢迎使用delphi’, 5) ;
(c)listbox1.item.insert(4, ‘欢迎使用delphi’); (d)
li stbox1.item.add(4, ‘欢迎使用delphi’) ;
11、几何图形控件shape位于工具栏上的additional页中,用于在窗体上绘制一些常见的几何图形,下面哪个图形是不能由shape绘
制的( d )。
(a)圆角正方形(b)矩形(c)圆形(d)菱形12、有以下程序段:i :=1;repeat j :=j*i;i :=i+2;until j2*i;
假设所有变量均已说明,该循环体的执行次数是()。
(a)1 (b)2(c)3(d)4
三、判断题
1、函数pos(s0, s)返回子字符串s0在字符串s中的位置,若s0在s中,则返回为0。
(对)3、edit控件既可用来供用户输入单行和多
行文本也可以用来显示它们。
4、组合框comboxbox兼有editbox
和listbox两者的功能,其seltext属性是用来存储显示于编辑区中
被选中项的内容。
(对) 5、在object pascal语法中,函数的返回值
通过函数名或预定义的result带回,6、当容器控件的位置、可视性
以及有效性属性发生改变时,其中的子控件也发生同样的变化。
7、delphi使用的就是object pascal语言,object pascal和turbo pascal是完全相同的。
(错)
8、要使speedbutton像复选框那样工作,只需将groupindex属
性设为大于0,且不与任何其他speedbutton的groupindex属性
值相同。
(错)
9、在object pascal语法中,函数的返回值通过函数名或预定义的result带回,使用result完全等同于函数名。
10、某过程声明如下:procedure myprocedure (x :real, y: integer=8);对上述过程,下
面调用语句是等效的:myprocedure(b,8)和myprocedure(b)。
11、从物理上讲,全程变量和局部变量在程序编译时,系统就在内存数
据区中为
2、长字型longword是4字节的大小的数据类型。
(对)
使用result完全等同于函数名。
它们分配了所需的存储空间,并且在整个程序的运行阶段始终占有它。
(对) 12、对ttable部件使用字段编辑器(fields editor)建立一个字段列表,包括字段的顺序,字段的类型等,即使磁盘上实际的数据库表结构发生了改变,建立
的这个字段列表也不会发生改变。
四、程序设计题
1)使用timer控件,设计一个简单计时器。
1.建立应用程序用户界面与设置对象属性。
选择“新建”工程,进入窗体设计器,
在窗体中增加两个按钮button1~button2、一个掩码编辑框maskedit1和一个计时器控件timer1。
其中计时器控件timer1可以放在窗体任何位置。
编写button1(开始按钮)的onclick事件代码: procedure tform1.button1click(sender:tobject); begin
if button1.caption := ‘s 暂停’ then begin
button1.caption := ‘c 继续’; timer1.enabled :=flase; end else begin
button1.caption := ‘s 暂停’;
if maskedit1.text = ’00:00:00:0’then timer1.tag :=0;
timer1.enabled:=ture; end; end;
编写button2(重置按钮)的onclick事件代码 procedure
tform1.button2click(sender:tobject); begin
timer1.tag:=1;
maskedit1.text:=’00:00:00:0’; end
编写timer1的ontimer事件代码:
procedure tform1.timer(sender:tobject);
var
h,n,s,m,:integer; begin
m := timer1.tag + 1; timer1.tag := m
;
s := m div 10; //总秒数
m := m mod 10; //1/10秒数 n := s div 60; //总分钟数 s := s mod 60; // 秒钟数 h := n div 60; //小时数 n := n mod 60; //分钟数maskedit1.text := format(‘%d:%d:%d’,[h,n,s,m]); end;
3.
2)编写小时钟程序,利用timer控件来控制指针的转动。
3)设计一个能够实现sql查询的应用程序,掌握sql基本的操作语句。
(1)使用gotokey方法查找数据记录(2) findkey方法查找数据库的记录
设计程序利用上述两种方法查询数据库记录。
程序代码如下:
procedure tform1.button1onclick(sender:tobject);begin
with table1 do begin
label3.caption :=; edit2.text:=;
indexfieldnames:=学号; setkey;
fieldbyname(学号).asstring:=edit1.text; if gotokey thenbegin label3.caption:=查询成功;
edit2.text:=fieldbyname(姓名).asstring;end。