1. 在给定“学生.DBF”表文件中包含有“学号”、“姓名”字段,对学号编制一个抽奖表单。要求,不能有重复中奖学生。程序运行时,字号在文本框中显示,用标签显示中奖学生的学号、姓名。应有“开始”、“抽取”、“退出”控件。建议表单(Form1)包括的控件是:一个文本框(Text1)、两个标签(Label1、Label2)、三个按钮(Command1、Command2、Command3)和一个计时器(Timer1)。
请编写:
(1)表单Form1的Init事件代码:
this.text1.value="学生学号" &&文本框显示初值“学生学号”
this.label2.visible=.f. &&标签label2不可见
this.timer1.enabled=.f. &&计时器timer1不可用
this.timer1.interval=10 &&计时器时间间隔为10/1000秒(即0.01秒)
(2)“开始”按钮Command1的Click事件代码:
set delete on &&隐藏已加入删除标记的记录
thisform.timer1.enabled=.t. &&使计时器可用
thisform.label2.visible=.f. &&标签label2不可见
(3)“选中”按钮Command2的Click事件代码:
thisform.timer1.enabled=.f.
thisform.label2.caption="中奖学生是:学号 "+ thisform.text1.value+" 姓名"+姓名 thisform.label2.visible=.t. delete
(4)“退出”按钮Command3的Click事件代码:
recall all &&恢复已做删除标记的所有记录
thisform.release
(5)计时器(Timer1)的Timer事件代码:
if !eof() &&如果不到记录尾
skip &&跳到下一记录,频率由Timer值决定。
Else &&如果已到记录尾
go top &&跳到第一条记录
endif
thisform.text1.value=alltrim(学号) &&显示学生的学号
thisform.refresh
2. 编制一个表单完成表文件“学生.dbf”内容的只读浏览显示功能;表单初始显示内容为表文件“学生.dbf”的首记录;当按前翻、后翻、首记录、末记录按钮时,表单将自动显示相应记录的内容;当翻至表头或表尾时,将自动设置相应按钮不可访问。参见下面的表单设计及运行示意图。
表单(Form1)的Init(初始化)事件代码
thisform.command1.enabled=.f.
thisform.command2.enabled=.f.
“首记录”(Command1)的Click(单击)事件代码
go top
thisform.command1.enabled=.f.
thisform.command2.enabled=.f.
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
thisform.refresh
“上一记录”(Command2)的Click(单击)事件代码
if !bof()
skip -1
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
else
thisform.command1.enabled=.f.
thisform.command2.enabled=.f.
endif
thisform.refresh
“下一记录”(Command3)的Click(单击)事件代码
if !eof()
skip
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
else
thisform.command3.enabled=.f.
thisform.command4.enabled=.f.
endif
thisform.refresh
“未记录”(Command4)的Click(单击)事件代码
go bottom
thisform.command4.enabled=.f.
thisform.command3.enabled=.f.
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
thisform.refresh
3. 编制一个显示当前时间的时钟显示界面,要求每秒动态跳动一次,并将表单的背景设置蓝,绿两色自动变换(与时间同步切换),Timer1的Interval属性已在属性窗口中设置完成。
请编写计时器(Timer1)的Timer事件代码:
thisform.text1.value=time() &&使文本框显示系统时间
if val(right(time(),2))%2=0 &&如果秒值是2秒的整数倍。
thisform.backcolor=rgb(0,255,0) &&表单背景为绿色
else
thisform.backcolor=rgb(0,0,255) &&表单背景为篮色
endif
4. 请设计一个右图所示的表单。表单实现的功能是:单击字体按钮和颜色按钮,“欢迎使用VFP!”的字体和颜色会随之改变。表单(Form1)包括的控件有:两个命令按钮组(Commandgroup1、Commandgroup2)、一个标签(Label1)。请写出相应控件的事件代码。
请写出:
(1)命令按钮组Commandgroup1的Click事件代码。
(2)命令按钮组Commandgroup2的Click事件代码。
命令按钮组Commandgroup1的Click事件代码
do case
case this.value=1
thisform.label1.fontname="隶书"
case this.value=2
thisform.label1.fontname="楷体_GB2312"
case this.value=3
thisform.label1.fontname="黑体"
case this.value=4
thisform.label1.fontname="仿宋_GB2312"
endcase
命令按钮组Commandgroup2的Click事件代码
do case
case this.value=1
thisform.label1.forecolor=rgb(255,0,0)
case this.value=2
thisform.label1.forecolor=rgb(0,0,255)
case this.value=3
thisform.label1.forecolor=rgb(0,255,0)
case this.value=4
thisform.label1.forecolor=rgb(255,255,0)
endcase
本文来源:https://www.2haoxitong.net/k/doc/d7dfc66c7275a417866fb84ae45c3b3566ecdd7b.html
文档为doc格式