VFP复习题第6章
vfp6考试题及答案

vfp6考试题及答案一、选择题(每题2分,共20分)1. 在Visual FoxPro中,以下哪个选项是正确的数据类型?A. IntegerB. StringC. DateD. All of the above答案:D2. Visual FoxPro中,用于创建表单的命令是?A. CREATE TABLEB. CREATE FORMC. CREATE DATABASED. CREATE VIEW答案:B3. 在Visual FoxPro中,以下哪个函数用于计算字符串的长度?A. LENB. LENGTHC. STRLEND. SIZE答案:A4. 如果要在Visual FoxPro中打开一个表单,应该使用哪个命令?A. DO FORMB. OPEN FORMC. DISPLAY FORMD. RUN FORM答案:A5. 在Visual FoxPro中,以下哪个命令用于排序记录?A. SORTB. ORDER BYC. INDEXD. ALL OF THE ABOVE答案:D6. Visual FoxPro中,以下哪个选项不是数据库对象?A. 表B. 视图C. 表单D. 索引答案:C7. 在Visual FoxPro中,以下哪个命令用于查找记录?A. SEEKB. FINDC. LOCATED. ALL OF THE ABOVE答案:D8. Visual FoxPro中,以下哪个函数用于获取当前日期?A. DATE()B. TODAY()C. NOW()D. BOTH A AND B答案:D9. 在Visual FoxPro中,以下哪个命令用于删除表单?A. DELETE FORMB. REMOVE FORMC. CLOSE FORMD. DESTROY FORM答案:D10. Visual FoxPro中,以下哪个选项是正确的字段类型?A. NumericB. CharacterC. MemoD. All of the above答案:D二、填空题(每题2分,共20分)1. 在Visual FoxPro中,使用________命令可以创建一个新的数据库。
vfp第六章 表单 第七章控件

第六章表单的创建与使用6.1 面向对象程序设计概述1. 基本概念 P161-165面向对象的程序设计是通过对类、子类和对象等的设计来体现的,类是面向对象程序设计技术的核心。
类:定义了对象特征以及对象外观和行为的模板。
类的特征:1)封装性:隐藏了类中对象的内部数据或操作细节,只看到外表信息。
2)继承性:任何类都可以从其它已有的类中派生,新类保持了父类中的行为和属性,但增加了新的功能。
体现了面向对象设计方法的共享机制。
3)多态性:相同的操作可作用于多种类型的对象上,并获得不同的结果。
4)抽象性:提取一个类或对象与众不同的特征,而不对该类或对象的所有信息进行处理。
基类:系统本身提供的类称为基类。
基类包括容器类和控件类。
容器类是其他对象的集合,如表格、选项按钮组;控件类是单一的对象,不包含其他对象,如命令按钮、文本框。
子类:以其他类定义为起点,对某一对象所建立的新类。
新类将继承任何对父类所做的修改。
类库:存储类的文件,每一个以可视方式设计的类都存储在一个类库中。
类库文件的扩展名为 .VCX 。
P216对象:是类的一个实例,包括了数据和过程。
具有所在类所定义的全部属性和方法。
VFP有两种对象:容器对象和控件对象。
属性:控件、字段或数据库对象的特性。
事件:由对象识别的一个动作。
方法:与对象相联系的由程序执行的一个处理过程,即处理事件的一组代码。
用户不可以为对象创建新的事件,但可以创建新的方法程序。
2. Visual FoxPro 基类 P166从下述 Visual FoxPro 基类中,可以派生子类或创建对象。
容器命令组控件微调标签表单命令按钮复选框OLE 容器控制线条表单集选项组列表框OLE 绑定型控制分隔符 # 表格选项按钮 # 文本框自定义形状标头 # 页框组合框工具栏图象列 # 页面 # 编辑框计时器注:# 这些类是父容器的集成部分,在类设计器中不能子类化。
基类事件的最小集合 P167事件说明Init 当对象创建时激活。
VF 第六章、表单

6
7 8 9
ControlBox
MaxButton MinButton
决定是否有控制图标和控制按钮
决定表单是否具有最大化按钮 决定表单是否具有最小化按钮
WindowType 决定表单是无模式表单还是模式表单,如果表单是模式 表单,用户在访问应用程序其他单元前,必须关闭这个 表单
6.2
案例1
创建表单
序号 1 属性
Value
说明
默认情况下,命令按钮组中的各个按钮被自动赋予了一 个编号,如1,2,3,等,当运行表单时,一旦用户单 击某个按钮,则Value将保存该按钮的编号,于是在程序 中通过检测Value的值,就可以为相应的按钮编写特定的 程序代码。如果在设计时,给Value赋予一个字符型数据, 当运行表单时,一旦用户单击某个按钮,则Value将保存 该按钮的Caption属性值 命令按钮组包含按钮的个数 用于存取命令按钮组中每个命令按钮的数组,代码中可 以通过该数组访问命令按钮组中的各个按钮.
6.2
创建表单
表单属性窗口中可以 设置表单及其控件的各个 属性。
6.2
创建表单
表单常用的属性
序号 1 属性 Caption 说 决定表单标题栏显示的文本 明
2
3 4 5
Name
AutoCenter BackColor Closable
表单的名称
决定表单初始化时是否居中 决定表单背景颜色 决定能否通过双击窗口菜单图标来关闭表单
6.1
面向对象的基本概念
• 面向对象设计的原则
–封装
–继承 –多态
看不到我体内有什么器官吧?!
我和我父亲像吧?!
但也有不同吧?!
6.1
面向对象的基本概念
VFP考试复习资料

VFP程序题目有一个数列前两个数是1,1,第三个数是前两个数之和,以后每个数都是其前两个数之和,求第30个数(用FOR语句编程)。
F1=1 F2=1 ?F1 ?F2 FOR I=3 TO 30F3=F1+F2 ?F3 F1=F2F2=F3 ENDFOR1.求从开始连续N个不是7的倍数的自然数之和,当和是101的倍数时,显示最后的自然数和它们的和。
CLEAR STORE 0 TO X,S DO WHILE .T.X=X+1 IF MOD(X,7)<>0 S=S+X ELSEIF MOD(S,101)=0 EXIT ENDIS=0 ENDI ENDDO?S,X-12.求s=1!+2!+3!+ (20)CLEAR S=0 STORE 1 TO X,Y DO WHILE X<=20S=S+Y X=X+1 Y=Y*X ENDD ?S3.求3~1000间的所有素数,并输出和值。
S=0 FOR I=3 TO 1000 FOR K=2 TO I-1IF MOD(I,K)=0 EXIT ENDIFENDFOR IF K=I ??STR(I,5) S=S+IENDIF ENDFOR ?S4.编程实现以下功能,打开一学生数据表,显示前三条记录后暂停程序运行,按任意键后显示后三条记录。
USE 学生LIST NEXT 3 WAIT GO BOTTOMGO RECNO()-2 (或skip -2)LIST NEXT 3 USE5.计算M=2×4×6×……×2N,N由键盘输入,程序最后输出N、M的值。
INPUT “请输入N的值” TO N M=1FOR X=2 TO 2*N STEP 2M=M*X ENDFOR ? “N=”,N,”M=”,M6.求3—100间的奇数之和,偶数之和,并统计奇数和偶数的个数。
STORE 0 TO S1,S2,Y1,Y2 FOR X=3 TO 100IF MOD(X,2)=0 S1=S1+X Y1=Y1+1ELSE S2=S2+X Y2=Y2+1 ENDIF ENDFOR?“偶数之和及偶数的个数:”,S1,Y1?“奇数之和及奇数的个数:”,S2,Y27.逆打印。
VF作业

作业:
第一章P21 一、选择题1、2、4、6、7
二、填空题3、4、5
三、思考题2
第二章P42 一、选择题1、2、6、7、8、11、12
二、填空题1、2、3
第三章P99 一、选择题2、11、12、15、19、25、37
二、填空题2、5
第四章124 一、选择题3、4、5、6
二、SQL语句练习(课堂上所做的学生管理数据库SQL语句练习)第五章P142 一、选择题2、6、7、8、10
二、填空题1、2、3
第六章P167 一、选择题1、2、4、6、9、10
二、填空题1、2
三、实践题3--使用循环编写程序1!+2!+3!+ (10)
会计1班,完成实验1、实验2、7
会计2班,完成实验3、实验4、7
工业工程,完成实验5、实验6、7
实验报告格式:
实验名称:常量、变量、数组、函数和表达式
实验目的:掌握常量、变量、数组、函数和表达式的应用。
实验设备:计算机一台
实验学时:2学时
实验日期:3.11
实验内容和步骤:。
visual foxpro第六章sql知识点

••ຫໍສະໝຸດ 第六章 关系数据库标准语言 sql
• 1.sql的语言动词:数据查询select 数据定义create drop alter 数据操纵insert update delete 数 据控制grant revoke 2.简单查询:select all、distinct 选项 as 显示列名from 数据库名 where条件1and、or条件2 【all输出所有记录,包括重复记录,distinct可去掉重复记录。 *可表示全部字段。】 3.几个特殊运算符 a.确定范围运算符(not)between下界表达式and上界表达式.。b.字符 匹配运算符:字段名 like 字符表达式(字符类型必须是字符型).通配符:%表示任意长度的字符 串.-表示任意一个字符.注意:在vfp中,一个汉字用一个字符-表示.c.空值运算符is null is not null 4.连接查询:select查询列from表一join表2on连接条件and查询条件. 5.嵌套连接:selectfrom-where(select-from-where) 6.排序:order by asc(升序)desc(降序)默认值为升序, 位于其他字句之后. 7.合并查询:union. Select命令1.【union【all】select命令2】 8.计算与分 组查询:avg按列计算平均值 sum按列计算值总和 count(*)按列统计个数 min求一列最 小值 max求一列最大值 9.round(m,n) N为保留小数个数 10.分组group by having count (*) 11.查询结果处理 a.放到永 久表into dbf表名 table表名 b. 放到临时文件:into cursor文件名 c.放到文本文件:to file d.放到数组:into array 12.数据定义功能a.建立表结构creata table b.create database建 立数据库 b.修改表结构:alter table +add字段+alter字段+drop字段+rename修改字段名 c. 增加字段时定义数据完整性alter table表名 add字段 check 逻辑表达式 d.修改字段时定义数据完 整性 alter table表名 alter字段set check逻辑表达式 11.删除表:drop table表名 13.数据操纵 功能 a.插入记录insert into 表名 values表达式 b.修改记录update 表名 set字段名 where逻 辑表达式 c.删除记录:delete from表名 where条件(没有从物理删除)
VFP 第6章

