VF表单编程例题详解
国家二级VF机试(表单设计与应用)模拟试卷2(题后含答案及解析)
国家二级VF机试(表单设计与应用)模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.表单里有一个选项按钮组,包含两个选项按钮Optionl和Option2。
假设Option2没有设置Click事件代码,而Optionl以及选项按钮组和表单都设置了Click事件代码。
那么当表单运行时,如果用户单击Option2,系统将( )。
A.执行表单的Click事件代码B.执行选项按钮组的Click事件代码C.执行Optionl的Click事件代码D.不会有反应正确答案:B解析:表单对象从创建到被释放的整个过程可以分为5个阶段:①装载阶段(Load事件);②对象生成阶段(Init事件);③交互操作阶段(如单击事件);④对象释放阶段(Destroy事件);⑤卸载阶段(Unload事件)。
本题没有设置Optiort2的Click事件代码,当单击时,优先触发选项按钮组的Click事件代码。
所以B选项正确。
知识模块:表单设计与应用2.假设有一表单,其中包含一个选项按钮组,则当表单运行时,最后引发的事件是( )。
A.LoadB.表单的InitC.选项按钮的InitD.选项按钮组的Init正确答案:B解析:一般来说,用户触发事件是没有顺序性的,但一个对象上所产生的系统触发事件还是有先后次序的。
表单对象从创建到被释放的整个过程可以分为5个阶段:①装载阶段(Load事件);②对象生成阶段(Init事件);③交互操作阶段(如单击事件);④对象释放阶段(Destroy事件);⑤卸载阶段(Unload事件)。
有关表单和控件的Load、Init、Destroy、Unload事件的先后顺序可总结为:①表单的Load事件;②表单中控件的Init事件;③表单的Init事件;④表单的De—stroy 事件;⑤表单中控件的Destroy事件;⑥表单的Unoad事件。
因此本题最后引发的事件为表单的Init。
知识模块:表单设计与应用3.如果希望一个控件在任何时候都不能获得焦点,可以设置的属性是Enabled或是( )。
VF简单应用参考答案
简单应用题第一题在指定文件夹下完成如下简单应用:1.打开表单myform001,把表单(名称为Form1)标题改为“成绩管理系统”(form1 对象的caption 属性设置为“成绩管理系统”,在表单设计器界面中点击表单空白处,使表单为当前对象,然后在属性框中设置caption 的文本为指定的内容,不要输入引号),将文本“欢迎使用成绩查询系统”(名称为label1 的标签)改为颜色属性值为222,100,50(标签的forecolor 属性),黑体(标签的fontname 属性设置为黑体)。
最后在表单上添加“关闭”(名称为Command1)命令按钮(Command1 命令按钮的caption 属性设置为“关闭”),单击此按钮关闭表单(Command1 命令的单击事件程序为:thisform.release)。
保存并运行表单。
2. 打开表单myform002,表单中已有一个标签(名称为label1),按标签要求完成操作。
需要建立二个命令按钮“计算”和“关闭”(名称分别为Command1 和Command2)(Command1命令按钮的caption 属性设置为“计算”,Command2 命令按钮的caption 属性设置为“关闭”,注意题目中添加多个控件的,要严格按题目说明对应控件的名称关系,否则影响得分),三个文本框(text1、text2、text3),结果放在text3 中,单击“计算”按钮,完成标签要求,单击“关闭”按钮关闭表单(Command2 命令的单击事件程序为:thisform.release)。
在text1中输入22,在text2 中输入36,保存并运行表单。
注意把三个文本框按钮的属性value 值事先设置为0,使得他们默认接收的数据为数值型,否则无法进行数学计算。
其他方法可以处理,但是麻烦些。
Command1 计算按钮的单击事件程序:thisform.text3.value=thisform.text1.value+thisform.text2.value注意:完成表单设计后要运行表单的所有功能。
VFP编程题及参考答案(可打印修改)
VFP编程题及参考答案1.输入圆的半径,求圆的周长和面积并输出。
解:编写程序如下:clearinput “请输入圆的半径:” to rl=2*3.14159*rs=3.14159*r*r? “圆的周长为:”,l? “圆的面积为:”,s2.输入梯形上底、下底和高的值,求梯形面积并输出。
解:编写程序如下:clearinput "请输入梯形的上底:" to shdinput "请输入梯形的下底:" to xdinput "请输入梯形的高:" to gs=(shd+xd)*g/2? "梯形的面积为:",s3.输入三角形的三边长(设输入的三边a、b、c能构成三角形),求三角形的周长和面积并输出。
(提示:面积=半周长*(半周长-a)*(半周长-b)*(半周长-c)的平方根)解:编写程序如下:clearinput "请输入三角形的第一条边长:" to ainput "请输入三角形的第二条边长:" to binput "请输入三角形的第三条边长:" to cL=(a+b+c)/2s=sqrt(L*(L-a)*(L-b)*(L-c))? "三角形的周长为:",2*L? "三角形的面积为:",s4.输入2个实数,要求按由小到大的次序输出这两个数。
解:编写程序如下:clearinput "请输入第一个实数:" to num1input "请输入第二个实数:" to num2if (num1>num2)? num2,num1else? num1,num2endif5.请编写一个“A类邮件”计费程序,求出邮件的邮资费并输出:“A类邮件”计费规定:当邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03元计费。
VF典型题例
4、求s=1/1!+1/2!+1/3!+……+1/10!的值 a=1 s=0 for n=1 to 10 a=a*n s=s+1/a endfor ?s
3、求各位数字(判定水仙花数、回文数等)
设某四位数的各位数字的平方和等于100,问共有多少个这 种四位数? clea n=0 for x=1000 to 9999 a=int(x/1000) b=int(x/100)%10 c=int(x/10)%10 d=mod(x,10) if a*a+b*b+c*c+d*d=100 n=n+1 endif endfor ?n return
【例】铁路托运慢件行李,假设每张火车票托运
行李在50公斤以内时,按每公斤0.5元收费;超过 50公斤时,超过的部分按每公斤加价0.3元计费.
由题意分析
已知:每公斤的费用0.5元,超重的费用0.3元
要输入的量:行李重量为G 要处理的量:G是不是大于50公斤 要输出的量:费用为F 可得到如下计算公式: 当G≤50公斤 费用:F=0.5×G 当G>50公斤 费用: F=0.5×50+(0.5+0.3)×(G-50)
ENDIF
… …
ENDFOR
初值 循环体内 求和:s=0 s=s+i 求积:s=1 s=s*i 求个数:n=0 n=n+1
VF典型题(改错OR填空)
1、能被整除的
求[10,1000]内所有能被被7和9中至少一个数整 除的整数之个数。 set talk off clear s=0 for x=10 to 1000 if mod(x,7)=0 or mod(x,9)=0 n=n+1 endif endfor ?n set talk on return
(修改)vfp表单例题参考
VFP表单实验参考讲义一、标签和文本框(一)题目要求:(1)该表单的名称为“Form1”,标题为“密码输入窗口”,高度为190,宽度为300;(2)定义一个名称为“Label1”、标题为“请输入密码”、字号为10磅的标签;(3)定义一个名称为“Text1”的文本框,用于输入密码,当输入密码时,屏幕显示“*”;(4)定义一个名称为“Label2”的标签,标题为空,自动调整控件大小;(5)定义一个名称为“Command1”,标题为“显示密码”的按钮,当单击该按钮时,标签“Label2”显示输入的密码,编写Click事件代码(6)定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单。
(不得退出VFP系统)操作要点:1)注意将text1的属性passwordchar设置为:*2)label2的属性autosize设置为:.T.3)“显示密码”按钮Command1的Click事件代码:写法一:bel2.Caption=Thisform.Text1.Value写法二:X=Thisform.Text1.Valuebel2.Caption=X3)“关闭”的按钮Command2的Click事件代码:Thisform.Release(二)Command1 的CLICK事件代码:if thisform.text1.value="abc"bel2.caption="欢迎使用"elsebel2.caption="密码错误"EndifCommand2 的CLICK事件代码:thisform.release(三)代码编写:1)“确定”按钮Command1的Click事件代码:If Thisform.text1.value=”ABCD”Messagebox(“欢迎光临”,65,“密码正确“)ElseMessagebox(“禁止进入“,65,”密码错误“)Endif2)“关闭”的按钮Command2的Click事件代码:Thisform.Release(四)代码编写:1)“确定”按钮Command1的Click事件代码:r=val(thisform.text1.value)s=3.1415926*r*rmessagebox(str(s,5,2),65,”面积”)2) “关闭”的按钮Command2的Click事件代码:Thisform.Release(五)题目要求:(1) 该表单的名称为“Form1”,标题为“温度转换”,高度为260,宽度为400;2) 定义一个名称为“Label1”标题为“摄氏温度”的标签;再定义一个名称为“Label2”标题为“华氏温度”的标签,两个标签的字号均为11磅;3) 定义一个名称为“Text1”的文本框,用于输入摄氏温度,再定义一个名称为“Text2”的文本框,具有只读属性,用于显示华氏温度; 4) 定义一个名称为“Command1”,标题为“转换”的按钮,当单击该按钮时,将输入的摄氏温度转换成华氏温度并显示在Text2文本框中,编写其Click事件代码;其中:华氏温度=9/5*摄氏温度+32 5) 定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单(不得退出VFP系统)。
vf编程试题集解析
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
【程序4】题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。
【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n '.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
VF上机考试有关表单题
上级有关表单题1套二、简单应用(2小题,每题20分,计40分)在考生目录下完成如下简单应用:2. 打开FORM1表单,并按如下要求进行修改(注意:最后保存所做的修改):(1) 表单中有5个随机排列的命令按钮,不要移动或改变"基准按钮"的位置(否则影响成绩),然后使其他命令按钮与"基准按钮"左部对齐;(2) 在这组命令按钮的右边添加一个表格控件,并将它的RecordSourceType 属性设置为"表",然后设置另一个相关属性使在表格控件中显示customer表的记录。
答:①打开并修改表单文件MODIFY FORM form1②首先查看“基准按钮”的Left值(24),接着按Shift键不放,依次选定其他命令按钮,在“属性”对话框的“Left”值处输入“24”。
③添加一个表格控件,控件名仍为系统给定的名称,在“属性”对话框的“RecordSourceType”选择“0 - 表”,在“RecordSource”处输入“customer”3套二、简单应用(2小题,每题20分,计40分)在考生目录下完成如下简单应用:2. 打开并按如下要求修改form1表单文件(最后保存所做的修改):(1) 在"确定"命令按钮的click事件(过程)下的程序有两处错误,请改正之;(2) 设置Text2控件的有关属性,使用户在输入口令时显示"*"(星号)。
答:①打开并修改表单文件MODIFY FORM form1②双击“确定”按钮,在“Command1.Click”中进行修改如果用户输入的用户名和口令一致,则在提示信息后关闭该表单。
第1处:是判断两个文本框的值是否相同,所以应改为:If Thisform.Text1.Value = Thisform.Text2.Value第2处:是关闭表单,所以应改为:Thisform.Release③单击“Text2”文本框,在其“属性”窗口的“PasswordChar”处输入“*”。
Visual FoxPro表单设计及答案
四、VF窗体设计共2题(共计45分)第1题(15.0分)题号:8如样张所示设计一个名为Form1的表单,表单上有三个标签(Label1、Label2、Label3),标题分别为“选课系统”、“图书管理系统”、“成绩查询系统”,当用鼠标单击任何一个标签时,其他两个标签的标题文本互换。
Label1:t=bel2.caption bel2.caption=bel3 .captionbel3.caption=tlabel2:t=bel1.caption bel1.caption=bel3 .captionbel3.caption=tlabel3:t=bel1.caption bel1.caption=bel2 .captionbel2.caption=t第2题(15.0分)题号:32如样张所示设计一个名为Form1的表单,包含一个文本框控件text1和两个按钮command1和command2,按钮的标题分别是“加一操作”和“减一操作”,文本框初始值为0,当单击一次“加一操作”按钮时,文本框中的数值加1。
当单击一次“减一操作”按钮时,文本框中的数值减1。
*Text1:过程 Initthis.value=0*加一操作x=thisform.text1.valuethisform.text1.value=x+1*减一操作x=thisform.text1.valuethisform.text1.value=x-1第3题(15.0分)题号:16如样张所示设计一个名为Form1的表单,有三个标签(Label1、Label2、Label3),分别为金额、存期、到期本息和。
三个文本框(Text1、Text2、Text3)要求根据用户输入的存款额和存期(月),单击“计算”按钮(Command1),显示到期后应得的本息和。
当存期小于12时,利息为1.8‰;当存期大于等于12小于24时,利息为2.5‰;当存期大于等于24小于36时,利息为2.8‰;当存期大于等于36时,利息为3.2‰,计算结果保留两位小数。
国家二级VF机试(表单设计与应用)模拟试卷4(题后含答案及解析)
国家二级VF机试(表单设计与应用)模拟试卷4(题后含答案及解析)题型有:1. 选择题选择题1.执行命令MyForm=CreateObject(“Form”)可以建立一个表单,为了让该表单在屏幕上显示,应该执行命令A.MyForm.ListB.MyForm.DisplayC.MyForm.ShowD.MyForm.ShowForm正确答案:C解析:MyForm为建立的表单名,show方法用来显示表单,而调用方法的格式为:对象名.方法名,故要想显示表单MyForm,要用命令MyForm.show。
知识模块:表单设计与应用2.如果希望一个控件在任何时候都不能获得焦点,可以设置的属性是Enabled或是A.MoveableB.CloseableC.VisibleD.SelStart正确答案:C解析:本题考查控件属性。
控件在任何时候都不能获得焦点的方法是将控件的Visible(可见)属性设置为.F.,使控件成为不可见对象。
知识模块:表单设计与应用3.在Visual FoxPro中,用于设置表单标题的属性是A.TextB.TitleC.LableD.Caption正确答案:D解析:本题考查表单的属性。
在Visual FoxPro中,表单的Caption属性,指明显示于表单标题栏上的文本,所以用于设置表单标题的属性是Caption。
知识模块:表单设计与应用4.假设某个表单中有一个复选框(CheckBoxl)和一个命令按钮Command1,如果要在Commandl的Click事12代码中取得复选框的值,以判断该复选框是否被用户选择,正确的表达式是A.This.CheckBox 1.ValueB.ThisForm.CheckBox 1.ValueC.This.CheckBox 1.SelectedD.ThisForm.CheckBox 1.Selected正确答案:B解析:复选框控件可以通过其V ALUE属性设置或返回其状态(选中或未被选中)。
VF 表单程序题(含答案)
1、利用文本框和标签控件设计了一表单F1.SCX,文本框Text1的V alid事件代码及表单界面如图1所示。
向Text1中输入一段字符:”Figure 1-18 shows you how to use a MENU.”(不含双引号)[Text1.Valid event]x=alltrim(thisform.text1.value)y=len(x)store 0 to z1,z2for i=1 to ya=substr(x,i,1)do casecase asc(a)>=65 and asc(a)<=90z1=z1+1case asc(a)>=97 and asc(a)<=122z2=z2+1endcaseendforthisform.text2.value=z1thisform.text3.value=z2(1)执行该程序后,“统计1”右边的文本框Text2和“统计2”右边的文本框Text3中的数据值分别为5、22(2)Text2和Text3的初值分别为0、02、有数据表“图书.DBF”包含书号、书名、出版社、作者等字段,设计如图1所示表单,表单运行后,单击命令按钮可以在表格控件中显示图书表的部分字段的数据,如图1所示,请选择并完善代码。
命令按钮的CLICK事件代码:USE 图书copy TO TS FIELDS 书号,书名THISFORM.GRID1.RECORDSOURCETYPE=0THISFORM.GRID1.RECORDSOURCE=”TS”表单的UNLOAD(释放对象时发生)事件:CLOSE ALLDROP TABLE TS3、考生数据表(文件名为:KS.DBF)中有“准考证号/C/9”、“密码/C/6”、“成绩/N/5/1”等字段。
设计如图2所示表单,将考生数据表添加到表单的数据环境中,表单运行后,在表单的文本框TEXT1中输入查询考生的准考证号,文本框TEXT2中输入该考生的查询密码后,单击“查询”按钮,查询该考生的成绩,并将该考生的成绩显示在表单的标签LABEL3中(考号或密码输入错误,则弹出提示窗口显示“准考证号或密码错误!”)。
VF答案完整版
VF答案完整版第一套―基本操作“规则”框中写:数量>0and数量<9999(注意:不加定界符),在“信息”框中输入:“数量超范围”(注意:必须加定界符)1.用sql语句顺利完成以下操作方式:列举所有与\白\颜色零件有关的信息(供应商号,工程号和数量),并将检索结果按数量降序排序放置于表中supply_temp中。
答案:select供应商号,工程号,数量;from零件,供应where供应.零件号=零件.零件号;and颜色=\白\orderby数量desc;intodbfsupply_temp在表单的rightclick事件中输入:domenu_quick.mpr,保存并运行表单。
select零件名,颜色,重量from供应,零件where供应.零件号=零件.零件号;and工程号=thisform.text1.valueorderby零件名intotableppthisform.grid1.recordsource=\第二套――基本操作(1)单击\查询\按钮,查询bookauth数据库中出版过三本以上(含三本)图书的作者信息,查询信息包括:作者姓名,所在城市;查询结果按作者姓名升序保存在表new_view4中。
select作者姓名,所在城市fromauthors,books;whereauthors.作者编号=books.作者编号;groupby作者姓名havingcount(books.图书编号)>=3;orderby作者姓名;intotablenew_view4(1)首先将books.dbf中所有书名中含有\计算机\个字的图书复制到表books_bak中,以下操作均在books_bak表中完成;(2)复制后的图书价格在原价格基础上降价5%;(3)从图书均价低于25元(含25)的出版社中,查阅并表明图书均价最高的出版社名称以及均价,查阅结果留存在表中new_table4中(字段名为出版单位和均价)。
VFP表单例题
VFP例题例一(史P195)设计只含一个文本框控件的表单,要求逐次单击框的内部能轮流显示当前日期与时间,试写出设计步骤。
(1)创建表单(2)创建文本框(3)将表单的Caption属性改为“日期与时间”(4)表单L oad事件代码的设置:PUBLIC I(5)文本框的Click事件代码编写:IF I=.T.THISFORM.TEXT1.V ALUE=DATE()THISFORM.TEXT1.DATEFORMAT=12THISFORM.TEXT1.DATEMARK="."I=.F.ELSETHISFORM.TEXT1.V ALUE=TIME()I=.T.ENDIF例二(史练习P67)[ 解 ] 设计步骤如下 :(1) 创建表单 : 往命令窗口键人命令MODIFY FORM T6-6, 使显示 T6-6.SCX设计器窗口 ( 参阅图 6.8) 。
(2) 创建文本框 : 单击表单控件工具栏中的文本框按钮 , 随后单击 Form1 表单窗口内某处 , 该处就会产生一个Text1 文本框控件。
(3) 创建命令按钮 , 并设置其 Caption 属性 : 单击表单控件工具栏中的 " 命令按钮 " 按钮 , 随后单击表单窗口内文本框控件下方 , 使产生一个 Command1 命令按钮控件→在属性列表框中选定 Caption 属性→在属性设置文本框中输入“日期或时间”字样。
(4) 修改表单的 Caption 属性 : 单击表单窗口 , 使属性窗口的对象组合框中显示Form1 →在属性列表框中选定Caption 属性→在属性设置文本框中输入“日期或时间”字样(5)Command1 的 MouseDown 事件代码编写如下 :图6.8LPARAb4ETERS nButton,nShift,nXCoord,nYCoord THISFORM.Text1.Value=DATEO && 本表单的文本框的值设置为当前日期THISFORM.Text1.DateFormatz12 && 日期格式设置为年月日次序THISFORM.Text1.DateMark="." && 年月日间隔符设置为点号(6)Commandl 的 MouseUp 事件代码编写如下 : LPARAMETERS nButton,nShift,nXCoord,nYCoord THISFORM.Text1.Value=TIMEO && 本表单的文本框的值设置为当前时间例 11章标签:表单中有三个标签 ,当用鼠标单击任何一个标签时 , 都使其他两个标签的标题文本互换。
vfp编程题练习及参考答案-一定要看
这是以往的考试题第一套编程题参考答案1. 请打开D盘试题文件夹下的program1.prg文件,按要求完成以下程序:输入长方形的长L和宽W的值,计算长方形的面积S并输出,最后按原文件名存盘。
program1.prgCLEARINPUT “请输入长方形的长:” TO LINPUT “请输入长方形的宽:” TO WS=L*W?”长方形的面积S=”,S2.请打开D盘试题文件夹下的program2.prg文件,编一个计费程序,按托运规定,行李不超过50千克时,运费为每千克0.15元,如超过50千克,其中50千克,运费按每千克0.15元,超过50千克部分的运费为每千克0.22元,输入行李重量,显示托运费。
program2.prgClearInput “请输入行李重量” to xIf x<=50Y=x*0.15ElseY=50*0.15+(x-50)*0.22Endif? “托运费=”,y3.请打开D盘试题文件夹下的program3.prg文件,编写循环程序实现:在 rcda.dbf表中,统计姓“刘”的人数并输出。
最后按原文件名存盘。
program3.prgclearuse rcdan=0scan all for left(姓名,2)=“刘”n=n+1endscan?nuse4.请打开D盘试题文件夹下的表单文件Program5.scx,要求在文本框Text1中输入某一年份,单击“计算”命令按钮则判断该年是否闰年,如果是闰年,则在文本框Text2中显示“是闰年!”,如果不是闰年,则在文本框Text2中显示“不是闰年!”;单击“退出”命令按钮,则关闭表单。
请编写“计算”和“退出”命令按钮的代码,最后按原文件名存盘。
判断某一年份是否闰年的方法如下:(1)年份能被4整除,但不能被100整除;(2)年份能被400整除;符合上述二个条件之一者即为闰年,如1996年是闰年。
“计算”按钮click事件:nf=thisform.text1.valueif mod(nf,4)=0.and.mod(nf,100)<>0.or.mod(nf,400)=0y="是润年!"elsey="不是润年!"endifThisform.text2.value=yThisform.refresh“退出”按钮click事件:thisform.release第二套编程题参考答案••• 1.请打开D盘试题文件夹下的program1.prg文件,按要求完成以下程序:输入梯形的上底A、下底B和高H的值,计算梯形的面积S并输出,最后按原文件名存盘。
VF 表单程序题(含答案)
1、利用文本框和标签控件设计了一表单F1.SCX,文本框Text1的V alid事件代码及表单界面如图1所示。
向Text1中输入一段字符:”Figure 1-18 shows you how to use a MENU.”(不含双引号)[Text1.Valid event]x=alltrim(thisform.text1.value)y=len(x)store 0 to z1,z2for i=1 to ya=substr(x,i,1)do casecase asc(a)>=65 and asc(a)<=90z1=z1+1case asc(a)>=97 and asc(a)<=122z2=z2+1endcaseendforthisform.text2.value=z1thisform.text3.value=z2(1)执行该程序后,“统计1”右边的文本框Text2和“统计2”右边的文本框Text3中的数据值分别为5、22(2)Text2和Text3的初值分别为0、02、有数据表“图书.DBF”包含书号、书名、出版社、作者等字段,设计如图1所示表单,表单运行后,单击命令按钮可以在表格控件中显示图书表的部分字段的数据,如图1所示,请选择并完善代码。
命令按钮的CLICK事件代码:USE 图书copy TO TS FIELDS 书号,书名THISFORM.GRID1.RECORDSOURCETYPE=0THISFORM.GRID1.RECORDSOURCE=”TS”表单的UNLOAD(释放对象时发生)事件:CLOSE ALLDROP TABLE TS3、考生数据表(文件名为:KS.DBF)中有“准考证号/C/9”、“密码/C/6”、“成绩/N/5/1”等字段。
设计如图2所示表单,将考生数据表添加到表单的数据环境中,表单运行后,在表单的文本框TEXT1中输入查询考生的准考证号,文本框TEXT2中输入该考生的查询密码后,单击“查询”按钮,查询该考生的成绩,并将该考生的成绩显示在表单的标签LABEL3中(考号或密码输入错误,则弹出提示窗口显示“准考证号或密码错误!”)。
vfp表单所有习题参考标准答案
vfp表单所有习题参考答案————————————————————————————————作者:————————————————————————————————日期:VFP表单实验参考讲义一、标签和文本框(一)题目要求:(1)该表单的名称为“Form1”,标题为“密码输入窗口”,高度为190,宽度为300;(2)定义一个名称为“Label1”、标题为“请输入密码”、字号为10磅的标签;(3)定义一个名称为“Text1”的文本框,用于输入密码,当输入密码时,屏幕显示“*”;(4)定义一个名称为“Label2”的标签,标题为空,自动调整控件大小;(5)定义一个名称为“Command1”,标题为“显示密码”的按钮,当单击该按钮时,标签“Label2”显示输入的密码,编写Click事件代码(6)定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单。
(不得退出VFP系统)操作要点:1)注意将text1的属性passwordchar设置为:*2)label2的属性autosize设置为:.T.3)“显示密码”按钮Command1的Click事件代码:写法一:bel2.Caption=Thisform.Text1.Value写法二:X=Thisform.Text1.Valuebel2.Caption=X3)“关闭”的按钮Command2的Click事件代码:Thisform.Release(二)Command1 的CLICK事件代码:if thisform.text1.value="abc"bel2.caption="欢迎使用"elsebel2.caption="密码错误"EndifCommand2 的CLICK事件代码:thisform.release(三)代码编写:1)“确定”按钮Command1的Click事件代码:If Thisform.text1.value=”ABCD”Messagebox(“欢迎光临”,65,“密码正确“)ElseMessagebox(“禁止进入“,65,”密码错误“)Endif2)“关闭”的按钮Command2的Click事件代码:Thisform.Release(四)代码编写:1)“确定”按钮Command1的Click事件代码:r=val(thisform.text1.value)s=3.1415926*r*rmessagebox(str(s,5,2),65,”面积”)2) “关闭”的按钮Command2的Click事件代码:Thisform.Release(五)题目要求:(1) 该表单的名称为“Form1”,标题为“温度转换”,高度为260,宽度为400;2) 定义一个名称为“Label1”标题为“摄氏温度”的标签;再定义一个名称为“Label2”标题为“华氏温度”的标签,两个标签的字号均为11磅;3) 定义一个名称为“Text1”的文本框,用于输入摄氏温度,再定义一个名称为“Text2”的文本框,具有只读属性,用于显示华氏温度; 4) 定义一个名称为“Command1”,标题为“转换”的按钮,当单击该按钮时,将输入的摄氏温度转换成华氏温度并显示在Text2文本框中,编写其Click事件代码;其中:华氏温度=9/5*摄氏温度+32 5) 定义一个名称为“Command2”,标题为“关闭”的按钮,当单击该按钮时,释放该表单(不得退出VFP系统)。
vf题库 表单 操作题讲解
表单操作题1设计一个名为Frm01的表单,表单的控件名和文件名均为Frm01。
表单的形式如下图所示。
要求如下:1. 表单标题为"零件供应情况",表格控件为Grid1,命令按钮"查询"为Command1、"退出"为Command2,标签控件Label1 和文本框控件Text1(程序运行时用于输入工程号)。
2. 运行表单时,在文本框中输入工程号,单击"查询"命令按钮后,表格控件中显示相应工程所使用的零件的零件名、颜色和重量(通过设置有关"数据"属性实现),并将结果按"零件名"升序排序存储到pp.dbf文件。
单击"退出"按钮关闭表单。
答题要求:(1)将表格的recordsourcetype属性设为“0”(2)查询的单击事件:使用select语句,将查询结果存到一个表pp.dbf中,然后再将表格grid1的recordsource属性设为"pp"(3)表单备注文件不能删除查询按钮代码:SELECT 零件.零件名, 零件.颜色, 零件.重量;FROM 供应零件!供应INNER JOIN 供应零件!零件;ON 供应.零件号= 零件.零件号;WHERE 供应.工程号= thisform.text1.value;ORDER BY 零件.零件名;INTO TABLE pp.dbfthisform.grid1.recordsource=null &&这句话可以删除thisform.grid1.recordsource="pp"thisform.grid1.refreshthisform.refresh3求1到100以内的奇数,单击"计算"按钮后,首先清除列表框中原先的内容,然后显示结果,单击"退出"按钮后退出表单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.1表单的建立与运行●创建表单的过程,就是定义控件的属性,确定事件或方法、代码的过程。
●表单就是一个容器,它可以容纳多个控件。
●11.1.2用表单设计器创建表单●打开表单设计器:●C r e a t e f o r m●文件/新建/表单/新建文件11.1表单的建立与运行●2.表单设计器环境●(1)属性窗口●表单及其控件均称为对象,每个对象都有自己属性,事件和方法。
●有的属性值可以在设置框中输入,有的需要从系统所提供的一组属性值中指定●有的属性是只读的,用户不能修改,斜体显示●要为属性设置一个字符值,可以在设置框中直接输入,不要加定界符。
(2)表单控件工具栏要求会使用的控件:标签、文本框、编辑框、命令按钮、组合框、列表框和表格(3)表单设计器工具栏(4)表单菜单表单中的对象设计过程:向表单添加控件-->设置属性-->设计代码11.1.3表单的运行有2种方法可以运行表单:(1)直接使用命令D O F O R M〈表单名〉(2)在表单设计器窗口,选择“表单”菜单中的“运行”命令,或直接单击工具栏中的红色惊叹号。
保存表单时,表单将被保存为一个表单文件(扩展名是.s c x)和一个表单备注文件(扩展名是.s c t)(P196)11.2表单的操作11.2.1表单的属性1.常用表单属性表单属性很多,但绝大多数很少用到。
表11.3中列出了有关表单的一些重要属性,这些属性规定了表单的外观和行为,经常在表单设计时用到。
请大家参考表11.3。
11.2.2常用事件与方法事件:一种系统预先定义而由用户或系统发出的动作2.表单事件以下3个事件用于表单和表单集:(1)L o a d事件:该事件代码从表单装入内存至表单被释放期间仅被运行一次。
(2)U n L o a d事件:在表单被释放时发生,是释放表单或表单集的最后一个事件。
(3)A c t i v a t e事件:常用设置表单上控件的初值和初始属性。
3.鼠标事件C l i c k事件:鼠标左键单击对象时发生的事件。
4.键盘事件I n t e r a c t i v e C h a n g e事件。
7.常用方法R e l e a s e方法:从内存中释放表单R e f r e s h方法:刷新表单数据11.2.3控件的操作与布局1.控件的基本操作(1)选定控件:要用鼠标单击该控件即可。
(2)移动控件:先选定控件,然后用鼠标将控件拖动到所需要的位置即可。
(3)调整控件大小(4)复制控件(5)删除控件11.2.4 表单的数据环境●4.打开数据环境设计器●单击表单设计器工具栏上的“数据环境”按钮●选择“显示”菜单中的“数据环境”命令●5.向数据环境添加表或视图●6.从数据环境移去表或视图●7.在数据环境中设置关系●8.在数据环境中编辑关系●9.向表单添加字段11.3常用表单控件11.3.1添加表单控件表单中添加什么样的控件是根据需求决定的,一旦确定了控件的类型,就要定义控件的属性、确定事件和方法代码。
11.3.2表单控件及其属性1.标签控件(L a b l e)“标签”控件是按一定格式显示在表单上的文本信息,用来显示表单中各种说明和提示信息。
一旦“标签”控件的属性、事件和方法被定义,输出信息将根据这些定义,按指定的格式输出。
“标签”控件的属性主要包括:C a p t i o n,N a m e,F o n t N a m e,F o n t S i z e例子11.3表单中有3个标签。
当鼠标单击任何一个标签时,其他两个标签的标题文本互换。
T=t h i s f o r m.l a b e l2.c a p t i o nT h i s f o r m.l a b e l.c a p t i o n=t h i s f o r m.l a b e l3.c a p t i o nT h i s f o r m.l a b e l.c a p t i o=T11.3.2命令按钮控件“命令按钮”控件主要用来控制程序的执行过程,以及对表中数据的操作等。
“命令按钮”控件的属性主要包括:c a p t i o n,n a m e“命令按钮”控件的事件:c l i c k11.3.3文本框控件“文本框”控件主要用于表中非备注型和通用型字段值的输入、输出,以及内存变量赋值和输出等操作。
“文本框”控件与“标签”控件最主要的区别在于它们使用的数据源是不同的。
常用属性:V a l u e,C o n t r o l S o u r c e“标签”控件的数据源来自于其“C a p t i o n”属性,“文本框”控件的数据源来自于其“C o n t r o l S o u r c e”属性,可以是表中的非备注型、通用型字段和内存变量。
“文本框”控件的属性主要包括:“文本框”的大小,“文本框”中输入、输出信息字体的大小、风格和颜色等。
11.3.3编辑框控件和文本框相似,也是用来输入用户的数据,但编辑框的内容只能是文本数据。
例子11.4求100到1000间能被37整除的数。
要求在编辑框中显示输出结果,并通过命令按钮来控制输出。
k=0f o r x=100t o1000i f x%37=0t h i s f o r m.e d i t1.v a l u e=t h i s f o r m.e d i t1.v a l u e+s t r(x,5)k=k+1i f k%5=0t h i s f o r m.e d i t1.v a l u e=t h i s f o r m.e d i t1.v a l u e+c h r(13)e n d i fe n d i fe n df o r11.3.6列表框与组合框控件列表框(l i s t b o x)控件提供一组选项,用户可以从中选择一个或者多个选项。
列表框显示其中的若干选项,用户可以通过滚动条浏览其他选项。
要求掌握的属性:C o n t r o l S o u r c e、R o w S o u r c e、R o w S o u r c e T y p e任意时刻用户都能看到多个项11.3.6列表框与组合框控件“组合框”控件由一个列表框和一个编辑框组成。
两种类型:1、下拉组合框s t y l e属性为0的组合框可以通过滚动条查看也可以在框中直接输入查看2、下拉列表框s t y l e属性为2的组合框只能通过滚动条查看,任意时刻只能看见一项11.3.7表格控件(G r i d)表格是一个容器对象,包含列(C o l u m n)。
每个列对象包含一个标头(H e a d e r)和若干控件。
“表格”控件的主要属性是:C o l u m n c o u n t,用来定义表格的列数。
标头的主要属性:C a p t i o nC2-类型1-例子1设计表单f o r m1,表单中有命令按钮c o m m a n d1和编辑框e d i t1,单击命令按钮时将计算下面数列前n项(设n=50)中偶数项的和(结果取4位小数),并将结果显示在e d i t1中。
1/(1×2×3),1/(2×3×4),1/(3×4×5),……,1/(n×(n+1)×(n+2)),……结果:0.0568C2-类型2-例2设计表单f o r m1,表单中有命令按钮c o m m a n d1、一个编辑框e d i t1和一个文本框t e x t1,在e d i t1中输入下面内容:“T h e a u t h o r s w o u l d l i k e t o s i n c e r e l y t h a n k s e r i e s e d i t o r D a v i d C h a p p e l l f o r h i s i n v a l u a b l e a s s i s t a n c e i n r e v i e w i n g s e v e r a l e a r l y d r a f t s o f t h e m a n u s c r i p t a n d p r o v i d i n g u n w a v e r i n g c l a r i t y a n d v i s i o n d u r i n g m a j o r r e w r i t e s t o g u i d e t h e b o o k t o w a r d i t s c u r r e n t f o r m.W e w o u l d a l s o l i k e t o t h a n k R i c h B o n n e a u f o r h i s h e l p d u r i n g t h e i n i t i a l p l a n n i n g s t a g e s.”,单击命令按钮统计满足下面条件的字符的A S C I I码值的和:字符的A S C I I码值能被3整除;并将结果显示在t e x t1中。
注意:内容中不包含任意回车换行符。
C2-类型2-例3设计表单f o r m1,表单中有命令按钮c o m m a n d1、两个编辑框e d i t1和e d i t2,在e d i t1中输内容:"546363463424214398439583252341243452350932059549786546845684509345348 3683468034665893498954343894394346832894387233849683496783486306830669343954359 309346834893436438683496346346348765324234234235459487634534345345324 345634634631513534534634323867867846474",单击按钮分别统计出1、2和3在上面字符串中出现的次数,并将统计结果分三行显示在e d i t2中。
结果:41560C2-类型2-例4设计表单f o r m1,表单中有命令按钮c o m m a n d1和两个文本框t e x t1及t e x t2,在t e x t1中输入字符串"H o w a n d w h y W e b s e r v i c e s p r o v i d e t h e i d e a l f o u n d a t i o n f o r S O A",单击命令按钮计算该字符串奇数位置中每个字符的A S C I I码值的和,即H、W、a等,并将结果显示在t e x t2框中。