VB编写一个抽奖小程序,要求每次抽奖的数字不重复

VB编写一个抽奖小程序,要求每次抽奖的数字不重复,第1张

Dim n As Integer

Dim a()

Private Sub Command1_Click()

    If n = 0 Then            '第一次点击时执行

        m = Val(Text1)

        ReDim a(1 To m)

        For i = 1 To m      '生成数组a,元素为1至m这m个数

            a(i) = i

        Next

        For i = 1 To m - 1             '随机打乱数组a中元素

            r = Int(Rnd  m + 1)

            tmp = a(i)

            a(i) = a(r)

            a(r) = tmp

        Next

    End If

    n = n + 1                 '计数点击次数

    If n > Val(Text1) Then    '次数超过指定次数,抽奖结束

        MsgBox "抽奖结束!"

        Exit Sub

    End If

    Text2 = a(n)              '从数组中抽出第n个数,由于数组中是随机排列,所以相当于生成一个随机数,并且不会重复

End Sub

在窗体上添加一个command1,一个timer1,label1(0~5)

控件数组(添加一个label1,然后再复制5个,共6个,用来显示数字),代码如下:

Private

Sub

Command1_Click()

If

Command1Caption

=

"抽奖"

Then

Command1Caption

=

"停止"

Timer1Enabled

=

True

Else

Timer1Enabled

=

False

Command1Caption

=

"抽奖"

End

If

End

Sub

Private

Sub

Form_Load()

Command1Caption

=

"抽奖"

Timer1Interval

=

50

Timer1Enabled

=

False

End

Sub

Private

Sub

Timer1_Timer()

Randomize

For

i

=

0

To

5

Label1(i)

=

Int(10

Rnd)

Select

Case

Label1(i)Caption

Case

0

Label1(i)BackColor

=

RGB(0,

0,

0)

Label1(i)ForeColor

=

RGB(255,

255,

255)

Case

1

Label1(i)BackColor

=

RGB(128,

42,

42)

Label1(i)ForeColor

=

RGB(127,

213,

213)

Case

2

Label1(i)BackColor

=

RGB(255,

0,

0)

Label1(i)ForeColor

=

RGB(0,

255,

255)

Case

3

Label1(i)BackColor

=

RGB(255,

97,

0)

Label1(i)ForeColor

=

RGB(0,

158,

255)

Case

4

Label1(i)BackColor

=

RGB(255,

255,

0)

Label1(i)ForeColor

=

RGB(0,

0,

255)

Case

5

Label1(i)BackColor

=

RGB(0,

255,

0)

Label1(i)ForeColor

=

RGB(255,

0,

255)

Case

6

Label1(i)BackColor

=

RGB(0,

0,

255)

Label1(i)ForeColor

=

RGB(255,

0,

0)

Case

7

Label1(i)BackColor

=

RGB(160,

32,

240)

Label1(i)ForeColor

=

RGB(95,

223,

15)

Case

8

Label1(i)BackColor

=

RGB(192,

192,

192)

Label1(i)ForeColor

=

RGB(63,

63,

63)

Case

9

Label1(i)BackColor

=

RGB(255,

255,

255)

Label1(i)ForeColor

=

RGB(0,

0,

0)

End

Select

Next

End

Sub

Option Explicit

Private Sub Command1_Click()

Timer1Enabled = True

Command2Enabled = True

Command1Enabled = False

Text2Text = ""

End Sub

Private Sub Command2_Click()

Command1Enabled = True

Timer1Enabled = False

Command2Enabled = False

Dim i As Integer

For i = 0 To 4

Text2Text = Text2Text + Text1(i)Text

Next i

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Timer1_Timer()   '将timer1的interval设置为100,enabeld设置为false

Dim i As Integer

Randomize

For i = 0 To 4

Text1(i)Text = Int(Rnd(Timer) (Rnd(Timer) + 9))

Next i

End Sub

以上就是关于VB编写一个抽奖小程序,要求每次抽奖的数字不重复全部的内容,包括:VB编写一个抽奖小程序,要求每次抽奖的数字不重复、抽奖程序(用vb编写)、怎样用vb做一个抽奖类的简易软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10636309.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存