好学IT学院:IT信息技术分享交流平台
标签:VB  来源:互联网  作者:佚名  发布时间:2009-06-02  ★★★加入收藏〗〖手机版
摘要:抽奖活动在生活中屡见不鲜,给我们日常生活也增添了不少乐趣。这里向大家介绍一种都很熟悉的电脑模拟抽奖程序,就像各类晚会上经常使用的抽奖模式。抽奖程序操作要求方便直观,全体人员都可以清楚地观看抽奖全过程。…

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

一、界面设计

新建一个标准的exe工程。在form1窗体中放置一个定时器(timer1)、两个文本框(label1,label2)、两个命令按钮(command1,command2)和包含7个元素的控件数组(label3(0)—label3(6))。

二、属性设置

label3控件数组中的所有元素皆采用相同设置。

三、代码编写

本程序的实现原理是:当用户单击“开始”按钮时,打开定时器,利用定时器控件同时产生两个随机数sj1、sj2,sj1的范围是1~32,sj2的范围是0~49。当sj1=24的时侯,用sj2与前面产生的中奖号码作比较,若与前面的中奖相同,则退出本过程;若与前面的中奖号码不同,则将此随机数作为中奖号码。当产生了7个中奖号码时,关闭定时器控件,停止产生随机数。

本程序用到的函数简介:

(1)randomize:初始化随机数的种子数。
  (2)int():返回一个非整形数字取整后的整数。
  (3)rnd:产生一个0~1之间的随机数(大于等于0,但小于1)。
  (4)qbcolor():返回参数(0~15)对应的颜色。
  (5)val:将一个字符形变量转化为一个数值型变量。
  (6)format:格式化一个表达式。

以下是程序的完整代码:

dim sy as integer
  '命令按钮1的单击事件
  private sub command1_click()
  '清除label3控件数组的内容
  for i=0 to 6
  label3(i).caption=""
  next
  timer1.enabled=true'打开定时器
  command1.enabled=false'使开始按钮失效
  sy=-1'索引值初始化为-1
  end sub
  '命令按钮2的单击事件
  private sub command2_click()
  unload me '卸载本窗体
  end sub
  '定时器1的定时事件
  private sub timer1_timer()
  dim sj1,sj2,ys as integer
  randomize'初始化随机数
  sj1=int(rnd*32)+1
  sj2=int(rnd*50)
  label1.caption=sj1'设置标签1的内容
  ys=int(rnd*6)+9
  label1.forecolor=qbcolor(ys)
  if sj2=24 then'如果sj2等于24
  sy=sy+1'索引值加1
  for a=o to sy
  if sj1=val(label3(a).caption) then
  sy=sy - 1
  exit sub
  end if
  next
  label3(sy).caption=format(sj1, "00")
  label3(sy).forecolor=qbcolor(ys)
  end if
  if sy=6 then'如果索引值等于6
  timer1.enabled=false '关闭定时器
  command1.enabled=true '使命令按钮有效(即可重新开始抽奖)
  end if
  end sub

单击工具栏上的“启动”按钮,启动抽奖程序。单击“开始”按钮,label1控件将用五彩缤纷的颜色快速显示1~32之间的数字,并在label3控件数组中产生一组7个数字的中奖号码。再次单击“开始”按钮,程序将自动清除label3控件数组中的内容,并重新产生一组7个数字的中奖号码(与前面的不相同)。

  • 好学考试H5触屏版开放内测
  • 好学触屏公众号虎力全开、杨帆起航!