admin 管理员组文章数量: 887021
2023年12月21日发(作者:流氓软件下载app大全免费不登录)
第五部分 表单、菜单、报表
一、选择题
1.在下列关于表格控件的叙述中,错误的是 D 。
A.表格是容器型控件,它包含列对象 .
B.表格的数据源若是表,则该表必须在表单的数据环境中
C.表格的数据源可以是表、别名、查询文件或SELECT-SQL命令
D.表格滚动条可以设置为不同类型
2.在下列几组控件中,均可直接添加到表单中的是( C )
dGroup、OptionButton、TextBox
、PageFrame、Grid
dButton、PageFrame、EditBox
x、Column、Header
3.设表单Form1上有一个命令按钮组CommandGroup1,命令按钮组中有两个命令按钮(分别:cmdl和cmd2)。若单击命令按钮Cmdl,可以将命令按钮Cmd2设置为废止状态,则在命令按Cmdl的Click事件中,应包含 ( A )命令(或功能与之等价的命令)。
d=.F.
d=.F.
d=.F.
d=.F.
4.在下列几组控件中,均具有ControlSource属性和Value属性的是( D )。
ame、EditBox、OptionGroup x、Label、CommandButton
x、Grid、ComboBox ox、Spinner、ComboBox
5.在下列有关表单及其控件的叙述中,错误的是( A )
A.对于表单(Form)来说,其大小(高度与宽度)没有限制
B.对于复选框控件(CheckBox)来说,其Value属性的默认值为0
C.对于形状控件(Shape)的Curvature属性来说,其取值范围为0—99
D.对于命令按钮组控件(CommandGroup)来说,其ButtonCount属性的默认值为2
6.在下列控件中,无ControlSource属性的是( C ) .
x
dGroup
ox
7.在下列关于表单及一些控件的叙述中,错误的是 B 。
A.用户可以为表单创建新的方法和新的属性,但不能创建新的事件
B.若将表单的ControlBox属性设置为.F,则表单无最大化、最小化按钮,但有关闭按钮
C.标签控件的Backstyle属性的默认值为0,即标签的背景为不透明
D.组合框控件可以设置为下拉组合框或下拉列表框,其区别在于:前者既可以输入数据、也可以在下拉列表中选择一个数据,而后者只能在下拉列表中选择一个数据
8.在下列控件中,无Value属性的是 C。
r
dButton
x
9.下列有关表单设计器和表单(集)的叙述中,错误的是___B___。
A.利用表单设计器可以创建和设计表单集
B.表单的最大设计区(即表单的大小,或者说分辨率)由系统决定,用户不可对其调整
C.利用"ActiveX控件(OleControl)"可以向表单中添加视频和声音对象
D.在默认情况下,表单的AutoCenter属性值为.F.
10.下列VFP基类中,均有ControlCount属性的是___D___
、TextBox、ListBox
、Page、Column
t、Form、PageFrame
、OptionGroup、CommandGroup
11.对于表单上的某文本框控件来说,下列事件中一定会发生的事件是___A___ .
us
12.下列命令中,语法正确的是 __D____
PROGRAM ?
MENU ?
QUERY ?
FORM ?
13.下列有关表单(集)及其控件的叙述中,错误的是___D___ 。
A.可以为表单添加新的属性、新的方法,但不能添加新的事件
B.可以向表单的数据环境中添加表和视图,但不可向数据环境中添加查询
C.利用表单设计器设计表单时,可以利用生成器设置文本框、命令按钮组等控件的部分属性
D.表单运行时,如果用户调整表单的大小,则其包含的控件也随之改变大小
14.下列VFP基类中,均有SetAll()方法的是___D___
、CommandGroup、TextBox
t、Column、ListBox
、Column、CommandButton
、PageFrame、CommandGroup
15.为表格控件指定数据源的属性是___B___
urce Source rce urce
16.若利用菜单设计器创建一个菜单后运行该菜单文件,则生成下列4个扩展名的相关文件。在这4个文件中,文件类型是文本文件且可以利用DO命令执行的是 C 。
17.可以用REPORT命令预览或打印报表。在下列有关该命令的叙述中,错误的是(A)
A.命令中必须指定报表的数据源
W选项指定以页面预览模式显示报表
Y选项指定只打印总计和分类总计信息
子旬指定打印条件,满足条件的记录被输出
18. 在下列有关报表设置的叙述中,错误的是( B )。
A.定义报表的两个要素是报表的数据源和报表的布局
B.报表的数据源只能是表
C.报表布局的常规类型有列报表、行报表、一对多报表等
D. 标签实质上是一种多列布局的特殊报表
19.报表可以有多种不同类型的带区,带区的类型决定了数据在报表上显示的位置。利用"报表设计器"创建新报表时,在默认情况下"报表设计器"显示( C )
A.1个带区 B.5个带区 C.3个带区 D.9个带区
20.假设当前工作目录中有一个报表文件abc,则可以预览该报表的命令是___A__
FORM abc PREVIEW
REPORT abc PREVIEW
REPORT abc PREVIEW
abc PREVIEW
21.在下列几组文件类型中,均可设置为项目主程序的是( A )
A.表单、菜单和.PRG程序 B.查询、菜单和表
C.项目、数据库和.PRG程序 D.表单、查询、报表
22.在下列与项目设置、连编等操作相关的叙述中,错误的是( B )
A.一个项目中只能设置一个主程序
B.在连编项目之前,必须将所有的文件设置为包含
C.将项目连编为可执行程序后,该可执行程序可以在不启动VFP的情况下执行
D.利用连编操作,可以将项目文件中的类信息连编成具有DLL文件扩展名的动态链接库
23.在下列与项目设置、连编等操作相关的叙述中,错误的是 D 。
A.在默认情况下,数据库与表在项目中处于排除状态,表单、菜单、程序处于包含状态
B.系统总是将第一个创建的且可以设置为主程序的文件设置为默认的主程序
C.在连编项目时,系统将检查是否存在语法错误
D.将项目连编为可执行程序后,项目中所有的文件将被编译在该可执行文件中
二、填空题
1.某表单上有一个文本框(text1)和一个命令按钮。单击命令按钮后,将随机产生12个2位的正整数,这些数存储在一个二维数组中,并且在文本框中显示(显示格式为3行4列,如图2所示)。
完善该命令按钮的Click事件代码:
DIMENSION x(3,4)
s=SPACE(0)
FoR i= 1T0 3
FOR j=1 T0 4
n=INT(90*RAND0+10)
x[ I,j ]=n
s=s+STR(n,4)
ENDFOR
s=s+CHR(13)
ENDFOR
=[ s ]
2.某”电子表"表单上分别有一个文本框(textl)、计时器(timerl)和命令按钮(cmdl)。计时器的Enabled属性值为.T.,Interval属性值为500,其Timer事件代码为:=DATETIME()命令按钮的标题为”关闭电子表"。若要单击命令按钮时标题在”关闭电子表"和”打开电子表"之间切换,且当标题为”打开电子表"时计时器停用(即文本框中显示的时间不随时间的变化而变化)、标题为”关闭电子表"时计时器启用,则可以将命令按钮的Click事件代码设置为:
n=IIF(n="关闭电子表","打开电子表”,”关闭电子表”)
d=IIF(n="关闭电子表",.f.,.t.)
3.数据库SJK中有DD(电子产品)表,其结构和部分记录如下表所示:以查询生产厂商所能推出的产品。表单上组合框(comb01)的数据源为生产厂商名称列表;列表框(1istl)的数据源类型是SQL语句。完善下列组合框的InterActiveChange事件代码,其功能是:在组合框中选定厂商后,在列表框中能立即显示该厂商提供的产品名称。
xx=ALLTRIM()
rce="SELECT cp FROM dd_[ 产品名称=xx ]INTO
CURSOR temp"
4.某表单的数据环境中有一个ZY(专业)表,该表有27条记录;表单上有3个文本框分别与专业表的专业代号、专业名称、学制字段绑定,另有一文本框(textl)用来显示物理记录号;表单上有一个计时器控件,其Interval属性值为1000,Timer事件代码如下:
IF EOF()
GOTO TOP
ELSE
SKIP
ENDIF
=RECNO()
h
若该表单最大化按钮不可用,最小化按钮和关闭按钮可用,则表单的[ maxbutton ]属性值为.F.;若文本框textl不能响应用户引发的事件,则其[ enabled ]属性值为.F.;当ZY表的记录指针位于记录结束标记处(即EOF()为.T.)时,文本框textl的Value属性值是[ 28 ] 。
5.根据Style属性的设置,组合框(ComboBox)可以分为:下拉组合框(当Style属性值为0时)和下拉[ 组合 ]框。(当Style属性值为2时)。它们的区别在于:前者既可以输入数据、也可以在下拉列表中选择一个数据,而后者只能在下拉列表中选择一个数据。
6.复选框(CheckBox)的Value属性值指定控件的当前状态,其取值可以为1、2或
[ 0 ] 三种,以表示不同的状态。
7.在设计报表时,可以使用系统变量[ _pageno ]在”页标头"或”页注脚"等带区中插入页码。
8.在VFP中,创建的新类可以被保存在 [ 类库 ] 文件中,其文件扩展名为VCX。
9.某菜单在运行时,其一菜单项显示为灰色(即菜单项为跳过),则此时该菜单项的”跳过"条件的逻辑值为[ .T. ]
10.下列程序代码是表单上文本框控件的KeyPress事件代码,其功能是:在文本框中键入字符串直至按回车键,则将其中的各个由连续汉字组成的字符串作为列表项,分别填入列表框
(1istl)中。
LPARAMETERS nKeyCode,nShiftAltCtrl
IF nKeyCode=13 &&按回车键
ns=SPACE(0)
s=ALLTRIM()+"a" &&末尾增加一个字母
FOR i=1 T0 LEN(s)
IF ASC(SUBS(s,i,1))>=128
ns=ns+SUBSTR(s,i,2)
[ i=i+1 ]
ELSE
IF !EMPTY(ns)
m(ns)
[ ns=space(0) ]
ENDIF
ENDIF
ENDFOR
ENDIF
11.在"表单设计器"中设计表单时,若从"数据环境设计器"中将某表的逻辑型字段拖放到表单中,则在系统默认情况下表单中将会增加一个[ 复选框 ]对象。
12.某表单上有一个文本框控件,若要该文本框的初值设置为当前系统日期,则可以在该文本框的Init事件代码中设置语句 [ =date() ] 。
13.对于组合框控件来说,要在组合框失去焦点前检验其值的有效性,可以在[ lostfocus ] 事件代码中写入相应的有效性检验代码。
14.在某单位设备管理系统中,数据库SBGL中有设备代码表和设备明细表,其结构如下:
宇段名 含义 字段类型及宽度
DM 设备代码 C(8)
PM 设备名称 C(20)
字段名 含义 字段类型及宽度
DM 设备代码 C(8)
DJ 单价 N(10.2)
某表单运行后如图1所示,其数据环境包含和表,表单上有2个文本框控件[ Textl和Text2 ]、4个标签控件[ Labell、Label2,Label3和Label4 ]、1个组合框控件(Combo1)和1个表格控件[ GridI ]。其中,文本框控件Textl和Text2均为只读;标签控件Labell、Label2、Label3、Label4的Caption属性值分别为“设备代码"、"总金额"、"平均价"和"设备明细表";表格控件的RecordSourceType属性值为4(SQL说明);组合框combo1的RowsourceType属性值为6[ 字段 ],Rowsource属性值为字段,其InteractiVeChange事件代码的功能是:
当选中组合框中某设备的代码时,表格(Gridl)中显示出该设备的设备代码、设备名称和单价的明细记录(注:每条记录的设备件数为1),文本框Textl和Text2分另别显示该设备的总金额和平均价,Label4被选设备名称和"设备明细表"字样。
根据以上所示的表单及要求,填写下列有关内容。
(1)文本框Textl和Text2的( readonly )值为.T.
(2)组合框(Combo1)的InteractiveChange事件代码如下:
cDm=ALLTRIM()
SELECT SUM().COUNT(*) FROM sbmx;
WHERE ALLT()=cDm INTO ARRAY cA
. ( recordsource ) ="SELECT AS 设备代码,;
AS 设备名称, AS 单价;
FROM sbgl!sbdm INNER JOIN sbgl!sbmx;
ON =;
WHERE ALLT()=cDm;
INTO CURSOR temp"
=cA(1,1)
=cA(1,1)/cA(1,2)
N=ALLTRIM(Sbdm.[ PM ]+"设备明细表"
15.图2为一个"计时器"表单,表单上有4个标签、4个文本框、1个计时器和2个命令按组,图2中(a)、(b)、c)、(d)分别为表单在表单设计器中设计时、运行开始时、开始计时时以及计时过程中、停止计时时显示的界面。计时器的Enabled属性值为.T.,Interval属性值为500。
(1)根据图2所示,表单的ControlBox、MaxButton和MinButton属性值应分别为[ .f. ];表单的左上角显示的控制图标为由文件提供,则表单的[ picture ])属性值为;表单运行时自动居中,则其(autocenter )属性值为.T.;表单上所有的文本框均不能响应用户事件,则它们的[ enabled ] 属性值为.F.。
(2)根据图2所示,表单及各控件的事件代码设置分别为:
表单的Init事件代码为:
PUBLIC [ ct1,ct2 ]
ctl='开始计时’
ct2='停止计时’
n=ct1
计时器的Timer事件代码为:
=DATETIME()
IF n=ct2
nTime=
nTime1=INT(nTime/60/60)
nTime=nTime-nTime1*60*60
nTime2=INT(nTime/60)
nTime=nTime-nTime2*60
THISFORM. [ text3 ]=STR(nTime1,3)+'时'+;
STR(nTime2,3)+'分'+STR(nTime,3)+'秒'
ENDIF
h
"开始计时"/"停止计时"命令按钮Click事件代码为:
IF n=ct1
n=ct2
=DATETIME()
= [ ]
[ d=.f. ]
N=ct1
=DATETIME()
ENDIF
h
"退出"命令按钮(标题为图片)Click事件代码为:
e
16.某"抽奖"表单上有2个标签、1个文本框、1个计时器、2个命令按钮和1个列表控件,其数据环境中有一自由表gztable,该表有两个字段:TEL(字符型,用于存储参与者的手机号码)和YN(逻辑型,其值为.T.时表示该参与者被抽中)。在表单设计器中设计表单时,表单运行后单击"开始"命令按钮,命令按钮标题改为"停止",且启用计时器控件使得文本框中循环显示gztable表中的手机号码,单击"停止"命令按钮时表单显示 (计时器控件废止)。
(1),"开始"命令按钮的标题为"华文行楷"字体,则其__Fontsize属性值应设置为"华文行楷";另一个命令按钮(即"退出"命令按钮)显示的图片由文件提供,应将其Caption属性设置为空、( picture )属性值为:计时器的初始状态为不启用,其 enabled 属性值应设置为.f.;若计时器启用时激发Timer事件的时间间隔为o.4秒,其Interval属性值应设置为 [ 400 ] 。
(2)根据图1和图2所示的表单,表单及各控件的事件代码设置分别为:
•表单的Init事件代码为:
lSource=[ tel ]
REPLACE ALL yn WITH .F.
GOTO TOP
"开始"命令按钮Click事件代码为:
IF n='开始'
LOCATE FOR !yn
d=.T.
n='停止'
ELSE
d=.F.
n='开始'
. additem()
REPLACE yn with .T.
ENDIF
h
• 计时器的Timer事件代码为:
CONTINUE
IF [ eof() ]
LOCATE FOR !yn
ENDIF
h
• "退出"命令按钮(标题为图片)的功能是将获奖名单复制到Excel文件中,然后关闭表
单。其Click事件代码为:
COPY TO 获奖名单 XLS FOR [ yn ]
e
17.基类的事件集合是固定的,不能进行扩充。基类的最小事件集包括[ load ]事件、Destroy事件和Error事件。
18.设有"列表框示例"表单。表单上有一个命令按钮控件(Command1)、两个标签控件和两个列表框控件(List1和List2),且两个列表框的数据源类型已分别设置为"结构"和"值"。单击命令按钮可以打开"打开"对话框以选择表文件,然后打开表文件、设置List1列表框的属性以显示表的结构(字段名),命令按钮的Click事件代码应为:
CLOSE TABLE ALL
cfile=GETFILE('DBF','文件名')
IF !FILE(cfile)
RETURN
ENDIF
USE &cfile
1. [ rowsource ]=ALIAS()
h
对于List1列表框来说,双击其中的某列表项可以将其添加到List2列表框,且从List1列表框中移去该项,List1列表框的DblCiick事件代码为
2. [ additem ] ()
THISFORM. [ list1. ]RemoveItem(dex)
19.设有用于"显示日期或时间"的表单.表单有一个计时器控件(Timerl)、一个文本框控件(Textl)和选项按钮组控件(Optiongroup1)。表单左上角的图标默认是VFP系统图标("狐狸头"),如果要更改该图标,应设置表单的_[ icon ]属性:表单上的文本框用于显示当前日期或当前时间(是显示日期还是显示时间,由选项按钮组决定);计时器控件根据选项按钮组和当前系统日期/时间,每秒更新文本框内容一次,则计时器控件的_[ timer ] 事件代码可设置为:
IF =1
THIS. [ parent. ]=DATE() &&对象引用采用相对引用
ELSE
=TIME()
ENDIF
h
20.在创建自定义工具栏时,一般先利用类设计器定义和设计工具栏类,然后将工具栏类添加到表单集中.在设计工具栏类时,"表单控件"工具栏上的[ 分隔符 ]控件不能添加到工具栏上。
应用程序中一般要包含启动事件循环的命令(语句)和结束事件循环的命令,且启动事件循环的命令(语句)通常包含在主程序中,该命令(语句)为[ read ]_EVENTS.
22.从开始运行表单到关闭表单,会发生一系列的表单事件(例如Load、Init、Destroy等).在这个过程中,最先引发的表单事件是[ load ]
23.设有一个"计时器"表单。表单上有1个计时器控件(Timer1)、4个标签控件、4个文本框控件(Text1、Text2、Text3和Text4)和一个命令按钮控件(Cmd1).表单右上角无最大化和最小化按钮,则表单的两个属性的值为.F.,这两个属性分别是[ maxbutton, minbutton ]_;表单运行时Text1文本框始终显示当前的系统时间(由计时器控件负责刷新时间,计时器的相关属性和事件代码已设置);在设计表单时,命令按钮的标题,其Caption值应为[ "开始(B)" ];表单运行后,第一次单击命令按钮,其标题由"开始(B)"变为"停止(B)",且Text2文本框显示当前时间,第二次单击命令按钮,其标题由"停止(B)"变为"退出(B)",且Text3文本框
显示当前时间、TEXT4文本框显示用时(Text3文本框的值减去Text2文本框的值).第三次单击命令按钮则关闭表单。命令按钮的Click事件代码应为:
DO CASE
CASE LEFT(n,4)='开始'
n='停止'+SUBS(n,5)
=Time()
CASE LEFT(n,4)='停止'
n='退出'+SUBS(n,5)
=Time()
=
CASE LEFT(n,4)='退出'
[ release ]
ENDCASE
图1
24.设有"表格控件示例"表单用于显示考试成绩表(KSCJ)数据,表单在设计时和运行时的界面分别如图2和图3所示。KSCJ表有三个字段,分别为考号(KH)字段、姓名(XM)字段和成绩(CJ)字段,其中KH和XM字段为字符型,CJ字段为数值型。表单上有一个命令按钮控件(Command1)、一个文本框控件(Text1)和一个表格控件(GrdKscj),KSCJ表已添加到表单的数据环境中,且已与表格控件进行数据绑定。为了使表格中显示的数据只读,可以设置表格控件的[ readonly ]属性值为.T.;为了使表格中的三个标头控件居中显示,可以在表格控件的Init事件代码中设置下列语句:
('Alignment',2,'[ 中间 ]’) &&Alignment属性值为2表示居中
Text1文本框用于输入一个针对KSCJ表进行记录选择的条件表达式。命令按钮的作用
是:单击该命令按钮,如果Text1文本框给出的字符串是一个有效的条件表达式,则表格中符合条件的记录的背景色用绿色显示(其它记录用白色背景色显示);如果Text1文本框给出的不是条件表达式,则返回:如果Text1文本框中无内容(为空或为空格字符串),则所有记录均用白色背景色显示。命令按钮的Click事件代码为
c=ALLTRIM()
IF LEN(c)=0
c='F'
ENDIF
IF TYPE('c')# [ ‘T’ ]
RETURN
ENDIF
('DynamicBackColor',;
'IIF('+c+',RGB(0,255,0),RGB(255,255,255))','Column')
GOTO TOP
h
25.在菜单设计器中设置某一菜单(项)的"结果",就是指定在选择该菜单(项)时发生的动作(即指定任务),可以设置的"结果"类型有命令、填充名称、[ 命令 ]和过程。
26.利用报表设计器设计报表时,报表设计区分为多个报表带区。系统规定最多有[ 9 ]种不同的报表带区,即标题、页标头、列标头、组标头、细节、组注脚、列注脚、页注脚和 [ 总结 ]带区。
28.若要在报表的每一页打印页码,可以在报表的页标头或页注脚带区中加入含有
[ _pageno ](系统变量)的域控件。
29.主程序是一个应用系统运行时的起点,在连编项目之前一般要确定主程序.对于程序、菜单、表单、报表、查询来说,不能设置为主程序的是[ 报表 ]。
版权声明:本文标题:第五部分 表单 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703144979h439822.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论