请大家帮忙!

mousepade 2007-12-01 03:51:53
马上要过圣诞了!
公司办公室的要组织一次活动,要求做个抽奖程序,想用VB做个无重复的抽奖程序,抽奖活动分一等奖,二等奖,三等奖,分3次抽出,每次抽一人,怎么才能实现无重复抽取呢?没人只有一次中奖机会。请各位帮帮忙呀!
...全文
14 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2007-12-01
这样:窗体上放一个可以输入人数的文本编辑框,一个 Label,一个 ComboBox,两个按钮(启动,停止)。
Option Explicit
Dim k As Integer

Private Sub Command1_Click()
Text1.Locked = True

Label1.Caption = IIf(k = 1, "一", IIf(k = 2, "二", "三")) & "等奖"
Timer1.Enabled = True
End Sub

Private Sub Command2_Click()
Dim n As Integer

Timer1.Enabled = False
Randomize
n = Rnd * Combo1.ListCount
Text1 = Combo1.List(n - 1)
Combo1.RemoveItem n

k = k - 1
If k = 0 Then
Command1.Enabled = False
Command2.Enabled = False
End If
End Sub

Private Sub Form_Load()
Dim i As Integer
For i = 1 To Val(Text1)
Combo1.AddItem i
Next i
Combo1.Visible = False
Timer1.Enabled = False
Timer1.Interval = 50

Label1.Font.Size = 24
Label1.Alignment = 2
Label1.AutoSize = True
Label1 = "三等奖"

Text1.Alignment = 2
Text1.Font.Size = 24
Text1.Font.Bold = True

k = 3
End Sub

Private Sub Timer1_Timer()
Dim p As Integer

Randomize
p = Rnd * Combo1.ListCount
Text1 = Combo1.List(p - 1)
End Sub
回复
tingting1123 2007-12-01
抽一次 把抽到的数字除去就可以了啊 这个简单.
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告