-
vb教程之用VB编写接近实际的抽奖程序
近来彩票风行全国,普通人将他作为改变生活的希望,国家将他作为创收的一个项目。笔者设计了一个颇有味道的彩票程序,希望能帮助您重奖,如果您中奖请通知我,呵呵。
'本程序以"江苏风采福利彩票"(36选7)为例
'由于福利彩票是从36个球中选出7个球,有一些资料上介绍是用随机函数产生一个数,为了避产生重复的数故而进行比较,重复时舍弃重选。或者做7个变量使它们不同。
'本程序特点接近实际,ListBox作为数据容器,每产生一个数将其移去(RemoveItem方法)。产的数放在数组中,最后再排序。
'在窗体中放置两个命令按钮(CmdRnd,CmdExit);包含5个元素的控件数(text1(0)~text1(4));一个组合框控件List1,将其Visible属性设置为False。
'注:可以用ComboBox控件代替ListBox控件,只要将程序中的ListBox控件(list1)改
为ComboBox控件(combo1)即可。
'声明
Private Const AllData = 36 '总数为36
Private Const Choose = 7 '要选出的数为7个
Dim Num(Choose - 1) As Byte '数组用来存放选出的数
Private Sub CmdRnd_Click() '产生随机数
Dim i, j, RndData
For j = 0 To 4 '产生5组数据
For i = 1 To AllData
List1.AddItem i
Next i
For i = 0 To Choose - 1
Randomize '初始化随机数的种子数
RndData = Int(((AllData - i) * Rnd) + 1)
Num(i) = List1.List(RndData - 1)
List1.RemoveItem (RndData - 1)
Next i
PopSort '调用冒泡排序
Text1(j) = " "
For i = 0 To Choose - 1
If Num(i) < 10 Then
Text1(j) = Text1(j) & "0" & Num(i) & " " '小于10的数在前面补“0”
Else
Text1(j) = Text1(j) & Num(i) & " "
End If
Next i
List1.Clear '清除总数容器
Next j
End Sub
Sub PopSort() '冒泡排序
Dim i, j, Temp As Byte
For i = Choose - 1 To 1 Step -1
For j = Choose - 1 To 1 Step -1
If i >= Choose - 1 - j Then
If Num(j) < Num(j - 1) Then
Temp = Num(j - 1)
Num(j - 1) = Num(j)
Num(j) = Temp
End If
End If
Next j
Next i
End Sub
Private Sub CmdExit_Click() '退出程序
Unload Me
End
End Sub
'本程序以"江苏风采福利彩票"(36选7)为例
'由于福利彩票是从36个球中选出7个球,有一些资料上介绍是用随机函数产生一个数,为了避产生重复的数故而进行比较,重复时舍弃重选。或者做7个变量使它们不同。
'本程序特点接近实际,ListBox作为数据容器,每产生一个数将其移去(RemoveItem方法)。产的数放在数组中,最后再排序。
'在窗体中放置两个命令按钮(CmdRnd,CmdExit);包含5个元素的控件数(text1(0)~text1(4));一个组合框控件List1,将其Visible属性设置为False。
'注:可以用ComboBox控件代替ListBox控件,只要将程序中的ListBox控件(list1)改
为ComboBox控件(combo1)即可。
'声明
Private Const AllData = 36 '总数为36
Private Const Choose = 7 '要选出的数为7个
Dim Num(Choose - 1) As Byte '数组用来存放选出的数
Private Sub CmdRnd_Click() '产生随机数
Dim i, j, RndData
For j = 0 To 4 '产生5组数据
For i = 1 To AllData
List1.AddItem i
Next i
For i = 0 To Choose - 1
Randomize '初始化随机数的种子数
RndData = Int(((AllData - i) * Rnd) + 1)
Num(i) = List1.List(RndData - 1)
List1.RemoveItem (RndData - 1)
Next i
PopSort '调用冒泡排序
Text1(j) = " "
For i = 0 To Choose - 1
If Num(i) < 10 Then
Text1(j) = Text1(j) & "0" & Num(i) & " " '小于10的数在前面补“0”
Else
Text1(j) = Text1(j) & Num(i) & " "
End If
Next i
List1.Clear '清除总数容器
Next j
End Sub
Sub PopSort() '冒泡排序
Dim i, j, Temp As Byte
For i = Choose - 1 To 1 Step -1
For j = Choose - 1 To 1 Step -1
If i >= Choose - 1 - j Then
If Num(j) < Num(j - 1) Then
Temp = Num(j - 1)
Num(j - 1) = Num(j)
Num(j) = Temp
End If
End If
Next j
Next i
End Sub
Private Sub CmdExit_Click() '退出程序
Unload Me
End
End Sub
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比