当前位置:文档之家› VFP实验课综合题目及答案讲解

VFP实验课综合题目及答案讲解

VFP实验课综合题目及答案讲解
VFP实验课综合题目及答案讲解

标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的连续自然数的和,并用标签label1显示结果。请把command1的click过程中的程序补充完整以实现上述功能。

s=1

for i=1 to 100 step 1

s=s+i

next

https://www.doczj.com/doc/f9438195.html,bel1.caption=str(s)

2.打开考生文件夹中的文件tk02.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的之间的奇数的和,并用标签label1显示计算结果。

请将command1_click()过程中的程序补充完整,实现上述功能。

s=1

for i=1 to 100 step 2

s=s+i

next

https://www.doczj.com/doc/f9438195.html,bel1.caption=str(s)

3.打开考生文件夹中的文件tk03.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算从1到100的之间的偶数的和,并用标签label1显示计算结果。

请将command1_click()过程中的程序补充完整,实现上述功能。

s=1

for i=2 to 100 step 2

s=s+i

next

https://www.doczj.com/doc/f9438195.html,bel1.caption=str(s)

4.本题素材是考生文件夹中的表单tk04.scx。该表单的功能是:在文本框中输入一个整数,单击命令按钮“判断”后,若该整数是偶数,则label2显示“该数是一个偶数”,若为奇数,则显示“该数是一个奇数”。

请将command1_click()中的程序补充完整以实现上述功能。下图为运行效果,输入8,则label2显示该数是一个偶数。

将Command1.click中程序补充完整: if val(thisform.text1.value)%2=0 https://www.doczj.com/doc/f9438195.html,bel2.Caption = "偶数" else

https://www.doczj.com/doc/f9438195.html,bel2.Caption = "奇数"

endif

算”),表单实现的功能是求1!+2!+3!+...+10!,结果在标签label1中显示。

请在command1的click过程中编写程序以实现上述功能。

sum=0

s=1

for i=1 to 10

s=s*i

sum=sum+s

next

https://www.doczj.com/doc/f9438195.html,bel1.caption=str(sum)

6.表单tk06.scx实现的功能是系统时钟,标签label2中每秒显示一次当前时间;单击设置字号(command1)可将标签label2中的文字大小设为16号。

完成以下操作实现该功能:

(1)设置计时器Timer1的时间间隔属性;

1000

(2)在command1的click过程中编写程序使得标签label2的字号为16;

https://www.doczj.com/doc/f9438195.html,bel2.fontsize=16

(3)在Timer1的Timer过程中编写程序使得标签label2中显示当前系统时间。

程序运行效果图如下:

https://www.doczj.com/doc/f9438195.html,bel2.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)

https://www.doczj.com/doc/f9438195.html,bel1.ForeColor=RGB(r,g,b)

&&说明,rand()函数的返回值是0~1之间的数。rand()乘以256再取整就能产生0~255之间的数。

11.

本题素材为考生文件夹下的tk11.scx ,表单运行效果图如下所示:

表单的功能是字体字号设置,表单内有一个标签对象(Label1的标题为“南昌科技大学”),一个列表框(List1)用来设置Label1的字号大小,一个下拉列表框(combo1用来设置Label1的字体),表单功能如下: 在列表框List1的Click 事件中编写以下程序:

https://www.doczj.com/doc/f9438195.html,bel1.fontsize=VAL(thisform.list1.Value) 在组合框Combo1的Click 事件中编写以下程序:

https://www.doczj.com/doc/f9438195.html,bel1.fontname=https://www.doczj.com/doc/f9438195.html,bo1.Value

12.

本题素材为考生文件夹下的tk12.scx ,表单运行效果图如下所示:

