用VB6.0编写电脑抽奖程序
年来在娱乐节目之中常常见到利用电脑来抽奖,笔者对其发生了兴趣遂自己动手用VB编了一个小程序来实现电脑抽奖的小功能,其原理如下:
主要利用VB中的Rnd函数,来实现随机查找和打乱排序的功能,从而实现随机抽奖的目的。Rnd函数的语法结构是Rnd[(number)],可选的number参数是 single或任何有效的数值表达式。Rnd函数返回小于1但大于或等于0的值。number 的值决定了 Rnd 生成随机数的方式。为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) × Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
操作方法
- 01
另外,程序中还使用了INI文件,Windows INI文件,可解释为Windows初始化文件。它是一种专门用来保存应用程序初始化信息和运行环境信息的文本文件。ini文件是一种文本文件,它可以通过Notepad等文本编辑器进行编辑。ini文件具有特定的格式。一个INI文件是由若干个段(section)组成的,每个段中包含若干关键字(key)及相应的值(value)。创建应用程序自己的INI文件,通过INI文件保存应用程序的一些运行环境信息,然后在程序中读取INI文件中的设置信息并据以处理。一旦程序的运行环境需要变更,则可以通过直接修改INI文件,或在程序中提供专门的界面间接地修改INI文件来保证程序的可用性。
- 02
源程序及注释如下: '窗体源程序 Option Explicit Dim m_strNameArray() As MyName Dim m_bIsStart As Boolean Dim m_nNameIndex As Integer Dim MAX_INDEX As Integer Dim m_nSelectNum As Integer
- 03
'被选定数 Dim nScrollStep As Integer Dim nScrollWidth As Integer Dim bScrollState As Boolean Dim nEnableSecond As Integer Dim m_strTitle As String
- 04
Dim m_strAppTitle As String Dim m_strScrollTitleLeft As String Dim m_strScrollTitleRight As String Private Sub Command_Start_Stop_Click() If m_bIsStart = True Then '按停止钮
- 05
m_bIsStart = False Command_Start_Stop.Caption = “开始" Label_FlashName.Visible = True Timer_FlashName.Enabled = True Timer_ScrollName.Enabled = False Label_FlashName =
- 06
m_strNameArray(m_nNameIndex).strName + “中奖了!" m_strNameArray(m_nNameIndex).bIsSelect = True m_nSelectNum = m_nSelectNum + 1 Dim Temp As MyName Temp = m_strNameArray(MAX_INDEX) m_str Name Array(MAX-INDEX) = m_strNameArray(m_nNameIndex) m_strNameArray(m_nNameIndex) = Temp MAX_INDEX = MAX_INDEX - 1 If MAX_INDEX = 0 Then MsgBox “非常感谢您使用本软件" End If
- 07
Else '按开始钮 m_bIsStart = True Command_Start_Stop.Caption = “停止" Command_Start_Stop.Enabled = False Timer_ScrollName.Enabled = True Timer_FlashName.Enabled = False Label_FlashName.Caption = “" End If End Sub Private Sub Form_Load() Form_Bouns.ScaleMode = 3 m_nNameIndex = 0 m_bIsStart = False Timer_ScrollName.Enabled = True Timer_ScrollTitle.Enabled = True Label_FlashName.Visible = False Label_ScrollName.Caption = “" nEnableSecond = 0 '定义起始秒数 ReDimNameArray '获得文本中的名字和打乱名字顺序 nScrollStep = 5 '设定滚动字的步长 nScrollWidth = Label_Congruation.Left '设定title的移动宽度 bScrollState = False '设定缺省的开始滚动方向为向左 m_nSelectNum = 0 '初始化被选定数为0 Init '初始化本程序的界面 End Sub