VFP实验课综合题目及答案.docx
《VFP实验课综合题目及答案.docx》由会员分享,可在线阅读,更多相关《VFP实验课综合题目及答案.docx(24页珍藏版)》请在冰豆网上搜索。

VFP实验课综合题目及答案
1.打开考生文件夹中的文件tk01.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的连续自然数的和,并用标签label1显示结果。
请把command1的click过程中的程序补充完整以实现上述功能。
s=1
fori=1to100step1
s=s+i
next
thisform.label1.caption=str(s)
2.打开考生文件夹中的文件tk02.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的之间的奇数的和,并用标签label1显示计算结果。
请将command1_click()过程中的程序补充完整,实现上述功能。
s=1
fori=1to100step2
s=s+i
next
thisform.label1.caption=str(s)
3.打开考生文件夹中的文件tk03.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的之间的偶数的和,并用标签label1显示计算结果。
请将command1_click()过程中的程序补充完整,实现上述功能。
s=1
fori=2to100step2
s=s+i
next
thisform.label1.caption=str(s)
4.本题素材是考生文件夹中的表单tk04.scx。
该表单的功能是:
在文本框中输入一个整数,单击命令按钮“判断”后,若该整数是偶数,则label2显示“该数是一个偶数”,若为奇数,则显示“该数是一个奇数”。
请将command1_click()中的程序补充完整以实现上述功能。
下图为运行效果,输入8,则label2显示该数是一个偶数。
将Command1.click中程序补充完整:
ifval(thisform.text1.value)%2=0
thisform.Label2.Caption="偶数"
else
thisform.Label2.Caption="奇数"
endif
5.打开考生文件夹中的文件tk05.scx,该表单上有一个标签Label1和一个命令按钮Command1(命令按钮标题为“计算”),表单实现的功能是求1!
+2!
+3!
+...+10!
,结果在标签label1中显示。
请在command1的click过程中编写程序以实现上述功能。
sum=0
s=1
fori=1to10
s=s*i
sum=sum+s
next
thisform.label1.caption=str(sum)
6.表单tk06.scx实现的功能是系统时钟,标签label2中每秒显示一次当前时间;单击设置字号(command1)可将标签label2中的文字大小设为16号。
完成以下操作实现该功能:
(1)设置计时器Timer1的时间间隔属性;
1000
(2)在command1的click过程中编写程序使得标签label2的字号为16;
Thisform.label2.fontsize=16
(3)在Timer1的Timer过程中编写程序使得标签label2中显示当前系统时间。
程序运行效果图如下:
Thisform.label2.caption=time()
7.本题素材为表单tk07.scx,该表单实现的功能是系统时钟,即在文本框中每秒显示一次当前时间;单击设置背景(command1)可设置文本框的背景颜色。
完成以下操作实现该功能:
(1)设置计时器Timer1的时间间隔属性;
1000
(2)在command1的click过程中编写程序使得文本框的背景颜色设为rgb(255,96,128);
Thisform.text1.backcolor=rgb(255,96,128)
(3)编写Timer1的Timer过程代码使得文本框中显示当前系统时间。
Thisform.text1.value=time()
程序运行效果图如下:
8.本题素材为考生文件夹中的表单文件tk08.scx。
该表单包含1个标签Label1,3个命令按钮command1“暂停”、command2“继续”和command3“退出”。
该表单的功能是:
Label1用来显示系统的当前时间;单击命令按钮command1,时钟暂停走动;thisform.timer1.enabled=.F
单击命令按钮command2,时钟继续显示系统的当前时间;
thisform.timer1.enabled=.T.
单击命令按钮command3,释放表单。
thisform.release
请分别在command1.Click()、command2.click()、command3.click()过程中编写代码实现上述功能。
9.表单tk09.scx实现的功能是设置文字的颜色,表单运行效果图如下:
编写程序实现以下功能:
单击命令按钮“设置文字颜色”时,设置标签的文字颜色为随机产生的颜色。
在Command1的Click事件中写如下程序:
r=INT(RAND()*256)
g=INT(RAND()*256)
b=INT(RAND()*256)
thisform.label1.ForeColor=RGB(r,g,b)
&&说明,rand()函数的返回值是0~1之间的数。
rand()乘以256再取整就能产生0~255之间的数。
11.本题素材为考生文件夹下的tk11.scx,表单运行效果图如下所示:
表单的功能是字体字号设置,表单内有一个标签对象(Label1的标题为“南昌科技大学”),一个列表框(List1)用来设置Label1的字号大小,一个下拉列表框(combo1用来设置Label1的字体),表单功能如下:
在列表框List1的Click事件中编写以下程序:
thisform.label1.fontsize=VAL(thisform.list1.Value)
在组合框Combo1的Click事件中编写以下程序:
thisform.label1.fontname=bo1.Value
12.本题素材为考生文件夹下的tk12.scx,表单运行效果图如下所示:
该表单上有一个标签对象和三个复选框,表单的功能是设置标签label1(标题为南昌科技大学)的字体样式,要求选中粗体则标签文字设为粗体,选中斜体则标签文字设为斜体,选中下划线则标签文字加上下划线。
Check1_click
Ifthis.value=1then
Thisform.label.fontbold=.T.
Else
Thisform.label.fontbold=.F.
endif
Check2_click
Ifthis.value=1then
Thisform.label.fontitalic=.T.
Else
Thisform.label.fontitalic=.F.
endif
Check3_click
Ifthis.value=1then
Thisform.label.fontunderline=.T.
Else
Thisform.label.fontunderline=.F.
endif
编写程序实现上述功能。
13.本题素材为考生文件夹中的表单文件tk13.scx,表单运行效果图如下所示:
该表单实现的功能是设置文本框中文字的字体,要求选中宋体则文本框的字体为宋体,选中幼圆则文本框的字体为幼圆,选中隶书则文本框的字体为隶书。
编写程序实现上述功能。
(方法不限)
Option1_click
Thisform.text1.fontname=”宋体”
Option2_click
Thisform.text1.fontname=”幼圆”
Option3_click
Thisform.text1.fontname=”隶书”
14.本题素材为考生文件夹中的表单文件tk14.scx,表单运行后界面如下图所示:
该表单实现的功能是选中红色选项按钮,则文本框中文字的颜色为红色(255,0,0);选中绿色则文本框中文字为绿色(0,255,0);选中蓝色则文本框中文字为蓝色(0,0,255);
Option1_click
Thisform.text1.forecolor=rgb(255,0,0)
Option2_click
Thisform.text1.forecolor=rgb(0,255,0)
Option3_click
Thisform.text1.forecolor=rgb(0,0,255)
单击退出按钮可以释放该表单。
Thisform.release
编写程序实现上述功能。
15.本题素材为考生文件夹中的表单文件tk15.scx,表单运行后界面如下图所示:
该表单实现的功能是选中红色选项按钮,则文本框的背景颜色为红色(255,0,0);选中绿色则文本框的背景颜色为绿色(0,255,0);选中蓝色则文本框的背景颜色为蓝色(0,0,255)。
(文本框的文字由你任意输入。
)
编写程序实现上述功能。
在OptionGroup1的Click事件中写下如下程序语句:
docase
casethis.value=1
thisform.Text1.BackColor=RGB(255,0,0)
casethis.value=2
thisform.Text1.BackColor=RGB(0,255,0)
casethis.value=3
thisform.Text1.BackColor=RGB(0,0,255)
endcase
16.本题素材为考生文件夹中的表单文件tk16.scx,数据环境中已经添加了表tk16_rc.dbf。
表单运行效果如下图所示:
该表单程序可以实现以下功能:
单击command1文本框中可显示第一条记录、单击command2可显示上一条记录、单击command3可显示下一条、单击command4可显示最后一条记录。
完成下列操作以实现上述功能:
(1)设置文本框"txt职称"和"txt工资现状"的相关属性,使得文本框与表中相应字段绑定;
(2)分别在command1(第一条)、command2(上一条)、command3(下一条)、command4(最后一条)的click过程中编写程序实现上述功能。
(1)设置各文本框的ControlSource属性为它们各自对应的字段。
(2)
在Command1的Click事件中:
gotop
thisform.refresh
在Command2的Click事件中:
ifnotbof()then
skip-1
thisform.refresh
endif
在Command3的Click事件中:
ifnoteof()then
skip
thisform.refresh
endif
在Command4的Click事件中:
gobottom
thisform.refresh
17.本题素材为考生文件夹中的表单文件tk17.scx,表单界面如下图所示,数据环境中已经添加了表tk17_xs.dbf。
本题素材为考生文件夹中的表单文件tk17.scx,表单界面如下图所示,数据环境中已经添加了表tk17_xs.dbf。
该表单程序可以实现以下功能:
单击command1文本框中可显示第一条记录、单击command2可显示上一条记录、单击command3可显示下一条、单击command4可显示最后一条记录。
完成下列操作以实现上述功能:
(1)设置各文本框的相关属性,使得文本框为只读;readonly
(2)分别在command1(第一条)、command2(上一条)、command3(下一条)、command4(最后一条)的click过程中编写程序实现上述功能。
Command1_click
Goto
Thisform.refesh
Command2_click
Ifnotbof()
Skip-1
Thisform.refesh
endif
Command1_click
Ifnoteof()
Skip
Thisform.refesh
endif
Command1_click
Gobottom
Thisform.refesh
18.本题素材为考生文件夹中的表单文件tk18.scx,数据环境中已添加表文件“tk18_dz.dbf”。
该表单实现的功能是:
在文本框text1中输入读者姓名,单击命令按钮查询可以查找到该读者的记录信息,把性别显示在文本框text2中,籍贯显示在文本框text3中,如果找不到记录则弹出一个消息框显示“查无此人!
”
在按钮command1(查询)的click过程中编写程序实现上述功能。
xm=alltrim(thisform.text1.value)
setexacton
ifxm<>""
locatefor姓名=xm
iffound()
thisform.text2.value=”性别”
thisform.text3.value=”籍贯”
else
messagebox=("没有找到这个人")
endif
thisform.text1.setfocus
endif
xm=alltrim(thisform.text1.value)
locatefor姓名=xm
iffound()
tisform.refresh
else
messagebox(“查无此人”)
endif
表单运行效果图如下所示:
20.本题素材为考生文件夹下的tk20.scx,scx,数据环境中已添加表“tk20_作者.dbf”。
该表单的功能是统计相应职称的人数。
表单运行效果如下图所示:
具体要求:
单击“统计”按钮,统计出作者表中教授和副教授的人数,并将统计结果输出到相应的文本框中;
countfor职称=”教授”toa
countfor职称=”副教授”tob
thisform.text1.value=a
thisform.text2.value=b
单击命令按钮“退出”可释放该表单。
thisform.release
编写程序实现上述功能。
21.本题素材为考生文件夹中的表单文件tk21.scx。
该表单实现的功能是:
单击命令按钮command1(设置背景)可以设置label1的背景色为蓝色,单击命令按钮command2(放大字体)可使得label1的字号增加2号,例如label1的字号原为12号,单击放大字体后label1的字号为14号。
请分别在按钮command1和command2的click过程中编写代码以便实现上述功能。
Command1_click
Thisform.label1.backcolor=rgb(0,0,255)
Command2_click
Thisform.label1.fontsize=Thisform.label1.fontsize=2
22.本题素材为考生文件夹下的tk22.scx,表单的功能是将输入的百分制成绩转换成五级制(优秀、良好、中等、及格、不及格)输出。
要求:
表单运行后,在文本框Text1中输入一个百分制成绩后,单击“判定等级”按钮,根据输入的成绩转换成相应的级别,在标签Label2处显示;单击“清空”按钮后,会自动清除Text1和label2中的内容。
请为这2个命令按钮的Click事件编写对应的程序代码实现上述功能。
Command1_click
cj=thisform.text1.value
docase
caseval(cj)>=90andval(cj)=<100
thisform.label2.caption="优秀"
caseval(cj)>=80
thisform.label2.caption="良好"
caseval(cj)>=70
thisform.label2.caption="中等"
caseval(cj)>=60
thisform.label2.caption="及格"
caseval(cj)<60
thisform.label2.caption="不及格"
endcase
Command2_click
Thisform.text1.value=””
Command1_click
cj=val(thisform.text1.value)
docase
casecj>=90andcj=<100
thisform.label2.caption="该学生成绩为:
优秀"
casecj>=80andcj<90
thisform.label2.caption="该学生成绩为:
良好"
casecj>=70andcj<80
thisform.label2.caption="该学生成绩为:
中等"
casecj>=60andcj<70
thisform.label2.caption="该学生成绩为:
及格"
casecj>=0andcj<60
thisform.label2.caption="该学生成绩为:
不及格"
endcase
23.本题素材为考生文件夹下的tk23.scx,表单包括1个标签、1个命令按钮和1个计时器控件。
表单运行效果如下图所示:
该表单运行时先以9号字体显示“预祝同学们顺利通过考试!
”字样,然后每隔一秒将字号放大一号,当达到30号字体时,又恢复成最初状态,即9号字体;单击命令按钮“退出”可释放该表单。
在属性窗口设置Timer1的Interval为100。
(2分)
在对象Timer1的Timer事件过程中编写以下程序:
(10分)
IFthisform.label1.FontSize<30
thisform.label1.Fontsize=thisform.label1.Fontsize+1
ELSE
thisform.label1.Fontsize=9
ENDIF
在对象Command1的Click事件过程中编写以下程序:
(3分)
thisform.release
编写程序实现上述功能。
24.本题素材为考生文件夹下的tk24.scx,表单包括1个标签、1个命令按钮和1个计时器控件。
表单运行效果如下图所示:
该表单的功能是文字从右向左移动,要求:
标签Label1每隔1秒自动从右向左移动5个像素单位,移到窗口左边界时标签回到窗口右边重新向左移动;单击命令按钮“退出”可释放该表单。
thisform.label1.left=thisform.label1.left-5
ifthisform.label.left<=0
thisform.label1.left=thisform.width-thisform.label1.width
endif
补充题目
第一个
从左向右
thisform.label1.left=thisform.label1.left+5
ifthisform.label.left>=thisform.width
thisform.label1.left=0-thisform.label1.width
endif
第二个
从上向下
thisform.label1.top=thisform.label1.top+5
ifthisform.label.top>=thisform.height
thisform.label1.top=0-thisform.label1.height
endif
第三个
从下向上
thisform.label1.top=thisform.label1.top-5
ifthisform.label.top<0
thisform.label1.top=thisform.height-thisform.label1.height
endif
25.本题素材为考生文件夹下的tk25.scx,表单包括1个标签、1个命令按钮和1个计时器控件。
表单运行效果如下图所示:
该表单的功能是文字从上向下移动,要求:
标签Label1每隔0.5秒自动从上向下移动5个像素单位,移到窗口下边界时标签回到窗口上边重新向下移动;单击命令按钮“退出”可释放该表单。
编写程序实现上述功能。
在属性窗口设置Timer1的Interval为500。
在对象Timer1的Timer事件过程中编写如下程序:
IFthisform.label1.Topthisform.label1.Top=thisform.label1.Top+5
ELSE
thisform.label1.Top=-thisform.label1.Height
ENDIF
在对象Command1的Click事件过程中编写如下程序:
thisform.release
26.打开考生文件夹中的文件tk26.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算1到100以内3的倍数的和,并用标签label1显示结果。
请把command1的click过程中的程序补充完整以实现上述功能。
在Command1的Click事件过程中编写如下程序:
S=0
fori=3to100step3
s=s+i
endfor
thisform.label1.caption=alltrim(str(s))
23.本题素材为考生文件夹中的表单文件vfp10.scx,数据环境中已添加表文件“学生9.dbf”和“成绩9.dbf”。
该表单功能通过姓名查找指定学生的平均成绩,执行效果如图所示。
要求:
(1)补充完整list1的click过程代码,在有[?
]的地方填入正确内容,然后删除[?
],使得用户在列表框list1中选择姓名后,文本框text1将显示对应学生的所有课程的总平均成绩;如果该学生没有成绩则弹出一个消息框显示“该生没有考试!
”?
?
?
(2)编写代码使得按"退出"按钮时释放表单。
Thisform.release
24..设置密码一题
Thisform.Label2.ViSible=.T.
IfThisform.Text1.Value="123456"then
Thisform.Label2.Caption=“欢迎登录学生成绩管理系统!
”
Else
Thisform.Label2.Caption=“你输入的密码错误!
”
Endif
Thisform.Refresh
Listallfor“小”$姓名
Listforsubstr(姓名,1,2)=”张”
Listforsubstr(姓名,3,2)=”张”
Listforsubstr(姓名,5,2)=”张”
Replaceall单价with