赛迪网 > IT技术 编程语言 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

用VB编写抽奖程序

发布时间:2006.08.16 03:00     来源:plwww    作者:

                          用VB编写抽奖程序
{一、界面设计
新建一个标准的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个数字的中奖号码(与前面的不相同)。
(沈从)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· VB中访问API函数之防错技巧 (09-27) · 判断一个文件是否在IE的缓存中 (02-11)
· 如何实现在TextBox中如何得知Caret所在位置 (10-27) · 针对 Microsoft Visual Basic 用户的 ASP+ 和 (10-21)
· 将你的Visual Basic 6.0移植到Visual Basic.N (04-25) · Windows未公开函数揭密——之一 (07-16)
· Windows未公开函数揭密——之二 (03-05) · SQL查询语言基本教程(2) (12-08)
· 如何建立控制台窗口以及同窗口交互 (12-03) · SQL查询语言基本教程(3) (04-06)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管