明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用VB編寫抽獎程序

[摘要]一、界面設(shè)計  新建一個標準的EXE工程。在Form1窗體中放置一個定時器(Timer1)、兩個文本框(Label1,Label2)、兩個命令按鈕(Command1,Command2)和包含7個元素的控件數(shù)組(Label3(0)-Label3(6))。二、屬性設(shè)置  Label3控件數(shù)組中的所有元...
一、界面設(shè)計


  新建一個標準的EXE工程。在Form1窗體中放置一個定時器(Timer1)、兩個文本框(Label1,Label2)、兩個命令按鈕(Command1,Command2)和包含7個元素的控件數(shù)組(Label3(0)-Label3(6))。



二、屬性設(shè)置


  Label3控件數(shù)組中的所有元素皆采用相同設(shè)置。



三、代碼編寫


  本程序的實現(xiàn)原理是:當用戶單擊"開始"按鈕時,打開定時器,利用定時器控件同時產(chǎn)生兩個隨機數(shù)sj1、sj2,sj1的范圍是1~32,sj2的范圍是0~49。當sj1=24的時侯,用sj2與前面產(chǎn)生的中獎號碼作比較,若與前面的中獎相同,則退出本過程;若與前面的中獎號碼不同,則將此隨機數(shù)作為中獎號碼。當產(chǎn)生了7個中獎號碼時,關(guān)閉定時器控件,停止產(chǎn)生隨機數(shù)。


  本程序用到的函數(shù)簡介:


  (1)Randomize:初始化隨機數(shù)的種子數(shù)。


  (2)Int():返回一個非整形數(shù)字取整后的整數(shù)。


  (3)Rnd:產(chǎn)生一個0~1之間的隨機數(shù)(大于等于0,但小于1)。


  (4)Qbcolor():返回參數(shù)(0~15)對應的顏色。


  (5)Val:將一個字符形變量轉(zhuǎn)化為一個數(shù)值型變量。


  (6)Format:格式化一個表達式。


  以下是程序的完整代碼:


  Dim sy As Integer


  ′命令按鈕1的單擊事件


  Private Sub Command1_Click()


  ′清除Label3控件數(shù)組的內(nèi)容


  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′初始化隨機數(shù)


  sj1=Int(Rnd*32)+1


  sj2=Int(Rnd*50)


  Label1.Caption=sj1′設(shè)置標簽1的內(nèi)容


  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 ′關(guān)閉定時器


  Command1.Enabled=True ′使命令按鈕有效(即可重新開始抽獎)


  End If


  End Sub


  單擊工具欄上的"啟動"按鈕,啟動抽獎程序。單擊"開始"按鈕,Label1控件將用五彩繽紛的顏色快速顯示1~32之間的數(shù)字,并在Label3控件數(shù)組中產(chǎn)生一組7個數(shù)字的中獎號碼。再次單擊"開始"按鈕,程序?qū)⒆詣忧宄齃abel3控件數(shù)組中的內(nèi)容,并重新產(chǎn)生一組7個數(shù)字的中獎號碼(與前面的不相同)。