当前位置:编程学习 > VB >>

VB:做一个抽奖机(七个数的)。

要求:1七个数的区间为1~33,2七个数互不重复,3数字需滚(timer事件)。
追问:那个“滚~”打字时可能没注意到,是“滚动”,谢谢,莫理解错了

没什么可追问的,就是还不会玩,解释一下~~~

答案:呵呵,想随机双色球?我很早就做过了。

你在窗体添加一个文本框Text1,添加一个命令按钮command1,添加一个时钟timer1,代码如下:

Option Explicit

Private Sub Command1_Click()
    If Timer1.Enabled = False Then
        Timer1.Enabled = True
        Command1.Caption = "停止"
    Else
        Timer1.Enabled = False
        Command1.Caption = "开始"
    End If
End Sub

Private Sub Form_Load()
    Command1.Caption = "开始"
    Timer1.Enabled = False
    Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Dim tmpNum(7) As Integer
Dim i As Integer, j As Integer
    Text1 = ""
    Randomize   '初始化随机数种子
    For i = 0 To 6
ReGet:
        tmpNum(i) = Int(Rnd() * 32) + 1
        If i > 0 Then
            For j = 1 To i
                '数字重复则从新得到
                If tmpNum(i) = tmpNum(j - 1) Then GoTo ReGet:
            Next
        End If
        DoEvents
    Next
   
    '排序
    For i = 0 To 6
        For j = 0 To 5
            If tmpNum(j) > tmpNum(j + 1) Then
                tmpNum(7) = tmpNum(j)
                tmpNum(j) = tmpNum(j + 1)
                tmpNum(j + 1) = tmpNum(7)
            End If
            DoEvents
        Next
        DoEvents
    Next
   
    For i = 0 To 6
        Text1 = Text1 & tmpNum(i) & ","
    Next
    Text1 = Left(Text1, Len(Text1) - 1)
End Sub

 

timer事件里写

Label1.caption=int(rnd()*32)+1 //产生1~33随机数在标签控件显示

这样数字就滚了

不重复只要在产生随机数的时候做DO判断就可以了

滚的联想……1。脏字...2。转圈...3。不停闪...

你是要第二种还是第三种?

上一个:asp vb脚本错误,提示缺少对象!!求救!!
下一个:如何提取VB中时间的秒,要用

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,