整理第6章表单与控件的创建与使用答案Word格式.docx
《整理第6章表单与控件的创建与使用答案Word格式.docx》由会员分享,可在线阅读,更多相关《整理第6章表单与控件的创建与使用答案Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
![整理第6章表单与控件的创建与使用答案Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/15/0fe8e90f-61e6-40e1-a170-e1cf4faee8d2/0fe8e90f-61e6-40e1-a170-e1cf4faee8d21.gif)
D.EditBox,CheckBox,OptionButton
7.下列关于表单数据环境的叙述中,错误的是B。
A.表单运行时自动打开其数据环境中的表
B.数据环境是表单的容器(是表单中数据来源)
C.可以在数据环境中建立表之间的关系
D.可以在数据环境中加入视图
8.在默认的情况下利用表单设计器设计表单时,若从数据环境里将某个表的一个逻辑型字段用鼠标拖放到表单上,则在表单上添加的控件个数和控件类型分别是D。
A.2,标签和文本框B.2,标签和复选框C.1,文本框D.1,复选框
9.在下列各组控件中,均可与表中的数据绑定的控件是。
A.Combox、Grid和TextBoxB.EditBox、Grid和Line
C.ListBox、Shape和OptionButtonD.CheckBox、Separator和Command
10、在下列VFP基类中,无Caption属性的基类是________D______。
A、LableB、OptiongroupC、CheckD、Editbox
11、在下列有关控件及其属性的叙述中,错误的是______A________。
A、一个标签控件最多可以显示128个字符(最多256个,如果是字符型常量,则不需要加定界符)
B、计时器控件的Interval属性的单位为毫秒
C当形状控件Curvature属性值为99时,其曲率最大(圆或椭圆)
D组合框控件Style属性控制其为下列表框还是(下拉组合框style属性为0时和下拉列表框style属性为2)
12、在下列有关控件的叙述中,错误的是______________。
A、对于标签控件(Label)的Caption属性值来说,其长度(即字符个数))没有限制
B、复选框(CheckBox)的Value属性值可以设置为0,或1(也可写作.T.或.f.),或2(只在设计时使用,键盘无法设置为2)
C、有些控件无Caption属性,例如文本框(TextBox)
D、有些控件可通过相应的生成器设置其部分属性,例如命令按钮组(CommandGroup)
13、在下列几组控件中,均有SetAll()方法的是_______D_______。
A、表单(Form)、命令按钮(CommandButton)、命令按钮组(CommandGroup)
B、表单集(FormSet)、列(Column)、组合框(ComBox)
C、表格(Grid)、列(Column)、文本框(TextBox)
D、表单(Form)、页框(PageFrame)、命令按钮组(CommandGroup)
14、下列几组控件中,都有ControlCount属性的是______B________。
(容器对象中控件个数)
A、表单(Form)、文本框(TextBox)、列表框(ListBox)
B、表单集(FormSet)、表单(Form)、页框(PageFrame)
C、表单(Form)、页面(Page)、列(Column)
D、列(Column)、选项按钮组(OptionGroup)、命令按钮组(CommandGroup)
15、对表单中的一个文本框控件来说,下列事件中最后发生的事件是__b_______。
A、Validb、InitB、DestroyD、Lostfocusinit-valid-lostfocus-destroy
16、将表单中的所有文本框的Enabled属性设置为假,可在表单的Init事件处理代码中用SetAll方法进行设置。
下列表述中,命令正确的是____C__________。
A、THISFORM.SetAll(“Enabled”,.F.,“Text”)
B、THISFORM.SetAll(Enabled,.F.,Text)
C、THISFORM.SetAll(“Enabled”,.F.,“TextBox”)
D、THISFORM.SetAll(“Enabled”,.F.)。
17、在下列几种控件中,无Value属性的是______________。
A、命令按钮(Command)B、复选框(CheckBox)
C、选项按钮(OptionButton)D、编辑框(EditBox)
18.在下列关于表格控件的叙述中,错误的是
B
。
A.表格是容器型控件,它包含列对象
.
B.表格的数据源若是表,则该表必须在表单的数据环境中
C.表格的数据源可以是表、别名、查询文件或SELECT-SQL命令
D.表格滚动条可以设置为不同类型
19、在下列几组控件中,均可直接添加到表单中的是
C
A.CommandGroup、OptionButton、TextBox
B.Page、PageFrame、Grid
C.CommandButton、PageFrame、EditBox
D.TextBox、Column、Header
20、设表单Form1上有一个命令按钮组CommandGroup1,命令按钮组中有两个命令按钮(分别:
cmdl和cmd2)。
若单击命令按钮Cmdl,可以将命令按钮Cmd2设置为废止状态,则在命令按Cmdl的Click事件中,应包含A
命令(或功能与之等价的命令)。
A.This.Parent.Cmd2.Enabled=.F.
B.ThisForm.Cmd2.Enabled=.F.
C.THis.CommandGroup1.cmd2.Enabled=.F.
D.THIS.Cmd2.Enabled=.F.
21、在下列几组控件中,均具有ControlSource属性和Value属性的是
D
A.Pageframe、EditBox、OptionGroup
C.TextBox、Label、CommandButton
B.ListBox、Grid、ComboBox
D.CheckBox、Spinner、ComboBox
二.填空题
1.图1所示的表单用于浏览教师(JS)信息。
为了在表格控件中以不同的背景色显示男、女教师的信息,则在表格控件的Init事件代码中,可使用如下形式的语句:
This._Setall__("DynamicBackcolor","IIF(xb='女',RGB(125,125,125),;
RGB(125,125,125))","Column")
2.表单中下拉列表框的RowSourceType属性为“6-字段”,数据源为系名代码表(表的文件名为xmdm.dbf,含系代码(xdm)和系名(xim)两个字段),为了使下拉列表中显示系代码和系名两列数据,则RowSource属性值为:
xmdm.xdm,____xim____。
图1
3.设某表单上有一个页框控件,该页框控件的PageCount属性值在表单的运行过程中可变(即页数会变化)。
如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的Refresh事件代码中使用语句:
This.ActivePage=PageCount。
4.在某类库中,基于CommandButton基类新建了一个子类cmd,基于cmd类又派生了cmdClose子类。
若利用cmdClose类为一个表单添加控件cmdCloseA,则cmdCloseA的BaseClsss属性值为__CommandButton____。
5.某数据库中包含课程(KC)表和成绩(CJ)表,课程表中含有课程代号(kcdh)、课程名(kcm)和学分(xf)等字段,成绩表中含有学号(xh)、课程代号(kcdh)和成绩(cj)等字段。
已创建一个按课程代号查询学生成绩的表单如图2所示。
图2
表单中下拉列表框(Combo1)的数据源设置如下:
RowSourceType属性为:
6-字段
RowSource属性为:
kc.kcdh。
在下拉列表框中选择某一课程代号后,表格控件(Grid1)立即显示该课程所有学生的成绩,且在文本框(Text1)中显示该课程的课程名,则应在下拉列表框的___InteractiveChange____事件中编写如下代码:
SELECTKC
ThisForm.Text1.Value=kc.kcm
ThisForm.Grid1.RecordSource=;
"SELECTcj.xh,cj.cjFROMcjWHEREcj.kcdh=ALLT(THIS.Vale)INTOCURStmp"(应为allt(cj.kcdh)=allt(this.value))
ThisForm.Refresh
根据以上代码可判定,表格控件(Grid1)的RecordSourceType属性为___4或SQL___。
6.设某命令按钮的标题为“确定(Y)”(该按钮访问键位“ALT+Y”),则其Caption属性值应设置为___确定(\<
Y)__。
7.在事件代码中相对引用当前表单集的关键字是___Thisformset_____。
8.文本框控件的__PasswordChar_____属性设置为“*”时,用户键入的字符在文本框内显示为“*”,但Value属性中仍保存键入的字符串。
9.已知有三张表:
学生表(XS)、课程表(KC)和成绩表(CJ),其表结构如表3所示。
(调试根本通不过)
有一个表单如图3所示,其左边是一个选项按钮组(Optiongroup1),右边是列表框(List1)。
该表单的功能是:
在选项按钮组中选择一个年级(学号的前两位表示年级),列表框将显示出该年级所有课程不及格的学生的学号、姓名、课程名称和成绩。
图3
下列是选项按钮组的相关事件的事件代码,试完善下面的程序。
DOCASE
CASEThis.Value=1
nJ="99"
CASEThis.Value=2
nJ="00"
CASEThis.Value=3
nJ="01"
CASEThis.Value=4
nJ="02"
_______Endcase_______
SQL1='SELECTxs.xh,xm,kcm,cj'
SQL2='FROMxs,cj,kc'
SQL3='WHERExs.xh=cj.xhANDcj.kcdh=kc.kcdhANDcj<
60'
SQL4='__andsubs(xs.xh,1,2)=nj__'
SQL5='ORDERBY4'
SQL6='INTOCURSORtemp'
SQLSELECT=SQL1+SQL2+SQL3+SQL4+SQL5+SQL6
ThisForm.List1.RowSourceType=3
ThisForm.List1.RowSource=_SQLSELECT__
ThisForm.List1.Requery
10.类(class)是面向对象程序设计的核心。
类具有许多特点,如多态性、抽象性、封装性、继承性等,其中__多态性___是指一些关联的类包含同名的方法程序,但方法程序的内容可以不同。
11.设Labell是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,可以在该表单的Init事件代码中使用语句THISFORM.__Label1.Caption___=TTOC(DATETIME())来实现。
12.学生注册表单(forml)如图1所示,该表单中含有3个标签、2个文本框(Text1和Text2),1个命令按钮组(包含3个按钮),其功能是对学生信息进行注册:
(此题可调通)
1)如在学生注册(ZC)表中已存在某学生的记录(学号已经存在),说明该学生已注册过;
若没有,则进行注册,即将该学生信息存入学生注册表;
2)进行注册时(即按“确认”按钮时),学生和姓名不能为空。
图1
学生注册表单
表单是一个容器型控件,其集合属性为Controls,计数属性为ControlCount。
此表单的ControlCount属性值为
6
根据表单的功能要求,完善下列命令按钮组的Click事件代码:
ch1=ALLT(THISFORM.Text1.Value)
ch2=ALLT(THISFORM.Text2.Value)
DOCASE
CASETHIS.Value=1
IFLEN(ch1)=0ORLEN(ch2)=0
=MESSAGEBOX(“学号、姓名必须填写!
”)
ELSE
Locate
forzc.xh=ch1
IF!
EOF()
=MESSAGEBOX(“此学生已注册,请重新输入!
”)
ESLE
INSERT
INTO
zc(xh,xm)
Values(ch1,ch2)
ENDIF
CASETHIS.Value=2
THISFORM.Text1.Value=“”
THISFORM.Text2.Value=“”
Thisform.text1.setfocus_
&
&
使Text1文本框得到输入焦点
CASETHIS.Value=3
THISFORM.RELEASE
ENDCASE
13.在VFP中,利用可是化开发工具(表单设计器)创建表单和对象。
通过对对象属性的修改、方法程序的调用来处理对象。
相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或_事件__处理代码中使用
13.对于图2所示的表单,当表单运行时,利用微调框(Spinnerl)Curvature来调节形状控件(Shapel)的Curvature属性,使形状控件的角的曲率发生变化。
根据Curvature属性的取值范围的限定,微调框(Spinner1)的SpinnerLowValue属性值和SpinnerHighvalue属性值应该分别为0和
99
当形状控件(Shape1)为椭圆时,微调框(Spinner1)的Value值应为
99
.(在spinner的interactivechange事件中写:
thisform.shape1.curvature=this.value)
图2形状控件的曲率实验
14.类(class)是面向对象程序设计的核心。
类具有许多特点,如抽象性、封装性、继承性等,其中___封装性____是指包含和隐藏对象信息(如内部数据结构和代码)的能力,是操作对象的内部复杂性与应用程序隔离开来。
15.一个应用程序的模型可以设计得很合理很整洁,代码很精致,解决问题的方法和算法很巧妙但这些对用户来说是很透明的,用户看不到、也无须知道,用户看到的是应用系统提供的用户界面。
从利用VFP开发应用程序来说,创建的菜单
表单
文件是用作应用程序的主要界面。
16.表格(gird)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似,表格最常见的用途之一是显示一对多关系中的的子表。
在默认情况下,表格控件包含列控件,列空件又包含列标头控件和
文本框
控件。
17.在VFP中,每个对象都具有属性,以及与之相关的事件和方法.其中,属性是定义对象的特征或某一方面的行为.
18.在VFP中,组合框控件具有列表框控件和和文本框控件的组合功能.根据是否可以输入数据值,组合框可设置为下拉组合框或下拉列表框.(下拉组合框为0,可以输入字符。
下拉组合框为2,只能直接选择)
19.某表单如图1所示,用于用户登录(需要输入用户名和口令信息).该表单无控制图标和控制按钮,则表单的Controlbox属性值必定为.F.。
图1用户登录表单
设所有的用户名和口令信息均已存储在自由表KLB表(含有两个字符型字段"用户名"和"口令")中.完善命令按钮组(含两个命令按钮)Click事件代码,以实现:
当用户输入用户名和口令并单击"确定"按钮时,若用户名输入错误,则提示"用户名错误";
若用户名输入正确而口令输入错误,则提示"口令错误";
单击"取消"按钮则释放表单.
IFthis.value=1 &&单击"确定"命令按钮(此题中THISFROM应写成THISFORM)
IFNOTused(“klb”)
SELECT 0
USEklb
ELSE
SELECTklb
ENDIF
LOCATEFORALLTRIM(用户名)==ALLTRIM(THISFROM.Text1.Value)
IFFOUND()
IFALLTRIM(口令)==ALLTRIM(THISFROM.Text2.Value)
WAIT"欢迎使用!
"
THISFROM.Release
WAIT"口令错误!
else
WAIT"用户名错误!
"
20.对于图2所示的表单,当表单运行时,利用微调框(Spinner1)来调节形状控件(Shape1)的Curvature属性值,使形状控件的角的曲率发生变化.该表单上的标签控件显示为"曲率(R)",其Caption属性值应为曲率(\<
R).为了实现表单中"微调框控件的值发生变化时形状控件的角的曲率也随之变化"的功能,微调框控件(Spinner1)的Interactivechange事件代码为:
THISForM.Shape1.Curvature=THIS.Value
图2形状控件的曲率实验
21.页框对象是包含页面的容器对象.在默认情况下,一个页框对象包含两个页面对象,如果要修改页框对象所包含的页面对象数,则应该修改页框的pagecount属性值.
22.某表单运行时界面如图2所示,表单上有一个组合框控件combo1和表格控件grid1。
其中,组合框控件combo1的数据源类型是“文件”,数据源是”*.dbf“,运行时该组合框中显示当前路径下所有的表文件名。
图2
完善下列组合框控件combo1的InterActiveChange事件代码,其功能是:
当选中组合框中的某个表文件时,在表格中显示该表的所有记录。
(表头会出现一些问题,比如不能显示字段名,但将表格重调后,可以显示)
PUBLICx
x=ALLTRIM(THIS.Value)
CLOSETABLESALL
Use&
x
WITHTHISFORM.Grid1
.ColumnCount=fcount()
.RecordSourceType=2
.RecordSource=x
ENDWITH
23.已知教师表(JS.DBF)含有工号(gh,C,6)、姓名(xm,C,8)、性别(xb,C,2)、职称(zc,C,20)、系代号(xdh,C,2)等字段,系名表(XIM.DBF)含有系代号(xdh,C,2)、系名(ximing,C,20)等字段。
某表单运行时如图3所示,该表单的功能是查看各个系教师的名单,在列表框(List1)中选择一个系时,表格(Grid1)中显示出该系教师的工号、姓名、性别、职称,且表格中数据只读。
图3
根据图3所示的表单,填写表单、列表框和表格控件的下列有关属性值:
表单:
Caption=教师名单
列表框:
ColumnCount=2
表格:
RecordSourceType=1-别名
RecordSource=js
ReadOnly=.t.
24.某表单上有一个命令按钮控件,若单击该命令可以将表单的背景修改为绿色,则命令按钮的Click事件代码中包含命令:
THIS.parent.BackColor=RGB(0,255,0)。
25.在属性窗口中,有些属性的默认值以斜体显示,说明这些属性在设计时是只读的。
26、某表单中有一个列表控件list1和一个命令按钮控件cmd1,且该列表框已与成绩表(CJ.