用Visual Basic设计抽奖程序

转载 2005年03月02日 17:35:00

 抽奖活动在生活中屡见不鲜,给我们日常生活也增添了不少乐趣。这里向大家介绍一种都很熟悉的电脑模拟抽奖游戏,就像各类晚会上经常使用的抽奖模式。抽奖程序操作要求方便直观,全体人员都可以清楚地观看抽奖全过程。

  一、设计界面

  先打开VB,在Form1中定义六个命令按钮,分别用来显示中奖号码的各位数字。默认情况下,参加的人数应少于10万人(当然,可以通过增加或减少按钮的个数,扩大或缩小参加抽奖人数的范围)。再增加两个命令按钮,一个设置为“确定”键,当按下时,显示中奖号码。另一个设置为“继续”键,让计数器在选出中奖号码后接着继续滚动,直至再次按下“确定”键(界面如图)。



  再新建一个窗体Form2,加入一个文本输入框,一个命令按钮,一个标签。其中文本框用于输入参加本次活动的人数;命令按钮用于确定和检验输入的字符串是否合法;标签用于显示本次活动参加的人数。
这个程序调用系统随机函数rnd来实现号码的随机产生,定义函数quwei()来显示号码的各位数字,通过Form2中的文本输入,来限制滚动时出现的最大号码。

  具体代码实现如下:

Private Sub Command1_Click()
 If Text1.Text = "" Then
  Exit Sub
  Text1.SetFocus
 End If ‘如果为空,要求重新输入。
 If Len(Text1.Text) > 5 Then
  MsgBox "提示", vbOKOnly, "你输入的值太大"
  Text1.Text = "": Text1.SetFocus
  Exit Sub
 End If ‘如果太大,清空后再重新输入
 If Int(Text1.Text) < 6 Then
  MsgBox "提示", vbOKOnly, "你输入的值太小"
  Text1.Text = "":Text1.SetFocus
  Exit Sub
 End If ‘如果太小,清空后再重新输入
 Form2.Hide ‘关闭Form2
 Form1.Show ‘打开Form1
 Load Me
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
 If Not (48 <= KeyAscii And KeyAscii <= 57 ) Then
  If KeyAscii <> 8 Then
   KeyAscii = 0 ‘容错,使输入的整数值有效
  End If
 End If
End Sub

二、实现抽奖过程的代码

Const max = 100000 ‘范围设置
Dim d(0 To 5) As Integer ‘存储号码各位数字
Dim number(0 To 5) As Long ‘存储中奖号码
Dim ss, zhongjiang As Long
Dim stop_1 As Boolean ‘是否选定
Dim cishu As Integer ‘中奖次数
Public Function panduan(ByVal sa As Long)
 panduan = False
 Dim i
 For i = 0 To 5
  If sa = number(i) Then
   panduan = True
   GoTo dd
  End If
 Next
dd:
 End Function ‘判断是否出现过此号码
Public Sub quwei(ByVal sa As Long)
 Dim i As Integer
 For i = 0 To 5
  d(i) = sa Mod 10
  sa = sa / 10
 Next
 For i = 0 To 5
  Me.Command1(i).Caption = d(5 - i) ‘显示各位数字
 Next
End Sub
Private Sub Command2_Click(Index As Integer)
 If Index = 0 Then
  If cishu > 5 Then
   MsgBox "提示", vbOKOnly, "中奖的次数已经超过六次了!"
   Timer1.Enabled = False
   Dim i
   For i = 0 To 5
    If i < 2 Then
     Command1(i).Visible = False
     Command2(i).Visible = False
    End If
    Command1(i).Visible = False
   Next
   Dim string1
   string1 = "本轮中奖的号码为:" + CStr(number(0)) + " " + CStr(number(1)) + " " + CStr(number(2))
   string1 = string1 + CStr(number(3)) + " " + CStr(number(4)) + " " + CStr(number(5))
   Label1(0).Caption = string1 ‘显示中奖号码
   Label1(0).Visible = True ‘提示性标签显示
   Exit Sub
  End If
  number(cishu) = ss
  cishu = cishu + 1
  stop_1 = True
 Else
  stop_1 = False
 End If
End Sub
Private Sub Form_Load()
 Randomize Timer ‘调用系统函数,保证产生的数是随机的
 Label1(0).Visible = False
 stop_1 = False
 Dim i
 cishu = 0
 For i = 0 To 5
  number(i) = 0
  ss = (Int(Int(Form2.Text1.Text) * Rnd) + 1) Mod Int(Form2.Text1.Text) + 1
 Next
End Sub ‘初始化变量
Private Sub Timer1_Timer()
 If Not stop_1 Then
  ss = (Int(Int(Form2.Text1.Text) * Rnd) + 1) Mod Int(Form2.Text1.Text) + 1
  While (panduan(ss))
   ss = (Int(Int(Form2.Text1.Text) * Rnd) + 1) Mod Int(Form2.Text1.Text) + 1
  Wend
  quwei ss
 Else
  Exit Sub
 End If
End Sub

  好了,至此我们已经完成了一个简单的电脑模拟抽奖程序的编写,希望你能设计出更好的模拟程序来。
以上程序在Windows2000,中文VB6.0企业版中顺利通过。

简单抽奖软件java程序设计

一.设计任务    摇奖 描述:从候选手机号码里随机选取号码显示在屏幕上作为获奖手机号。此题训练多线程操作。 描述 提示和要求: 提示和要求 ①候选号码可以保存在数组中,也可以保存在数据库中。 ②抽奖...
  • liu136313
  • liu136313
  • 2014年01月11日 18:42
  • 3310

公司年会抽奖程序-python

发一下自己写的公司抽奖程序。。 需求:公司年会要一个抽奖程序,转盘上的每一个人名是随机中奖的,中奖后的人不可以再次中奖,按住抽奖,就会一直在转,放开后,要再转一两圈才停。 呵,刚好自己在学python...
  • cheng830306
  • cheng830306
  • 2014年01月18日 14:32
  • 5676

简单网页版的年会抽奖程序,设计个界面套上就可以了,抽奖员工编号姓名改改代码就可以了,很简单的

COPY下面的代码,另存为一个网页,用浏览器打开可以看到效果。 代码如下: 抽奖活动 抽奖活动 body {pad...
  • Naola2001
  • Naola2001
  • 2013年01月16日 14:39
  • 25445

Visual Basic 程序设计

已经过去两年,C#先放一放,把之前的两个系统再熟悉一下,这也是米老师的建议,不再一心的追赶进度,踏下心来,不然会越来越乱。        一天的时间,把VB程序设计这本书过了一遍,记录一篇博客: ...
  • u010282984
  • u010282984
  • 2016年01月25日 17:14
  • 677

《Visual Basic 程序设计》——>顺序结构

第2章 顺序结构
  • qq_35631512
  • qq_35631512
  • 2017年08月02日 13:40
  • 129

Visual Basic程序设计基础第二部分

  • 2013年08月08日 18:38
  • 32MB
  • 下载

VISUAL BASIC程序设计基础教程

  • 2013年11月08日 16:17
  • 21.23MB
  • 下载

v2012-2013学年“计算机程序设计基础visual basic

  • 2013年06月24日 23:25
  • 78KB
  • 下载

Visual.Basic.NET程序设计教程 VB教程 文字版

  • 2013年08月18日 00:30
  • 4.17MB
  • 下载

《Visual Basic 6.0程序设计与实训教程》-郑有增-源代码-5133

  • 2008年12月14日 23:08
  • 1.32MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Visual Basic设计抽奖程序
举报原因:
原因补充:

(最多只允许输入30个字)