该表单上有一个标签对象和三个复选框,表单的功能是设置标签label1(标题为南昌科技大学)的字体样式,要求选中粗体则标签文字设为粗体,选中斜体则标签文字设为斜体,选中下划线则标签文字加上下划线。 Check1_click If this.value=1 then https://www.doczj.com/doc/f9438195.html,bel.fontbold=.T. Else https://www.doczj.com/doc/f9438195.html,bel.fontbold=.F. endif Check2_click If this.value=1 then https://www.doczj.com/doc/f9438195.html,bel.fontitalic=.T. Else https://www.doczj.com/doc/f9438195.html,bel.fontitalic=.F. endif Check3_click If this.value=1 then https://www.doczj.com/doc/f9438195.html,bel.fontunderline=.T. Else https://www.doczj.com/doc/f9438195.html,bel.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事件中写下如下程序语句:

do case

case this.value=1

thisform.Text1.BackColor = RGB(255,0,0)

case this.value=2

thisform.Text1.BackColor = RGB(0,255,0)

case this.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 事件中: go top

thisform.refresh

在Command2的Click 事件中: if not bof() then skip -1

thisform.refresh endif

在Command3的Click 事件中: if not eof() then skip

thisform.refresh endif

在Command4的Click 事件中: go bottom

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 Go to Thisform.refesh Command2_ click

If not bof() Skip -1 Thisform.refesh

endif Command1_ click

If not eof() Skip Thisform.refesh

endif

Command1_ click

Go bottom

Thisform.refesh

18.本题素材为考生文件夹中的表单文件tk18.scx,数据环境中已添加表文件“tk18_dz.dbf”。

该表单实现的功能是:在文本框text1中输入读者姓名,单击命令按钮查询可以查找到该读者的记录信息,把性别显示在文本框text2中,籍贯显示在文本框text3中,如果找不到记录则弹出一个消息框显示“查无此人!”

在按钮command1(查询)的click过程中编写程序实现上述功能。

xm=alltrim(thisform.text1.value) set exact on

if xm<>""

locate for 姓名=xm

if found()

thisform.text2.value=”性别”thisform.text3.value=”籍贯”

else

messagebox=("没有找到这个人") endif thisform.text1.setfocus

endif

xm=alltrim(thisform.text1.value) locate for 姓名=xm

if found()

tisform.refresh

else

messagebox(“查无此人”)

endif

表单运行效果图如下所示:

20.本题素材为考生文件夹下的tk20.scx,scx,数据环境中已添加表“tk20_作者.dbf”。该表单的功能是统计相应职称的人数。表单运行效果如下图所示:

具体要求:单击“统计”按钮,统计出作者表中教授和副教授的人数,并将统计结果输出到相应的文本框中;

count for职称=”教授” to a

count for职称=”副教授” to b

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

https://www.doczj.com/doc/f9438195.html,bel1.backcolor=rgb(0,0,255)

Command2_ click

https://www.doczj.com/doc/f9438195.html,bel1.fontsize= https://www.doczj.com/doc/f9438195.html,bel1.fontsize=2

22.本题素材为考生文件夹下的tk22.scx,表单的功能是将输入的百分制成绩转换成五级制(优秀、良好、中等、及格、不及格)输出。

要求:表单运行后,在文本框Text1中输入一个百分制成绩后,单击“判定等级”按钮,根据输入的成绩转换成相应的级别,在标签Label2处显示;单击“清空”按钮后,会自动清除Text1和label2中的内容。请为这2个命令按钮的Click事件编写对应的程序代码实现上述功能。

Command1_ click

cj=thisform.text1.value

do case

case val(cj)>=90 and val(cj)=<100 https://www.doczj.com/doc/f9438195.html,bel2.caption="优秀" case val(cj)>=80

https://www.doczj.com/doc/f9438195.html,bel2.caption="良好" case val(cj)>=70

https://www.doczj.com/doc/f9438195.html,bel2.caption="中等" case val(cj)>=60

https://www.doczj.com/doc/f9438195.html,bel2.caption="及格" case val(cj)<60

