用VB編寫抽獎程式

來源:互聯網
上載者:User

一、介面設計

建立一個標準的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個數位中獎號碼(與前面的不相同)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.