(VF)面向对象程序设计(表单)部分综合复习题一、单项选择题1、如图所示,选项按钮组的值为( A )。
(A)2 (B)0 (C)1 (D)非团员2、命令按钮组是(B)A)控件(B)容器(C)控件类对象(D)容器类对象3、在VF中,表单是指:( D )A)数据库中的各个表的清单B)一个表中各个记录的清单C)数据库查询的列表D)窗口界面4、在表单的常用方法中,将表单从内存中释放的方法是( B )A、ShowB、 ReleaseC、HideD、Refresh5、要使得命令按钮有效,应设置该命令按钮的( C )A)Visible属性值为.T.B)Visible属性值为.F.C)Enabled属性值为.T.D)Enabled属性值为.F.6、在Visual FoxPro的数据工作期窗口,使用SET RELATION命令可以建立两个表之间的关联,这种关联是(C)。
A)永久性关联(B)永久性关联或临时性关联C)临时性关联(D)永久性关联和临时性关联7、设计菜单时,不需要完成的操作是( B )A、生成菜单程序B、浏览表单C、指定各菜单任务D、创建主菜单及子菜单二、程序填空题1、如下图所示,用标签、文本、命令按钮构成一个表单。
在标签中显示以下文字“当前时间”,运行表单时,单击“显示”按钮将显示系统时间;单击“清除”按钮,文本框中的内容被清除,单击“退出”按钮,将退出表单运行。
为完成上述要求:(1)“清除”按钮的click事件代码是① THISFORM.TEXT1.VALUE=””(2)“退出”按钮的click事件代码是②THISFORM.RELEASE(3)“显示”按钮的click事件代码是③THISFORM.TEXT1.VALUE=TIME()(4) 应该设置表单的④CAPTION 属性为“显示当前系统时间”13、设计一个四则运算的表单如下图所示:(1)由以上图可知本表单的_____【1】CAPTION ______属性应设置成“四则运算”(2) 按钮的ClICK代码如下Xl=VAL(THISFORM.TEXT1.VALUE)X2=VAL(THISFORM.TEXT2.VALUE)XX= 【2】 THISFORM.OPTIONGROUP1.VALUEDO 【3】 CASECASE XX=1THISFORM.TEXT3.VALUE=X1+X2CASE XX=2THISFORM.TEXT3.VALUE=X1-X2CASE XX=3THISFORM.TEXT3.VALUE=X1*X2CASE XX=4THISFORM.TEXT3.VALUE=X1/x2【4】ENDCASE(3) 按钮的CliCK代码如下THISFORM.TEXTl.VAlUE=’’THlSFORM.TEXT2.VALUE=’’THISFORM.TEXT3.VALUE=’’【5】THISFORM.OPTIONGROUP1.VALUE=1THISFORM.TEXTl.SETFOCUS(4) 按钮的CLICK代码_______【6】_ thisform.release ____________15、创建一个检查口令输入的表单,口令设置为“ABCD”,要求:●开始运行是,Label2不显示任何信息,在前两次输入口令错误时显示“口令错,请重新输入口令!”,第三次输入口令错误时显示“对不起,您无权使用本系统!”。
如口令正确则显示“欢迎使用本系统”。
●单击“确定”按钮(Command1)时,检查用户输入口令的正确性及输入次数,口令三次输入错误时,处于禁用状态。
● Text1用语接收用户输入的口令,口令输入时,其中的值用“*”号显示,当口令三次输入错误时,处于禁用状态。
●单击“关闭”按钮(Command2)时,关闭本表单。
(1)Label2的Caption属性的初始值应设置为:_____①_""___;(2)为用”*”号显示输入口令,应设置Text1的_ passwordchar __②__属性,属性值为“_*_③__”;(3)表单Form1的Form1.activeate事件代码为Thisform.Text1.SetFocusPUBLIC nn=0(4)Command1按钮(“确定”按钮)的Click事件代码为:M=thisform.text1.valueIf_____④_ thisform.text1.value="ABCD"____bel2.caption=“欢迎使用本系统!”Elsen=n+1bel2.caption=“口令错,请重新输入口令!”thisform.text1.value=_""__⑤___thisform.text1.setfocusif _ n=3___⑥______bel2.caption=“对不起,您无权使用本系统!”thisform.text1.enabled=.f.______⑦__ mand1.enabled=.f._____endifendif(5)命令按钮Comand2(“关闭”按钮)的Click事件代码为 ___⑧_thisform.release___三、表单程序设计1、利用磁盘上已有的数据表”RS.DBF”,建立一张删除记录的表单(from_2),界面如下所示.要求:(1)用文本框显示”人事数据表中记录的逻辑删除”,该控件在运行时不能输入新的文本内容.(2)将表中所有的字段按上图添加到表单中(3)添加一个命令组控件,其中包括三个命令按钮:”上一条”,”下一条”,”逻辑删除”.当记录显示到第一条记录时,”上一条”按钮不可使用,当记录显示到最后条记录时;”下一条”按钮不可使用;当记录显示不是在第一条记录,”上一条”按钮恢复使用;当记录显示不是最后条记录,”下一条”按钮恢复使用.当点击”逻辑删除”按钮时,则将当前记录逻辑删除.(4)表中再添加一个命令按钮”结束”,当点击”结束”按钮时,表单的运行结束.(1)第一个文本的设置(5分)value=”人事数据表中记录的逻辑删除“。
Readonly=.t.(2)添加表中记录控件及属性设置(10分)标签控件:Label1.Caption=“编号”,Label2.Caption=“姓名”,Label3.Caption=“出生年月”,Label4.Caption=“职称”,Label5.Caption=“工资”;Label6.Caption=“奖金”,Label7.Caption=“部门”;文本框控件:Text1的controlsource=rs.编号,Text2的controlsource=rs.姓名,Text3的controlsource=rs.出生年月,Text4的controlsource=rs.职称,Text5的controlsource=rs.工资,Text6的controlsource=rs.奖金,Text7的controlsource=rs.部门;命令按钮组控件:Commandgroup1.buttomcount=3mand1.caption=“上一条”mand1.caption=“下一条”mand1.caption=“逻辑删除”“命令按钮”控件:caption=“结束”(3)当记录显示到第一条记录时,“上一条”按钮不可使用,当记录显示到最后条记录时,“下一条”按钮不可使用;当记录显示不是在第一条记录,“上一条”按钮恢复使用;当记录显示不是最后条记录,“下一条”按钮恢复使用。
(20分)“上一条”按钮的click事件代码mand1.enabled=.t.if recno()=1mand2.enabled=.f.elseskip - 1endifthisform.refresh“下一条”按钮的click事件代码mand1.enabled=.t.if recno()=reccount()mand2.enabled=.f.elseskipendifthisform.refresh(4)当点击“添加记录”按钮时,则可向本数据表添加新的数据。
(10分)添加记录按钮的click事件代码:delethisform.refresh(5) 当点击“退出”按钮时,结束表单的运行。
(5分)“退出”按钮的click事件代码:thisform.release2、利用磁盘上已有的数据表”STDA.DBF”,建立一张查询记录的表单(form_3),界面如下:要求:(1)将表中所有的字段按上图所示添加到表单中.(2)添加一个命令组控件,其中包括二个命令按钮:”确定”,”取消”.当输入查询学号后,点击”确定”按钮,则显示查询结果;点击”取消”按钮,则表示重新输入查询学号.(3)表中再添加一个命令按钮”查询结果”,当点击”查询结束”按钮时,表单的运行结束.(4)运行表单时,若没有输入查询的学号,则表单中不显示任何记录(注:显示的记录内容不能修改).(1)添加表中控件及属性设置(10分)标签控件:Label1.Caption=“学生信息查询”,Label⒉Caption=“请输入查询学号”,Label3.Caption=“学号”,Label4.Caption=“姓名”,Label5.Caption=“性别”;Label6.Caption=“出生日期”,Label7.Caption=“籍贯”,Label8.Caption=“入学分”;文本框空间“Text2的controlsource=stda.学号,Text3的controlsource=stda.姓名,Text4的controlsource=stda.性别,Text5的controlsource=stda.出生日期,Text6的controlsource=stda.籍贯,Text7的controlsource=stda.入学分;命令按钮组控件:Commandgroup1.buttomcount=2mand1.caption=“确定”Commandgrou mand1.caption=“取消”“命令按钮”控件:caption=“查询结束“(2)“确定”,“取消”。
当输入查询学号后,点击“确定”按钮,则显示查询结果;点击“取消”按钮,则表示重新输入查询学号。
(15分)“确定”按钮的click事件代码(10分)loca for alltrim(stda.学号)=alltrim(thisform.text1.value))if found()thisform.refreshendif“取消”按钮的click事件代码(5分)thisform.text1.value=””thisform.text1.setfocusthisform.refresh(3) 当点击“查询结束”按钮时,结束表单的运行。