用VB编写抽奖程序
{ 一、界面设计
新建一个标准的EXE工程。在Form1窗体中放置一个定时器(Timer1)、两个文本框(Label1,Label2)、两个命令按钮(Command1,Command2)和包含7个元素的控件数组(Label3(0)—Label3(6))。
二、属性设置
Label3控件数组中的所有元素皆采用相同设置。
三、代码编写
本itpower.com/Dev/index.html" target=_blank>程序的实现原理是:当用户单击“开始”按钮时,打开定时器,利用定时器控件同时产生两个随机数sj1、sj2,sj1的范围是1~32,sj2的范围是0~49。当sj1=24的时侯,用sj2与前面产生的中奖号码作比较,若与前面的中奖相同,则退出本过程;若与前面的中奖号码不同,则将此随机数作为中奖号码。当产生了7个中奖号码时,关闭定时器控件,停止产生随机数。
本itpower.com/Dev/index.html" target=_blank>程序用到的函数简介:
(1)Randomize:初始化随机数的种子数。
(2)Int():返回一个非整形数字取整后的整数。
(3)Rnd:产生一个0~1之间的随机数(大于等于0,但小于1)。
(4)Qbcolor():返回参数(0~15)对应的颜色。
(5)Val:将一个itpower.com/Dev/Programme/VC/Str/index.html" target=_blank>字符形变量转化为一个数值型变量。
(6)Format:格式化一个表达式。
以下是itpower.com/Dev/index.html" target=_blank>程序的完整代码:
新建一个标准的EXE工程。在Form1窗体中放置一个定时器(Timer1)、两个文本框(Label1,Label2)、两个命令按钮(Command1,Command2)和包含7个元素的控件数组(Label3(0)—Label3(6))。
二、属性设置
Label3控件数组中的所有元素皆采用相同设置。
三、代码编写
本itpower.com/Dev/index.html" target=_blank>程序的实现原理是:当用户单击“开始”按钮时,打开定时器,利用定时器控件同时产生两个随机数sj1、sj2,sj1的范围是1~32,sj2的范围是0~49。当sj1=24的时侯,用sj2与前面产生的中奖号码作比较,若与前面的中奖相同,则退出本过程;若与前面的中奖号码不同,则将此随机数作为中奖号码。当产生了7个中奖号码时,关闭定时器控件,停止产生随机数。
本itpower.com/Dev/index.html" target=_blank>程序用到的函数简介:
(1)Randomize:初始化随机数的种子数。
(2)Int():返回一个非整形数字取整后的整数。
(3)Rnd:产生一个0~1之间的随机数(大于等于0,但小于1)。
(4)Qbcolor():返回参数(0~15)对应的颜色。
(5)Val:将一个itpower.com/Dev/Programme/VC/Str/index.html" target=_blank>字符形变量转化为一个数值型变量。
(6)Format:格式化一个表达式。
以下是itpower.com/Dev/index.html" target=_blank>程序的完整代码:
1
Dim sy As Integer
2
′命令按钮1的单击事件
3
Private Sub Command1_Click()
4
′清除Label3控件数组的内容
5
For i=0 To 6
6
Label3(i).Caption=″″
7
Next
8
Timer1.Enabled=True′打开定时器
9
Command1.Enabled=False′使开始按钮失效
10
sy=-1′索引值初始化为-1
11
End Sub
12
′命令按钮2的单击事件
13
Private Sub Command2_Click()
14
Unload Me ′卸载本窗体
15
End Sub
16
′定时器1的定时事件
17
Private Sub Timer1_Timer()
18
Dim sj1,sj2,ys As Integer
19
Randomize′初始化随机数
20
sj1=Int(Rnd*32)+1
21
sj2=Int(Rnd*50)
22
Label1.Caption=sj1′设置标签1的内容
23
ys=Int(Rnd*6)+9
24
Label1.ForeColor=QBColor(ys)
25
If sj2=24 Then′如果sj2等于24
26
sy=sy+1′索引值加1
27
For a=o To sy
28
If sj1=Val(Label3(a).Caption) Then
29
sy=sy - 1
30
Exit Sub
31
End If
32
Next
33
Label3(sy).Caption=Format(sj1, ″00″)
34
Label3(sy).ForeColor=QBColor(ys)
35
End If
36
If sy=6 Then′如果索引值等于6
37
Timer1.Enabled=False ′关闭定时器
38
Command1.Enabled=True ′使命令按钮有效(即可重新开始抽奖)
39
End If
40
End Sub
41
单击工具栏上的“启动”按钮,启动抽奖itpower.com/Dev/index.html" target=_blank>程序。单击“开始”按钮,Label1控件将用五彩缤纷的颜色快速显示1~32之间的数字,并在Label3控件数组中产生一组7个数字的中奖号码。再次单击“开始”按钮,itpower.com/Dev/index.html" target=_blank>程序将自动清除Label3控件数组中的内容,并重新产生一组7个数字的中奖号码(与前面的不相同)。2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41