一.选择题
1.在下列有关表单及其控件的叙述中,错误的是____A_________ 。
A.从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分
B.表格控件包含列控件,而列控件本身又是一个容器类控件
C.页控件的PageCount 属性值可以为0
D.表格控件可以添加到表单中,但不可以添加到工具栏中
2.对于许多控件来说,可以通过ControlSource 属性与数据绑定。在下列VFP 对象中,无ControlSource 属性的是
_____A________ 。
A.标签(Label )B.复选框(CheckBox )C.选项按钮组(OptionGroup )D.列表框(ListBox )3.若要将当前工作区中打开的表文件GZB.DBF 复制到GZB1.DBF 文件,则可以使用命令_____________ 。
A.COPY GZB.DBF GZB1.DBF B.COPY TO GZB1 REST C.COPY TO GZB1 STRU D.COPY TO GZB1
4.在下列有关VFP的类、对象和事件的叙述中,错误的是__B___。
A.对象是基于某种类所创建的实例,它继承了类的属性、事件和方法
B.基类的最小事件集包含Click事件、Load事件和Destory事件(init事件、destroy事件,error事件)
C.事件的触发可以由用户的行为产生,也可以由系统产生
D.用户可以为对象添加新的属性和方法,但不能添加新的事件
5.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的___C____属性值也随之发生变化。
A.Name
B.ControlSource
C.Value
D.Caption
6. 在下列几组 VFP 基类中,均具有ControlSource 属性的是 D 。
A.ListBox ,Lable ,OptionButton
B.ComboBox ,EditBox ,Grid (表格具有recordsource和recordsourcetype属性,但不具有controlsource属性)C.ComboBox ,Grid ,Timer
D.EditBox ,CheckBox ,OptionButton
7.下列关于表单数据环境的叙述中,错误的是 B 。
A.表单运行时自动打开其数据环境中的表
B.数据环境是表单的容器 (是表单中数据来源)
C.可以在数据环境中建立表之间的关系
D.可以在数据环境中加入视图
8.在默认的情况下利用表单设计器设计表单时,若从数据环境里将某个表的一个逻辑型字段用鼠标拖放到表单上,则在表单上添加的控件个数和控件类型分别是 D 。
A.2,标签和文本框B.2,标签和复选框C.1,文本框D.1,复选框
9.在下列各组控件中,均可与表中的数据绑定的控件是。
A.Combox、Grid和TextBox B.EditBox、Grid和Line
C.ListBox、Shape和OptionButton D.CheckBox、Separator和Command
10、在下列VFP基类中,无Caption属性的基类是________D______。
A、Lable
B、Optiongroup
C、Check
D、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、Valid b、Init
B、Destroy D、Lostfocus init-valid-lostfocus-destroy
没有caption属性的控件是
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.d2.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)的数据源设置如下:
RowSource Type 属性为:6-字段
RowSource 属性为:kc.kcdh。
在下拉列表框中选择某一课程代号后,表格控件(Grid1 )立即显示该课程所有学生的成绩,且在文本框(Text1 )中显示该课程的课程名,则应在下拉列表框的___InteractiveChange____事件中编写如下代码:
SELECT KC
ThisForm.Text1.Value=kc.kcm
ThisForm.Grid1.RecordSource=;
"SELECT cj.xh,cj.cj FROM cj WHERE cj.kcdh=ALLT(THIS.Vale)INTO CURStmp"(应为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
下列是选项按钮组的相关事件的事件代码,试完善下面的程序。
DO CASE
CASE This.Value=1
nJ="99"
CASE This.Value=2
nJ="00"
CASE This.Value=3
nJ="01"
CASE This.Value=4
nJ="02"
_______Endcase_______
SQL1='SELECT xs.xh,xm,kcm,cj'
SQL2='FROM xs,cj,kc'
SQL3='WHERE xs.xh=cj.xh AND cj.kcdh=kc.kcdh AND cj<60 '
SQL4='__and subs(xs.xh,1,2)=nj__'
SQL5='ORDER BY 4'
SQL6='INTO CURSOR temp'
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)
DO CASE
CASE THIS.Value =1
IF LEN(ch1)=0 OR LEN(ch2)=0
=MESSAGEBOX (“学号、姓名必须填写!”)
ELSE
Locate for zc.xh=ch1
IF !EOF()
=MESSAGEBOX (“此学生已注册,请重新输入!”)
ESLE
INSERT INTO zc(xh, xm) Values(ch1, ch2)
ENDIF
ENDIF
CASE THIS.Value=2
THISFORM.Text1.Value=“”
THISFORM.Text2.Value=“”
<1.setfocus_ && 使Text1 文本框得到输入焦点
CASE THIS.Value=3
THISFORM.RELEASE
ENDCASE
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论