https://www.doczj.com/doc/f9438195.html,bel2.caption="不及格" endcase

Command2_ click

Thisform.text1.value=””Command1_ click

cj= val (thisform.text1.value)

do case

case cj>=90 and cj=<100

https://www.doczj.com/doc/f9438195.html,bel2.caption="该学生成绩为:优秀" case cj>=80 and cj<90

https://www.doczj.com/doc/f9438195.html,bel2.caption="该学生成绩为:良好" case cj>=70 and cj<80

https://www.doczj.com/doc/f9438195.html,bel2.caption="该学生成绩为:中等" case cj>=60 and cj<70

https://www.doczj.com/doc/f9438195.html,bel2.caption="该学生成绩为:及格" case cj>=0 and cj<60

https://www.doczj.com/doc/f9438195.html,bel2.caption="该学生成绩为:不及格" endcase

23.

本题素材为考生文件夹下的tk23.scx ,表单包括1个标签、1个命令按钮和1个计时器控件。表单运行效

果如下图所示:该表单运行时先以9号字体显示“预祝同学们顺利通过考试!”字样,然后每隔一秒将字号放大一号,当达到30号字体时,又恢复成最初状态,即9号字体;单击命令按钮“退出”可释放该表单。

在属性窗口设置Timer1的Interval 为100。(2分)

在对象Timer1的Timer 事件过程中编写以下程序:(10分) IF https://www.doczj.com/doc/f9438195.html,bel1.FontSize<30

https://www.doczj.com/doc/f9438195.html,bel1.Fontsize=https://www.doczj.com/doc/f9438195.html,bel1.Fontsize+1 ELSE

https://www.doczj.com/doc/f9438195.html,bel1.Fontsize=9 ENDIF

在对象Command1的Click 事件过程中编写以下程序:(3分) thisform.release

编写程序实现上述功能。

24.

本题素材为考生文件夹下的tk24.scx ,表单包括1个标签、1个命令按钮和1个计时器控件。表单运行效果如

下图所示:

该表单的功能是文字从右向左移动,要求:标签Label1每隔1秒自动从右向左移动5个像素单位,移到窗口左边界时标签回到窗口右边重新向左移动;单击命令按钮“退出”可释放该表单。 https://www.doczj.com/doc/f9438195.html,bel1.left= https://www.doczj.com/doc/f9438195.html,bel1.left-5 if https://www.doczj.com/doc/f9438195.html,bel.left<=0 https://www.doczj.com/doc/f9438195.html,bel1.left=https://www.doczj.com/doc/f9438195.html,bel1.width endif 补充题目

第一个

从左向右

https://www.doczj.com/doc/f9438195.html,bel1.left=https://www.doczj.com/doc/f9438195.html,bel1.left+5 if https://www.doczj.com/doc/f9438195.html,bel.left>= thisform.width https://www.doczj.com/doc/f9438195.html,bel1.left=https://www.doczj.com/doc/f9438195.html,bel1.width endif 第二个 从上向下 https://www.doczj.com/doc/f9438195.html,bel1.top=https://www.doczj.com/doc/f9438195.html,bel1.top+5

if https://www.doczj.com/doc/f9438195.html,bel.top>= thisform.height https://www.doczj.com/doc/f9438195.html,bel1.top=https://www.doczj.com/doc/f9438195.html,bel1.height endif 第三个 从下向上 https://www.doczj.com/doc/f9438195.html,bel1. top =https://www.doczj.com/doc/f9438195.html,bel1. top -5 if https://www.doczj.com/doc/f9438195.html,bel. top <0

https://www.doczj.com/doc/f9438195.html,bel1. top =thisform. https://www.doczj.com/doc/f9438195.html,bel1. height endif

25.本题素材为考生文件夹下的tk25.scx,表单包括1个标签、1个命令按钮和1个计时器控件。表单运行效果如下图所示:

