程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 用VB編寫抽獎程序

用VB編寫抽獎程序

編輯: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)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個數字的中獎號碼(與前面的不相同)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved