《VFP》 第六章习题.docx
- 文档编号:6944417
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:16
- 大小:27.89KB
《VFP》 第六章习题.docx
《《VFP》 第六章习题.docx》由会员分享,可在线阅读,更多相关《《VFP》 第六章习题.docx(16页珍藏版)》请在冰豆网上搜索。
《VFP》第六章习题
第六章
一、填空
1、利用ShowWindows属性和Desktop属性,可以将表单设置为【顶层表单】、浮动表单或子表单.
2、如图所示的表单用于浏览教师(JS)信息.为了在表格控件中以不同的背景色显示男、
女教师的信息,则在表格控件的Init事件代码中,可使用如下形式的语句:
This.
【Setall/Seta】
("DynamicBackcolor","IIF(xb='女',RGB(125,125,125),;RGB(125,125,125))",
"Column")表单中下拉列表框的RowSourceType属性为"6-字段",数据源为系名代表(表的文件名为xmdm.dbf,含系代码(xdm)和系名(xim)两个字段),为了使下拉列表中显示系代码和系名两列数据,则RowSource属性值为:
xmdm.xdm,【xim】.
3、某表单Form1上有一个命令按钮组Cmg,其中有两个命令按钮(分别为Cmd1和Cmd2),
要在Cmd1的Click事件代码中设置Cmd2不可用,其代码为
【THISFORM.Cmg.Cmd2.ENABLED=.F./THIS.parent.Cmd2.ENABLED=.F.】.
4、学生注册表单(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)
DOCASE
CASETHIS.Value=1
IFLEN(ch1)=0ORLEN(ch2)=0
=MESSAGEBOX("学号、姓名必须填写!
")
ELSE
【Loca】forzc.xh=ch1
IF!
EOF()
=MESSAGEBOX("此学生已注册,请重新输入!
")
Else
INSERTINTOzc(xh,xm)Values(ch1,ch2)
ENDIF
ENDIF
CASETHIS.Value=2
THISFORM.Text1.Value=""
THISFORM.Text2.Value=""
【Thisform.Text1.setfocus/This.parent.Text1.setfocus】&&使Text1文本框得到输入焦点
CASETHIS.Value=3
THISFORM.RELEASE
ENDCASE
5、标签控件是用以显示文本的图形控件.标签控件的主要属性有:
Caption属性,BackStle属性,AutoSize属性以及WordWrap属性等.
其中WordWrap属性的功能是【自动换行/换行】.
6、设Labell是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,
可以在该表单的Init事件代码中使用语句THISFORM.【Label1.Caption】=TTOC(DATETIME())来实现.
7、对于组合框控件来说,要在组合框失去焦点前检验其值的有效性,可以在【valid】事件代码中写入相应的有效性检验代码.
8、某表单上有一个表格控件,其列数为7,若要使其第3—7列的标头(Header)的标题依次显示为:
成绩1,成绩2,成绩3,成绩4,成绩5,则可在表格的Init事件处理代码中包含下列程序段:
ForI=3To7
This.【Columns(i)】.Header1.Caption="成绩"+【alltrim(STR(i-2))/ALLT(STR(i-2))/STR(i-2,1)】
EndFor
9、引用当前表单的关键字是【thisform】
10、设某表单Form1中有一表格控件Grid1,如果要将该表格控件中所有列对象中的BackColor属性设置为红色,可以使用下列命令:
ThisForm.Grid1.
【setall/SETA】('BackColor',RGB(255,0,0),'Column')
11、将文本框对象的【Readonly】属性设置为"真",表单运行时,该文本框可以获得焦点,但文本框中显示的内容为只读.
12、设某表单的背景色为浅蓝色,该表单上某标签的背景色为黄色,当该标签的Backstyle属性值设置为0(透明),运行该表单时该标签对象显示的背景色为【浅蓝色】.
13、独立的、无模式的、【无父】表单称为顶层表单.
14、在表单中,一个OLE绑定型控件利用表中的【通用】型字段显示一个OLE对象.
15、对于如图所示的表单,当表单运行时,利用微调框(Spinnerl)Curvature来调节形状
控件(Shapel)的Curvature属性,使形状控件的角的曲率发生变化.
根据Curvature属性的取值范围的限定,微调框(Spinner1)的SpinnerLowValue属性值
和SpinnerHighvalue属性值应该分别为0和【99】.当形状控件(Shape1)为椭圆时,
微调框(Spinner1)的Value值应为【99】.
16、设某命令按钮的标题显示为"确定(Y)"(注Y上有下划线),即该按钮访问键位
则其Caption属性值应设置为【确定(\ 17、设某表单(Form1)上有一个文本框(Text1)和一个命令按钮(Command1).该表单运行时,单击命令按钮Command1,则文本框Text1中显示该表单数据环境的Name属性值.由此,命令按钮Command1的Click事件程序代码中必须写入的命令为: ThisForm.【TEXT1.VALUE】=ThisForm.DataEnvironent.Name 18、若某表单上包含一个页框控件,页框上包含的页面数是未知的(或者说是动态变化的), 则在刷新表单时为了刷新页框中的所有页面,可在页框的Refresh方法中包含如下的代码: ForI=1Tothis.【PageCount】 This.Pages[i].Refresh EndFor 19、文本框控件的【PasswordChar】属性设置为"*"时,用户键入的字符在文本框内显示为"*",但Value属性中仍保存键入的字符串. 20、在事件代码中相对引用当前表单集的关键字是【Thisformset】. 21、Grid、Text、CommandGroup、Column是VFP系统中的对象, 它们当中不能直接加到表单中的对象是【Column】. 22、在"表单设计器"中设计表单时,如果从"数据环境设计器"中将表拖放到表单中, 则表单中将会增加一个【表格】对象,如果从"数据环境设计器"中将某表的逻辑型 字段拖放到表单中,则表单中将会增加一个【复选框】对象. 23、如果要将某选项按钮组上的按钮设置为5个,应把选项按钮组的【ButtonCount】属性值设定为5. 24、某表格上有一个命令按钮,该命令按钮的Click事件过程代码中含有一条命令, 可以将该表单中的页框Pg1的活动页面改为第三个页面,该命令为: ThisForm.Pg1.【ACTIVEPAGE】=3 25、复选框(CheckBox)的Value属性值指定控件的当前状态,其取值可以为1、2或【0】三种,以表示不同的状态. 26、文本框控件的【PASSWORDCHAR】属性设置为"*"时,用户键入的字符在文本框内显示为"*",但属性Value中仍保存键入的字符串. 27、页框对象是包含页面的容器对象.在默认情况下,一个页框对象包含两个页面对象, 如果要修改页框对象所包含的页面对象数,则应该修改页框的【pagecount】属性值. 28、容器型对象表格所包含的对象是【列/表格列/column】 29、表格控件可以设定特殊格式,使得用户更容易浏览表记录.如果要将表格的第三列(Column3)的前景色设为用红色显示不及格的成绩(字段名为cj),用蓝色显示及格的成绩,可以在表格的Init事件中包含如下代码: This.Column3.DynamicForeColor='【IIF(CJ<60,RGB(255,0,0),RGB(0,0,255))/IIF(CJ>=60,RGB(0,0,255),RGB(255,0,0))】' 30、VFP有两种对象: 容器对象和控件对象。 选项按钮组是【容器】对象,它的Value属性表明用户选定了哪个按钮,假定现有一个选项按钮有六组选项按钮,该选项按钮组Controlsource属性值是一个整型字段,如果用户选择了第四个按钮,则选项按钮组的Value属性值为【4】. 31、某表单的数据环境中有一个ZY(专业)表,该表有27条记录;表单上有3个文本框分别与专业表的专业代号、专业名称、学制字段绑定,另有一文本框(textl)用来显示物理记录号;表单上有一个计时器控件,其Interval属性值为1000,Timer事件代码如下: IFEOF() GOTOTOP ELSE SKIP ENDIF THISFORM.Textl.Value=RECNO() THISFORM.Refresh 若该表单最大化按钮不可用,最小化按钮和关闭按钮可用,则表单的【MaxButton】属性值为.F.;若文本框textl不能响应用户引发的事件,则其【Enabled】属性值为.F.; 当ZY表的记录指针位于记录结束标记处(即EOF()为.T.)时,文本框textl的Value属性值是【28】. 32、某表单上有一个表格控件,其列数为7,若要使第3~7列的标头(Header)的标题依次显示 为成绩1、成绩2、成绩3、成绩4、成绩5,则可在表格的Init事件处理代码中包含下列程序段. FORi=3To7 This.【Columns(i)】.Header1.Caption="成绩"+【Alltrim(Str(I-2))/Allt(Str(I-2))/Str(I-2,1)】 ENDFOR 33、所有容器对象都具有与之相关的记数属性和集合属性,其中【集合】属性是一个数组,可以用以引用其包含在其中的对象. 34、某表单上有一个文本框控件,若要该文本框的初值设置为当前系统日期,则可以在该文本框的Init事件代码中设置语句【this.value=date()】 35、某表单(frml)上有一个列表框(List1)、一个文本框(Text1)和一个命令按钮(Command1, 其Caption属性为"添加").请完善命令按钮的Click事件代码以实现以下功能: 在文本框Text1中输入字符串,如果该字符串在列表框中不存在,就将该字符串插入到列表框中,否则弹出对话框给出信息提示"该字符串已经存在, 请重新输入".运行表单时参考界面如图所示. flag=0 FORn=1TOTHISFORM.List1.【ListCount】 IFTHISFORM.List1.List(n)=thisform.【Text1.Value】 flag=1 ENDIF ENDFOR IFflag=0 Thisform.List1.【AddItem】(THISFORM.text1.Value) ELSE MESSAGEBOX("改字符串已经存在,请重新输入") ENDIF 36、在某表单运行时,表单上某个命令按钮的标题是灰色的,不能响应用户事件,则该命令按钮此时【ENABLED】属性值一定为.F.. 37、在VFP中,利用可是化开发工具(表单设计器)创建表单和对象.通过对对象属性的修改、方法程序的调用来处理对象.相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或【事件】处理代码中使用. 38、设某表单上有一个页框控件,该页框控件的PageCount属性值在表单的运行过程中可变 (即页数会变化).如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的Refresh事件代码中使用语句: This.【ActivePage】=This.PageCount 39、编辑框的用途与文本框相似,但编辑框除了可以编辑文本框能编辑的字段类型以外, 还可以编辑【备注】型字段. 40、根据控件与数据源的关系,表单中的控件可以分为两类: 与表或视图等数据源中的数据绑定的控件和不与数据绑定的控件,前者为【数据绑定/绑定】型控件. 41、如果要把一个文本框对象的初值设置为当前日期,则在该文本框的Init事件中设置代码为【Thisform.text1.value=DATE()/This.value=DATE()】. 42、某城市机动车驾驶员登记表(JDCJS)中含有驾驶证号(jzh)等字段. 但由于录入人员的差错,包含了一些重复的记录(jzh字段的值有重复),影响了统计结果.完善下列程序,使其可以物理删除该表中的重复数据. 【程序清单】 USEJDCJS INDEXONjzhTAGjzh&&相同的驾驶证号记录将相邻排列 GOTOP last_jzh=jzh SKIP DOWHILE! EOF() IFjzh=last_jzh DELETE ELSE 【last_jzh=jzh】 ENDIF SKIP ENDDO PACK 43、某"电子表"表单上分别有一个文本框(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】 44、在VFP中,组合框控件具有列表框控件和和文本框控件的组合功能. 根据是否可以输入数据值,组合框可设置为下拉组合框或【下拉列表框】. 45、形状控件(Shape)的Curvature属性用于控制其曲率,其取值范围为从0到【99】. 46、根据Style属性的设置,组合框(ComboBox)可以分为: 下拉组合框(当Style属性值为0时)和下拉【列表】框.(当Style属性值为2时).它们的区别在于: 前者既可以输入数据、也可以在下拉列表中选择一个数据,而后者只能在下拉列表中选择一个数据. 47、计时器是用来处理复发事件的控件.该控件正常工作的三要素是: Timer事件、Enabled属性和【interval】属性. 48、复选框控件可以为三种状态,其Value属性值分别.F.或.T.或【.NULL./NULL】. 49、表格(Grid)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似, 表格最常见的用途之一是显示一对多关系中的子表.在默认情况下,表格控件包含列控件,列控件又包含列标头控件和【数据绑定/绑定】控件. 50、设某表单上包含一个文本框控件,若要使该文本框获得焦点时能自动选中其中的所有文本,可在文本框的GotFocus事件中包含下面几行代码: TextBox: : GotFoCus This.SetStart=【0】 This.SelLength=Len(AllTrim(This.Value)) 51、对于表单的Load、Activate和Init这三个事件来说,【load】事件的处理代码中不能引用表单中的对象,【Activate】事件最后一个被触发. 52、某表单如图所示,用于用户登录(需要输入用户名和口令信息). 该表单无控制图标和控制按钮,则表单的【Controlbox】属性值必定为.F.. 设所有的用户名和口令信息均已存储在自由表KLB表(含有两个字符型字段"用户名"和"口令")中.完善命令按钮组(含两个命令按钮)Click事件代码,以实现: 当用户输入用户名和口令并单击"确定"按钮时,若用户名输入错误,则提示"用户名错误";若用户名输入正确而口令输入错误,则提示"口令错误";单击"取消"按钮则释放表单. IF【this.value】=1&&单击"确定"命令按钮 IFNOT【used("klb")】 SELECT0 USEklb ELSE SELECTklb ENDIF LOCATEFORALLTRIM(用户名)==ALLTRIM(THISFROM.Text1.Value) IFFOUND() IFALLTRIM(口令)==ALLTRIM(THISFROM.Text2.Value) WAIT"欢迎使用! " THISFROM.Release ELSE WAIT"口令错误! " ENDIF 【else】 WAIT"用户名错误! " ENDIF ELSE&&单击"取消"命令按钮 THISFROM.Release ENDIF 53、某表单上分别有一个标签Labell、文本框Textl、命令按钮组CommandGroupl和计时器Timerl在设计时,计时器的Interval属性值已设置为500、Enabled属性值已设置为.F.(即不可用),且已为计时器的Timer事件设置了事件处理代码,其功能是使文本框显示当前的系统日期与时间.命令按钮组中包含3个命令按钮,依次为"启用"、"暂停"和"退出",其功能分别为启用计时器控件、不启用计时器控件和关闭表单,完善命令按钮组的click事件代码: DoCase CaseThis.Value=1 This.【PARENT】.Timer.Enabled=.T. CaseThis.Value=2 ThisForm.Timer1.Enabled=.F. CaseThis.Value=3 【THIS.parent.Release/THISFORM.Release】 ENDCASE 54、某表单运行时界面如图所示,表单上有一个组合框控件Combo1和表格控件Grid1. 其中,组合框控件Combo1的数据源类型是"文件",数据源是"*.DBF", 运行时该组合框中显示当前路径下所有的表文件名. 完善下列组合框控件Combo1的InteractiveChange事件代码,其功能是: 当选中组合框中的某个表文件时,在表格中显示该表的所有记录. PUBLICx x=ALLTRIM(This.Value)&&取得选中的值 CLOSETABLESALL 【USE&X】 WITHThisform.Grid1 .ColumnCount=【-1】 .RecordSourceType=2&&设定表格的数据源类型是别名 .RecordSource=【alias()/alia()】 ENDWITH 55、在表单中要使控件成为可见的,应设置控件的【Visible】属性值为.t.. 56、某表单上有一个文本框(text1)和一个命令按钮.单击命令按钮后, 将随机产生12个2位的正整数,这些数存储在一个二维数组中, 并且在文本框中显示(显示格式为3行4列,如图所示). 完善该命令按钮的Click事件代码: DIMENSIONx(3,4) s=SPACE(0) FoRi=1to3 FORj=1to4 n=INT(90*RAND()+10) x(【i,j】)=n s=s+STR(n,4) ENDFOR s=s+CHR(13) ENDFOR THISFORM.Text1.Value=【s】 57、对于如图所示的表单,当表单运行时,利用微调框(Spinner1)来调节形状控件 (Shape1)的Curvature属性值,使形状控件的角的曲率发生变化.为了实现表单中"微调框控件的值发生变化时形状控件的角的曲率也随之变化"的功能, 微调框控件(Spinner1)的【Interactivechange】事件代码为: THISForM.Shape1.Curvature=THIS.Value 58、表单中有一个命令按钮,当点击该按钮时,调用表单对象的刷新方法程序,相关命令代码是: this.【pare/parent】.【refr/refresh】 59、对于数据绑定型控件,通过对【controlsource】属性的设置来绑定控件和数据源. 60、在VFP中,组合框控件类似于列表框控件和文本框控件的组合.根据是否可以输入数据值,组合框为下拉框组合框和【下拉列表框】两种. 61、对于表单的Load、Activate和Init这三个事件来说,【Load】事件的处理代码中不能引用表单中的对象,【Activate】事件最后一个被触发. 62、已知有三张表: 学生表(XS)、课程表(KC)和成绩表(CJ),其表结构如图所示. 有一个表单如图所示,其左边是一个选项按钮组(Optiongroup1),右边是列表框(List1).该表单的功能是: 在选项按钮组中选择一个年级(学号的前两位表示年级), 列表框将显示出该年级所有课程不及格的学生的学号、姓名、课程名称和成绩. 下列是选项按钮组的相关事件的事件代码,试完善下面的程序. DOCASE CASEThis.Value=1 nJ="99" CASEThis.Value=2 nJ="00" CASEThis.Value=3 nJ="01" CASEThis.Value=4 nJ="02" 【ENDCASE/ENDC】 SQL1='SELECTxs.xh,xm,kcm,cj' SQL2='FROMxs,cj,kc' SQL3='WHERExs.xh=cj.xhANDcj.kcdh=kc.kcdhANDcj<60' SQL4='【andleft(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP VFP 第六章习题 第六 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)