- 註冊時間
 - 2007-9-13
 - 最後登錄
 - 2019-6-9
 - 主題
 - 查看
 - 積分
 - 3272
 - 閱讀權限
 - 140
 - 文章
 - 4453
 - 相冊
 - 12
 - 日誌
 - 3
  
 
 
 
     
 
 
 
 
 
 
 
狀態︰
 離線  
 
 | 
 本帖最後由 又靜 於 2012-8-18 03:42 編輯  
 
您好 
針對您的需求我利用四個按鈕、二個文字方塊,重新編寫一個比較簡單昜懂的程式給您參考 
 
按鈕一-     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
 -         Dim a As Integer
 
 -         Randomize()                                         '為 Rnd 函式的亂數產生器指定新的種子值以進行初始化。
 
 -         TextBox1.Text = ""                                  '清除 TextBox1 文字方塊
 
 -         For i = 1 To 6                                      '設定六次迴圈取得六位數
 
 -             a = Rnd() * 9 + 48                              '產生亂數 0~9 (0~9 的 ASCII 碼是從 48~57 所以要再加48 ) 
 
 -             TextBox1.Text = TextBox1.Text & Chr(a)          '把產生的亂數轉換成字元,再跟文字方數組合成字串
 
 -         Next
 
 -     End Sub
 
  複製代碼 Randomize()  主要是為 Rnd 函式的亂數產生器進行初始化。如果省略了 Number,則會使用系統計時器的值做為新的種子值。 
沒有使用 Randomize(),會造成Rnd 函式第一次所產生的值都相同。 
 
因為我們要用文字方塊對獎,所以把產生0~9的亂數再加48,成為0~9的ASCII 碼,Chr(a)就是把ASCII 轉換成文字碼 
利用 & 把六個字元組合成一組六位數的字串,再放到文字方塊1。  
 
 
按鈕二 (程式碼跟按鈕一類似,所以不加註解了)-     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
 
 -         Dim b As Integer
 
 -         Randomize()
 
 -         TextBox2.Text = ""
 
 -         For i = 1 To 6
 
 -             b = Rnd() * 9 + 48
 
 -             TextBox2.Text = TextBox2.Text & Chr(b)
 
 -         Next
 
 -     End Sub
 
  複製代碼 按鈕三-     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
 
 -         Dim prize
 
 -         prize = 0                                           '清除相同號碼次數值
 
 -         For i = 1 To 6                                      '設定六次迴圈,做六個數字的比較
 
 -             If Mid(TextBox1.Text, i, 1) = Mid(TextBox2.Text, i, 1) Then '利用迴圈 i 的值來指定兩個字串的第幾位數要做比較
 
 -                 prize = prize + 1                           '比較相同則對中號碼的次數加一
 
 -             End If
 
 -         Next
 
 -         MsgBox(Val(prize))                                  '將中幾個號碼顯示
 
 -     End Sub
 
  複製代碼 Mid主是要從字串中取得一組指定的字串,它的用法Mid(字串,從第幾位開始,取幾個字) 
所以我們利用For迴圈從文字方塊中,從第一位數逐一取到第六位,每次取一個字出來比較 
如果有相同,prize就加一,最後再把 prize 的值顯示出來 
 
 
按鈕四-     Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
 
 -         Dim a As Integer
 
 -         TextBox1.Text = ""
 
 -         TextBox2.Text = ""
 
 -         Randomize()
 
 -         For i = 1 To 6
 
 -             a = Rnd() * 9 + 48
 
 -             TextBox1.Text = TextBox1.Text & Chr(a)
 
 -             a = Rnd() * 9 + 48
 
 -             TextBox2.Text = TextBox2.Text & Chr(a)
 
 -         Next
 
 -     End Sub
 
 - End Class
 
  複製代碼 因為不知道您要重新產生號碼跟對獎號碼??? 或是重新產生按鈕1的號碼,然後再對一次獎??? 
 |   
 
  
 |