精華區beta Visual_Basic 關於我們 聯絡資訊
※ 引述《collegeman (花生)》之銘言: : ※ 引述《shiningstar (期待冒險)》之銘言: : : 我是vb6.0的新手,最近想寫個樂透49選1的程式來玩 : : 我建了一個CheckBox陣列,按Command Button會將選中的數勾選 : : 並顯示在下面的Label上,部分程式如下: : : Private Sub Command1_Click() : : Dim ArrayShow(6) As Integer : 1. 你只需要放6個數字, 其實宣告成5即可 : Dim ArrayShow(5) As Integer : : Dim str1 As String : : Dim I, J, K As Integer : : I = 0 : : J = 0 : : For I = 0 To 48 : : Check1(I).Value = False : : Next I : : Randomize : 2. Check1 array的index為 0 - 48 , 但是你下面卻對Check1 array的index 1- 49 : access : : Begin: : 3. 其實你上面這行begin放不放是沒差的 : : Do Until J > 5 : : K = Int(Rnd * 49 + 1) : 4. 產生的K值將會是1 - 49, 而不是0 - 48 : : If Check1(K).Value = 1 Then : : GoTo Begin: : 5. GoTo Begin: 這行有放沒放都一樣 : : Else : : Check1(K).Value = 1 : : ArrayShow(J) = K : : J = J + 1 : : str1 = str1 & " " & ArrayShow(J) 因為我當初放這兩個的用意是 不要讓它抽到重複的數 不過這樣放系統會顯示 編譯錯誤:有LOOP,卻沒有DO 如果把這兩個都去掉的話,就會有抽到同樣數字的可能性 :( : 6.請把下面這兩行之上下順序對調 : J = J + 1 : str1 = str1 & " " & ArrayShow(J) 謝謝!! 當時寫的時候頭昏昏 把順序搞錯了 thx~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.86.153