目录
上一张
结束
3.WAIT命令 . 命令 WAIT [ <字符表达式>] [TO <内存变量>]
功能:该命令显示字符表达式之值作为提示信息,暂停程序的执行 ,直到用户按任意键或单击鼠标时继续程序的执行。 说明:
如果 <字符表达式>值为空串,那么不会显示任何提示信息。如果没 有指定 <字符表达式>,则显示默认的提示信息:“按任何键继续...”。 <内存变量>用来保存用户键人的字符,其类型为字符型。
INPUT “请输入货物重量:” TO w IF w<=50 f=w*0.1 ELSE f=50*01+(w-50)*0.2 ENDIF ? “托运费为:”,f 目录 上一张 结束
&&货物重量超过50公斤时的计算公式 &&货物重量没有超过50公斤时的计算公式
用单分支选择编写YH2.prg程序如下:
VFP的结构化程序设计 第6章 VFP的结构化程序设计
6.1 程序与程序文件 6.2 程序的基本结构 6.3 模块化程序设计 本章要点
目录
上一张
结束
前面各章都是以交互方式,即在命令窗口中逐条输入命 令或通过选择菜单来执行Visual FoxPro命令的。除此之外, 常常采用程序的方式来完成更为复杂的任务。 VFP程序设计包括结构化程序设计和面向对象程序设计。 前者是传统的程序设计方法;后者面向对象,用户界面可利 用VFP提供的辅助工具来设计,应用程序可自动生成,但是 仍需用户编写一些过程代码。就此而言,结构化程序设计仍 是面向对象程序设计的基础。
,若无上级程序则返回命令窗口。 ④ QUIT:退出Visual FoxPro系统,返回到操作系统。
VFP复习总结(5-9章)