该表单的功能是文字从上向下移动,要求:标签Label1每隔0.5秒自动从上向下移动5个像素单位,移到窗口下边界时标签回到窗口上边重新向下移动;单击命令按钮“退出”可释放该表单。

编写程序实现上述功能。

在属性窗口设置Timer1的Interval为500。

在对象Timer1的Timer事件过程中编写如下程序:

IF https://www.doczj.com/doc/f9438195.html,bel1.Top

https://www.doczj.com/doc/f9438195.html,bel1.Top=https://www.doczj.com/doc/f9438195.html,bel1.Top+5

ELSE

https://www.doczj.com/doc/f9438195.html,bel1.Top=https://www.doczj.com/doc/f9438195.html,bel1.Height

ENDIF

在对象Command1的Click事件过程中编写如下程序:

thisform.release

26.打开考生文件夹中的文件tk26.scx,该表单上有两个标签Label1、Label2和一个命令按钮Command1(命令按钮标题为“求和”),表单实现的功能是单击命令按钮后可计算1到100以内3的倍数的和,并用标签label1显示结果。

请把command1的click过程中的程序补充完整以实现上述功能。

在Command1的Click事件过程中编写如下程序:

S=0

for i=3 to 100 step 3

s=s+i

endfor

https://www.doczj.com/doc/f9438195.html,bel1.caption=alltrim(str(s))

23.本题素材为考生文件夹中的表单文件vfp10.scx,数据环境中已添加表文件“学生9.dbf”和“成绩9.dbf”。该表单功能通过姓名查找指定学生的平均成绩,执行效果如图所示。

要求:

(1)补充完整list1的click过程代码,在有[ ?]的地方填入正确内容,然后删除[ ?],使得用户在列表框list1中选择姓名后,文本框text1将显示对应学生的所有课程的总平均成绩;如果该学生没有成绩则弹出一个消息框显示“该生没有考试!”???

(2)编写代码使得按"退出"按钮时释放表单。

Thisform.release

24..设置密码一题

https://www.doczj.com/doc/f9438195.html,bel2.ViSible=.T.

If Thisform.Text1.Value="123456" then

https://www.doczj.com/doc/f9438195.html,bel2.Caption=“欢迎登录学生成绩管理系统!”

Else

https://www.doczj.com/doc/f9438195.html,bel2.Caption=“你输入的密码错误!”

Endif

Thisform.Refresh

List all for “小”$姓名

List for substr(姓名,1,2)=”张”

List for substr(姓名,3,2)=”张”

List for substr(姓名,5,2)=”张”

Replace all 单价 with 22.50

Replace 奖金 with 100 for 职称=”副教授”

Replace 职称 with “助教” for 教师编号=”0002” or 教师编号=”0003”

Replace all 工作时间 with {^2007-09-01}

【例7-12】设计一表单,可以通过一文本框对列表框进行项目的添加、删除操作,其界面如图7-40所示。

(1)选择控件

在表单上添加一个列表框控件Listl,一个文本框控件Text1和两个按钮控件command1、command2。

(2)属性设置

Forml的Caption属性设为“课程管理”。

Command1的Caption属性设为“添加”。

Command1的Caption属性设为“删除”。

(3)编写代码

窗体Forml的Init代码如下:

thisform.list1.AddItem ("计算机文化基础")

thisform.list1.AddItem ("大学英语")

thisform.list1.AddItem ("高等数学")

按钮Command1的Click代码如下:

kecheng=thisform.text1.Value

thisform.list1.additem (kecheng)

thisform.text1.Value=""

按钮Command2的Click代码如下:

thisform.list1.RemoveItem(thisform.list1.ListIndex )

上一条:

if not bof() then

skip -1

thisform.refresh

endif

下一条:

if not eof() then

skip

thisform.refresh

endif

打开:

Set sysmenu to default 退出:

quit

调用表单:

Do form xs.scx

相关主题
文本预览
相关文档 最新文档