用VB編寫抽獎程式 (轉)

worldblog發表於2007-12-03
用VB編寫抽獎程式 (轉)[@more@]  用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)Ranize:初始化隨機數的種子數。
  (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個數字的中獎號碼(與前面的不相同)。
(沈 從)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987672/,如需轉載,請註明出處,否則將追究法律責任。

相關文章