第6章 SQL语言的应用
SQL(Structured Query Language,结构 化查询语言)语言是集数据定义、数据查 询、数据操纵和数据控制功能于一体的语 言。
一、数据定义
数据定义语言由CREATE、DROP和 ALTER命令组成。这3个命令关键字针对不 同的数据库对象分别有3个命令。例如针对 表对象的3个命令是建表结构命令CREATE TABLE、修改表结构命令ALTER TABLE和 删除表命令DROP TABLE。
1.格式输出语句(@ 语句)
语句格式: @ <行,列> Say <表达式> 语句功能: 在指定的<行,列>位置输出<表达式>的值。 2.清屏语句 语句格式:Clear
单向分支
• 语句格式: IF <条件表达式> <命令行序列> ENDIF
双向分支
语句格式: IF <条件表达式> <命令行序列1> ELSE <命令行序列2> ENDIF
查询和视图的主要区别是:
(1)视图必须在数据库中建立,离开数据库 就失去了数据来源,脱离数据库的视图是 没有意义的;而查询可以脱离数据库以独 立的文件形式存在。 (2)查询的结果可以以多种的形式输出,而 视图只能以虚拟表的形式浏览和使用。 (3)查询只能从数据库中读取数据,不能修 改原始数据;而视图可以修改更新数据库。
பைடு நூலகம்
第9章 结构化程序设计
• 程序文件的执行
1.用DO命令调用 格式:Do <程序文件名> 2.用菜单调用 操作:程序运行选文件运行
3.用工具按钮调用
操作:打开程序文件单击工具栏的“运行”按钮
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章一、填空共64题(共计64分)利用ShowWindows属性和Desktop属性,可以将表单设置为【顶层表单】、浮动表单或子表单.如图所示的表单用于浏览教师( JS )信息.为了在表格控件中以不同的背景色显示男、女教师的信息,则在表格控件的Init 事件代码中,可使用如下形式的语句:This.【Setall】("DynamicBackcolor","IIF(xb='女',RGB(125,125,125),;RGB(125,125,125))", "Column")表单中下拉列表框的RowSourceType 属性为" 6- 字段",数据源为系名代码表(表的文件名为xmdm.dbf, 含系代码( xdm )和系名( xim )两个字段),为了使下拉列表中显示系代码和系名两列数据,则RowSource 属性值为: xmdm.xdm,【xim】. 标签控件是用以显示文本的图形控件.标签控件的主要属性有:Caption属性,BackStle属性,AutoSize属性以及WordWrap属性等.其中WordWrap属性的功能是【自动换行】.设Labell 是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,可以在该表单的Init事件代码中使用语句THISFORM.【Label1.Caption】=TTOC(DATETIME())来实现.某表单Form1上有一个命令按钮组Cmg,其中有两个命令按钮(分别为Cmd1和Cmd2),要在Cmd1的Click事件代码中设置Cmd2不可用,其代码为【THIS.parent.Cmd2.ENABLED=.F.】. 学生注册表单(forml)如图所示,该表单中含有3个标签、2个文本框(Text1和Text2),1个命令按钮组(包含3个按钮),其功能是对学生信息进行注册:1)如在学生注册(ZC)表中已存在某学生的记录(学号已经存在),说明该学生已注册过;若没有,则进行注册,即将该学生信息存入学生注册表;2)进行注册时(即按"确认"按钮时),学生和姓名不能为空.表单是一个容器型控件,其集合属性为Controls,计数属性为ControlCount.此表单的ControlCount 属性值为【6】.根据表单的功能要求,完善下列命令按钮组的Click事件代码:ch1=ALLT(THISFORM.Text1.Value)ch2=ALLT(THISFORM.Text2.Value)DO CASECASE THIS.Value =1IF LEN(ch1)=0 OR LEN(ch2)=0=MESSAGEBOX ("学号、姓名必须填写!")ELSE【Loca 】for zc.xh=ch1IF !EOF()=MESSAGEBOX ("此学生已注册,请重新输入!")ElseINSERT INTO zc(xh, xm) Values(ch1, ch2)ENDIFENDIFCASE THIS.Value=2THISFORM.Text1.Value=""THISFORM.Text2.Value=""【Thisform.Text1.setfocus】&&使Text1 文本框得到输入焦点CASE THIS.Value=3THISFORM.RELEASEENDCASE对于组合框控件来说,要在组合框失去焦点前检验其值的有效性,可以在【valid】事件代码中写入相应的有效性检验代码.某表单上有一个表格控件,其列数为7,若要使其第3—7列的标头(Header)的标题依次显示为: 成绩1,成绩2,成绩3,成绩4,成绩5,则可在表格的Init事件处理代码中包含下列程序段: For I=3 To 7This.【Columns(i)】.Header1.Caption="成绩"+【STR(i-2,1)】EndFor引用当前表单的关键字是【thisform】发设某表单Form1中有一表格控件Grid1,如果要将该表格控件中所有列对象中的BackColor属性设置为红色,可以使用下列命令:ThisForm.Grid1.【SETA】('BackColor',RGB(255,0,0),'Column')将文本框对象的【Readonly】属性设置为"真",表单运行时,该文本框可以获得焦点,但文本框中显示的内容为只读.设某表单的背景色为浅蓝色,该表单上某标签的背景色为黄色,当该标签的Backstyle属性值设置为0(透明),运行该表单时该标签对象显示的背景色为【浅蓝色】.独立的、无模式的、【无父】表单称为顶层表单.在表单中,一个OLE绑定型控件利用表中的【通用】型字段显示一个OLE对象.对于如图所示的表单,当表单运行时,利用微调框(Spinnerl)Curvature来调节形状控件(Shapel)的Curvature属性,使形状控件的角的曲率发生变化.根据Curvature属性的取值范围的限定,微调框(Spinner1)的SpinnerLowValue属性值和SpinnerHighvalue属性值应该分别为0和【99】.当形状控件(Shape1)为椭圆时,微调框(Spinner1)的Value值应为【99】.设某命令按钮的标题显示为"确定(Y)"(注Y上有下划线),即该按钮访问键位<Alt>+<Y>,则其Caption属性值应设置为【确定(\<Y)】.设某表单(Form1)上有一个文本框(Text1)和一个命令按钮(Command1).该表单运行时,单击命令按钮Command1,则文本框Text1中显示该表单数据环境的Name属性值.由此,命令按钮Command1的Click事件程序代码中必须写入的命令为:ThisForm.【TEXT1.VALUE】= 若某表单上包含一个页框控件,页框上包含的页面数是未知的(或者说是动态变化的),则在刷新表单时为了刷新页框中的所有页面,可在页框的Refresh方法中包含如下的代码: For I=1 To this.【PageCount】This.Pages[i].RefreshEndFor文本框控件的【PasswordChar】属性设置为" * "时,用户键入的字符在文本框内显示为" * ",但Value 属性中仍保存键入的字符串.在事件代码中相对引用当前表单集的关键字是【Thisformset】.Grid、Text、CommandGroup、Column是VFP系统中的对象,它们当中不能直接加到表单中的对象是【Column】.在"表单设计器"中设计表单时,如果从"数据环境设计器"中将表拖放到表单中,则表单中将会增加一个【表格】对象,如果从"数据环境设计器"中将某表的逻辑型字段拖放到表单中,则表单中将会增加一个【复选框】对象.如果要将某选项按钮组上的按钮设置为5个,应把选项按钮组的【ButtonCount】属性值设定为5.某表格上有一个命令按钮,该命令按钮的Click 事件过程代码中含有一条命令,可以将该表单中的页框Pg1的活动页面改为第三个页面,该命令为:ThisForm.Pg1.【ACTIVEPAGE】=3复选框(CheckBox)的Value属性值指定控件的当前状态,其取值可以为1、2或【0】三种,以表示不同的状态.文本框控件的【PASSWORDCHAR】属性设置为"*"时,用户键入的字符在文本框内显示为"*", 但属性Value中仍保存键入的字符串.页框对象是包含页面的容器对象.在默认情况下,一个页框对象包含两个页面对象,如果要修改页框对象所包含的页面对象数,则应该修改页框的【pagecount】属性值.容器型对象表格所包含的对象是【列】表格控件可以设定特殊格式,使得用户更容易浏览表记录.如果要将表格的第三列(Column3)的前景色设为用红色显示不及格的成绩(字段名为cj),用蓝色显示及格的成绩,可以在表格的Init 事件中包含如下代码:This.Column3.DynamicForeColor ='【IIF(CJ<60,RGB(255,0,0),RGB(0,0,255))】'VFP有两种对象:容器对象和控件对象。
选项按钮组是【容器】对象,它的Value属性表明用户选定了哪个按钮,假定现有一个选项按钮有六组选项按钮,该选项按钮组的Controlsource属性值是一个整型字段,如果用户选择了第四个按钮,则选项按钮组的Value属性值为【4】.某表单的数据环境中有一个ZY(专业)表,该表有27条记录;表单上有3个文本框分别与专业表的专业代号、专业名称、学制字段绑定,另有一文本框(textl)用来显示物理记录号;表单上有一个计时器控件,其Interval属性值为1000,Timer事件代码如下:IF EOF()GOTO TOPELSESKIPENDIFTHISFORM.Textl.Value=RECNO()THISFORM.Refresh若该表单最大化按钮不可用,最小化按钮和关闭按钮可用,则表单的【MaxButton】属性值为.F.; 若文本框textl不能响应用户引发的事件,则其【Enabled】属性值为.F.;当ZY表的记录指针位于记录结束标记处(即EOF()为.T.)时,文本框textl的Value属性值是【28】.某表单上有一个表格控件,其列数为7,若要使第3~7列的标头(Header)的标题依次显示为成绩1、成绩2、成绩3、成绩4、成绩5,则可在表格的Init 事件处理代码中包含下列程序段.FOR i = 3 To 7This.【Columns(i)】.Header1.Caption ="成绩" +【Str(I-2,1)】ENDFOR所有容器对象都具有与之相关的记数属性和集合属性,其中【集合】属性是一个数组,可以用以引用其包含在其中的对象.某表单上有一个文本框控件,若要该文本框的初值设置为当前系统日期,则可以在该文本框的Init事件代码中设置语句【this.value=date()】某表单(frml)上有一个列表框(List1)、一个文本框(Text1)和一个命令按钮(Command1,其Caption属性为"添加").请完善命令按钮的Click事件代码以实现以下功能:在文本框Text1中输入字符串,如果该字符串在列表框中不存在,就将该字符串插入到列表框中,否则弹出对话框给出信息提示"该字符串已经存在,请重新输入".运行表单时参考界面如图所示.flag=0FOR n=1 TO THISFORM.List1.【ListCount】IF THISFORM.List1.List(n)=thisform.【Text1.Value】flag=1ENDIFENDFORIF flag=0Thisform.List1.【AddItem】(THISFORM.text1.Value)ELSEMESSAGEBOX("改字符串已经存在,请重新输入")ENDIF在某表单运行时,表单上某个命令按钮的标题是灰色的,不能响应用户事件,则该命令按钮此时【ENABLED】属性值一定为.F..在VFP中,利用可是化开发工具(表单设计器)创建表单和对象.通过对对象属性的修改、方法程序的调用来处理对象.相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或【事件】处理代码中使用.某城市机动车驾驶员登记表( JDCJS )中含有驾驶证号( jzh )等字段.但由于录入人员的差错,包含了一些重复的记录( jzh 字段的值有重复),影响了统计结果.完善下列程序,使其可以物理删除该表中的重复数据.【程序清单】USE JDCJSINDEX ON jzh TAG jzh &&相同的驾驶证号记录将相邻排列GO TOPlast_jzh=jzhSKIPDO WHILE !EOF()IF jzh=last_jzhDELETEELSE【last_jzh=jzh】ENDIFSKIPENDDOPACK设某表单上有一个页框控件,该页框控件的PageCount 属性值在表单的运行过程中可变(即页数会变化).如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的Refresh 事件代码中使用语句:This.【ActivePage】= This.PageCount第40题(1.0分)题号:141编辑框的用途与文本框相似,但编辑框除了可以编辑文本框能编辑的字段类型以外,还可以编辑【备注】型字段.某"电子表"表单上分别有一个文本框(textl)、计时器(timerl)和命令按钮(cmdl).(1)计时器的Enabled属性值为.T.,Interval属性值为500,其Timer事件代码为: THISFORM.Textl.Value=DATETIME()(2)命令按钮的标题为"关闭电子表".若要单击命令按钮时标题在"关闭电子表"和"打开电子表"之间切换,且当标题为"打开电子表"时计时器停用(即文本框中显示的时间不随时间的变化而变化)、标题为"关闭电子表"时计时器启用,则可以将命令按钮的Click事件代码设置为:THIS.Caption=IIF(THIS.Caption="关闭电子表","打开电子表","关闭电子表")THISFORM.Timerl.Enabled=【!ThisForm.Timer1.Enabled】某表单如图所示,用于用户登录(需要输入用户名和口令信息).该表单无控制图标和控制按钮,则表单的【Controlbox】属性值必定为.F..设所有的用户名和口令信息均已存储在自由表KLB 表(含有两个字符型字段"用户名"和"口令")中.完善命令按钮组(含两个命令按钮) Click 事件代码,以实现:当用户输入用户名和口令并单击"确定"按钮时,若用户名输入错误,则提示"用户名错误";若用户名输入正确而口令输入错误,则提示"口令错误";单击"取消"按钮则释放表单.IF 【this.value】=1 &&单击"确定"命令按钮IF NOT 【used("klb")】SELECT 0USE klbELSESELECT klbENDIFLOCATE FOR ALLTRIM(用户名)== ALLTRIM( THISFROM.Text1.Value )IF FOUND()IF ALLTRIM (口令)== ALLTRIM ( THISFROM.Text2.Value )WAIT "欢迎使用!"THISFROM . ReleaseELSEWAIT "口令错误!"ENDIF【else】WAIT "用户名错误!"ENDIFELSE &&单击"取消"命令按钮THISFROM . ReleaseENDIF如果要把一个文本框对象的初值设置为当前日期,则在该文本框的Init事件中设置代码为【This.value=DATE()】.某表单上分别有一个标签Labell、文本框Textl、命令按钮组CommandGroupl和计时器Timerl 在设计时,计时器的Interval属性值已设置为500、Enabled属性值已设置为.F.(即不可用),且已为计时器的Timer事件设置了事件处理代码,其功能是使文本框显示当前的系统日期与时间.命令按钮组中包含3个命令按钮,依次为"启用"、"暂停"和"退出",其功能分别为启用计时器控件、不启用计时器控件和关闭表单,完善命令按钮组的click事件代码:Do CaseCase This.Value=1This.【PARENT】.Timer.Enabled=.T.Case This.Value=2ThisForm.Timer1.Enabled=.F.Case This.Value=3【THISFORM.Release】ENDCASE根据控件与数据源的关系,表单中的控件可以分为两类:与表或视图等数据源中的数据绑定的控件和不与数据绑定的控件,前者为【数据绑定】型控件.在VFP 中,组合框控件具有列表框控件和和文本框控件的组合功能.根据是否可以输入数据值,组合框可设置为下拉组合框或【下拉列表框】.形状控件(Shape)的Curvature属性用于控制其曲率,其取值范围为从0到【99】.根据Style属性的设置,组合框(ComboBox)可以分为:下拉组合框(当Style属性值为0时)和下拉【列表】框.(当Style属性值为2时).它们的区别在于:前者既可以输入数据、也可以在下拉列表中选择一个数据,而后者只能在下拉列表中选择一个数据.计时器是用来处理复发事件的控件.该控件正常工作的三要素是:Timer事件、Enabled属性和【interval】属性.复选框控件可以为三种状态,其Value属性值分别.F.或.T.或【.NULL.】.某表单运行时界面如图所示,表单上有一个组合框控件Combo1和表格控件Grid1.其中,组合框控件Combo1的数据源类型是"文件",数据源是"*.DBF",运行时该组合框中显示当前路径下所有的表文件名.完善下列组合框控件Combo1的InteractiveChange事件代码,其功能是:当选中组合框中的某个表文件时,在表格中显示该表的所有记录.PUBLIC xx=ALLTRIM(This.Value) &&取得选中的值CLOSE TABLES ALL【USE &X】WITH Thisform.Grid1.ColumnCount=【-1】.RecordSourceType=2 &&设定表格的数据源类型是别名. RecordSource=【alia()】ENDWITH对于表单的Load、Activate和Init这三个事件来说,【load】事件的处理代码中不能引用表单中的对象,【Activate】事件最后一个被触发.表格(Grid)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似,表格最常见的用途之一是显示一对多关系中的子表.在默认情况下,表格控件包含列控件,列控件又包含列标头控件和【数据绑定】控件.设某表单上包含一个文本框控件,若要使该文本框获得焦点时能自动选中其中的所有文本, 可在文本框的GotFocus事件中包含下面几行代码:TextBox::GotFoCusThis.SetStart=【0】This.SelLength=Len(AllTrim(This.Value))在表单中要使控件成为可见的,应设置控件的【Visible】属性值为.t..某表单上有一个文本框(text1)和一个命令按钮.单击命令按钮后,将随机产生12个2位的正整数,这些数存储在一个二维数组中,并且在文本框中显示(显示格式为3行4列,如图所示).完善该命令按钮的Click事件代码:DIMENSION x(3,4)s=SPACE(0)FoR i= 1 to 3FOR j=1 to 4n=INT(90*RAND()+10)x(【i,j】)=ns=s+STR(n,4)ENDFORs=s+CHR(13)ENDFORTHISFORM.Text1.Value=【s】对于如图所示的表单,当表单运行时,利用微调框(Spinner 1)来调节形状控件(Shape 1)的Curvature 属性值,使形状控件的角的曲率发生变化.为了实现表单中"微调框控件的值发生变化时形状控件的角的曲率也随之变化"的功能,微调框控件(Spinner1 )的【Interactivechange】事件代码为:THISForM.Shape1.Curvature=THIS.Value表单中有一个命令按钮,当点击该按钮时,调用表单对象的刷新方法程序,相关命令代码是:this.【pare】.【refr 】已知有三张表:学生表( XS )、课程表( KC )和成绩表( CJ ),其表结构如图所示.有一个表单如图所示,其左边是一个选项按钮组( Optiongroup1 ),右边是列表框( List1 ).该表单的功能是:在选项按钮组中选择一个年级(学号的前两位表示年级),列表框将显示出该年级所有课程不及格的学生的学号、姓名、课程名称和成绩. 下列是选项按钮组的相关事件的事件代码,试完善下面的程序.DO CASECASE This.Value=1nJ="99"CASE This.Value=2nJ="00"CASE This.Value=3nJ="01"CASE This.Value=4nJ="02"【ENDC】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 left( xh,2)=nj】'SQL5='ORDER BY 4'SQL6='INTO CURSOR temp'SQLSELECT =SQL1+SQL2+SQL3+SQL4+SQL5+SQL6ThisForm.List1.RowSourceType=3ThisForm.List1.RowSource=【SQLSELECT】ThisForm.List1.Requery设某表单上包含一个文本框控件,若要使该文本框获得焦点时能自动选中其中的所有文本, 可在文本框的GotFocus事件中包含下面几行代码:TextBox::GotFocus &&操作符::用来从子类方法中执行父类的方法This.SelStart=【0】This.SelLength=LEN(ALLTRIM(This.Value))注:SelStart属性指定选定文本的起始点,若没有选定文本,则表示插入点(即光标)的位置(该设置的有效范围从0到控件编辑区域中字符的总数);SelLength属性指定被选择的字符数(该设置的有效范围从0到控件中字符的总数,小于0将导致运行错误).对于数据绑定型控件,通过对【controlsource】属性的设置来绑定控件和数据源.在VFP中,组合框控件类似于列表框控件和文本框控件的组合.根据是否可以输入数据值,组合框为下拉框组合框和【下拉列表框】两种.某数据库中包含课程( KC )表和成绩( CJ )表,课程表中含有课程代号( kcdh )、课程名( kcm )和学分( xf )等字段,成绩表中含有学号( xh )、课程代号( kcdh )和成绩( cj )等字段.已创建一个按课程代号查询学生成绩的表单如图所示.表单中下拉列表框(Combo1)的数据源设置如下:RowSource Type 属性为:6-字段RowSource 属性为:kc.kcdh.在下拉列表框中选择某一课程代号后,表格控件( Grid1 )立即显示该课程所有学生的成绩,且在文本框(Text1)中显示该课程的课程名,则应在下拉列表框的【InteractiveChange】事件中编写如下代码:SELECT KCThisForm.Text1.Value=kc.kcmThisForm.Grid1.RecordSource=;"SELECT cj.xh,cj.cj FROM cj WHERE cj.kcdh=ALLT(THIS.Vale)INTO CURStmp"ThisForm.Refresh根据以上代码可判定,表格控件( Grid1 )的RecordSourceType 属性为【3】.对于表单的Load、Activate和Init这三个事件来说,【Load】事件的处理代码中不能引用表单中的对象,【Activate】事件最后一个被触发.二、单项选择共24题(共计24分)在下列有关表单及其控件的叙述中,错误的是( A ).A:从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分B:表格控件包含列控件,而列控件本身又是一个容器类控件C:页控件的PageCount 属性值可以为0D:表格控件可以添加到表单中,但不可以添加到工具栏中假定表单上有一个文本框对象Text1和一个命令按钮组对象Cmg,命令按钮组Cmg中包含Cmd1和Cmd2两个命令按钮,如果要Cmd1命令按钮的某个方法中访问文本对象Text1的Value属性值.下列表达式中正确的是(B).A:This.Thisform.Text1.Value B:This.Parent.Parent.Text1.ValueC:Parent.Parent.Text1.Value D:This.Parent.Text1.Value在下列几组控件中,均具有ControlSource属性和Value属性的是( D ).A:Pageframe、EditBox、OptionGroup B:ListBox、Grid、ComboBoxC:TextBox、Label、CommandButton D:CheckBox、Spinner、ComboBox在下列有关表单及其控件的叙述中,错误的是( A ).A:对于表单(Form)来说,其大小(高度与宽度)没有限制B:对于复选框控件(CheckBox)来说,其Value属性的默认值为0C:对于形状控件(Shape)的Curvature属性来说,其取值范围为0—99D:对于命令按钮组控件(CommandGroup)来说,其ButtonCount属性的默认值为2下列关于表单数据环境的叙述中,错误的是( B ).A:表单运行时自动打开其数据环境中的表B:数据环境是表单的容器C:可以在数据环境中建立表之间的关系D:可以在数据环境中加入视图下列几组控件中,都有ControlCount属性的是( C ).A:表单(Form)、文本框(TextBox)、列表框(ListBox)B:表单集(FormSet)、表单(Form)、页框(PageFrame)C:表单(Form)、页面(Page)、列(Column)D:列(Column)、选项按钮组(OptionGroup)、命令按钮组(CommandGroup)在下列关于表单及一些控件的叙述中,错误的是( B ).A:用户可以为表单创建新的方法和新的属性,但不能创建新的事件B:若将表单的ControlBox属性设置为.F,则表单无最大化、最小化按钮,但有关闭按钮C:标签控件的Backstyle属性的默认值为0,即标签的背景为不透明D:组合框控件可以设置为下拉组合框或下拉列表框,其区别在于:前者既可以输入数据、也可以在下拉列表中选择一个数据,而后者只能在下拉列表中选择一个数据下列有关控件及其属性的叙述中错误的是(A).A:一个标签控件最多可以显示128个字符B:计时器控件的Interval属性的单位为毫秒C:当形状控件的Curvature属性值为99时其曲率最大D:组合框控件的Style属性控制其为下拉列表框还是下拉组合框设表单Form1上有一个命令按钮组CommandGroup1,命令按钮组中有两个命令按钮(分别:cmdl和cmd2),则在按扭cmd1的click事件中,可以将按钮cmd2设置为不可用的是( A ).A:This.Parent.Cmd2.Enabled=.F. B:ThisForm.Cmd2.Enabled=.F.C:mandGroup1.cmd2.Enabled=.F. D:THIS.Cmd2.Enabled=.F.在下列几组VFP 基类中,均具有ControlSource 属性的是( D ).A:ListBox ,Lable ,OptionButton B:ComboBox ,EditBox ,GridC:ComboBox ,Grid ,Timer D:EditBox ,CheckBox ,OptionButton对于许多控件来说,可以通过ControlSource属性与数据绑定.在下列VFP 对象中,无ControlSource 属性的是( A ).A:标签( Label ) B:复选框( CheckBox ) C:选项按钮组( OptionGroup ) D:列表框( ListBox )数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件. 若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的(C )属性值也随之发生变化.A:Name B:ControlSource C:Value D:Caption下列有关VFP对象(控件)的叙述中错误的是(A).A:复选框控件的Value值只能为1(.T.)或0(.F.),不能为空值(.NULL.)B:一个标签控件可多行显示文本C:命令按钮控件上可同时显示文本和图片D:表格中的每一列都是容器对象,而且拥有自己的属性、事件和方法将表单中的所有文本框的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.)下列VFP对象(控件)中不能直接(独立)地添加到表单中的是(B).A:命令按钮(CommandButton) B:选项按钮(OptionButton)C:复选框(Check) D:计时器(Timer)在下列有关控件的叙述中,错误的是( A ).A:对于标签控件(Label)的Caption属性值来说,其长度(即字符个数)没有限制B:复选框控件(CheckBox)的Value属性值可以设置为0,或1,或2C:有些控件无Caption属性,例如文本框(TextBox)D:有些控件可通过相应的生成器设置其部分属性,如命令按钮组(CommandGroup)在下列几种控件中,无Value属性的是( A ).A:命令按钮(Command) B:选项按钮(OptionButton)C:复选框(CheckBox) D:编辑框(EditBox)在下列控件中,无ControlSource属性的是( D ).A:TextBox B:ComboBox C:CommandGroup D:Image若从表单的数据环境中将逻辑型字段拖放到表单中,则默认情况下在表单中添加的控件个数和控件的类型分别是(C).A:1,文本框B:2,标签与文本框C:1,复选框D:2,标签与复选框下列几组控件中均有SetAll()方法的是(D).A:表单(Form)、命令按钮(CommandButton)、命令按钮组(CommandGroup)B:表单集(FormSet)、列(Column)、组合框(ComboBox)C:表格(Grid)、列(Column)、文本框(TextBox)D:表单(Form)、页框(PageFrame)、命令按钮组(CommandGroup)在下列几组控件中,均可直接添加到表单中的是( C ).A:CommandGroup、OptionButton、TextBox B:Page、PageFrame、GridC:CommandButton、PageFrame、EditBox D:TextBox、Column、Header在下列关于表格控件的叙述中,错误的是( B ).A:表格是容器型控件,它包含列对象B:表格的数据源若是表,则该表必须在表单的数据环境中C:表格的数据源可以是表、别名、查询文件或SELECT-SQL命令D:表格滚动条可以设置为不同类型以下几组对象均是数据绑定型的是(D)A:标签、文本框、编辑框B:文本框、编辑框、命令按钮C:编辑框、命令按钮、组合框D:组合框、列表框、选项按钮组在下列控件中,无Value属性的是( C ).A:Spinner B:Gird C:CommandButton D:ListBox。