用VB编写抽奖程序教学设计

一、界面设计

新建一个标准的exe工程。在form1窗体中放置一个定时器(timer1)、两个文本框(label1,label2)、两个命令按钮(command1,command2)和包含7个元素的控件数组(label3(0)—label3(6))。

二、属性设置

label3控件数组中的所有元素皆采用相同设置。

三、代码编写

本程序的实现原理是:当用户单击“开始”按钮时,打开定时器,利用定时器控件同时产生两个随机数sj1、sj2,sj1的范围是1 32,sj2的范围是0 49。当sj1=24的时侯,用sj2与前面产生的中奖号码作比较,若与前面的中奖相同,则退出本过程;若与前面的中奖号码不同,则将此随机数作为中奖号码。当产生了7个中奖号码时,关闭定时器控件,停止产生随机数。

本程序用到的函数简介:

(1)randomize:初始化随机数的种子数。

(2)int():返回一个非整形数字取整后的整数。

(3)rnd:产生一个0 1之间的随机数(大于等于0,但小于1)。

(4)qbcolor():返回参数(0 15)对应的颜色。

(5)val:将一个字符形变量转化为一个数值型变量。

(6)format:格式化一个表达式。

以下是程序的完整代码:

dim sy as integer

′命令按钮1的单击事件

private sub command1_click()

′清除label3控件数组的内容

for i=0 to 6

label3(i).caption=′′

next

timer1.enabled=true′打开定时器

command1.enabled=false′使开始按钮失效

sy=-1′索引值初始化为-1

end sub

′命令按钮2的单击事件

private sub command2_click()

unload me ′卸载本窗体

end sub

′定时器1的定时事件

private sub timer1_timer()

dim sj1,sj2,ys as integer

randomize′初始化随机数

sj1=int(rnd*32) 1

sj2=int(rnd*50)

label1.caption=sj1′设置标签1的内容

ys=int(rnd*6) 9

label1.forecolor=qbcolor(ys)

if sj2=24 then′如果sj2等于24

sy=sy 1′索引值加1

for a=o to sy

if sj1=val(label3(a).caption) then

sy=sy - 1

exit sub

end if

next

label3(sy).caption=format(sj1, ′00′)

label3(sy).forecolor=qbcolor(ys)

end if

if sy=6 then′如果索引值等于6

timer1.enabled=false ′关闭定时器

command1.enabled=true ′使命令按钮有效(即可重新开始抽奖)

end if

end sub

单击工具栏上的“启动”按钮,启动抽奖程序。单击“开始”按钮,label1控件将用五彩缤纷的颜色快速显示1 32之间的数字,并在label3控件数组中产生一组7个数字的中奖号码。再次单击“开始”按钮,程序将自动清除label3控件数组中的内容,并重新产生一组7个数字的中奖号码(与前面的不相同)。

<
展开阅读全文

页面更新:2024-03-13

标签:教案   信息技术   高中信息技术   程序   随机数   定时器   窗体   控件   单击   中奖号码   按钮   索引   数字

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top