作者collegeman (花生)
看板Visual_Basic
標題Re: 關於Do...Loop的問題
時間Tue May 25 21:06:25 2004
※ 引述《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)
6.請把下面這兩行之上下順序對調
J = J + 1
str1 = str1 & " " & ArrayShow(J)
: Loop
: lblShow.Caption = str1
: End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.31.47
※ 編輯: collegeman 來自: 61.59.31.47 (05/25 21:11)
※ 編輯: collegeman 來自: 61.59.31.47 (05/25 21:12)
※ 編輯: collegeman 來自: 61.59.31.47 (05/25 21:12)
推 Dumkas:嗯...他是要做7個的吧 61.216.80.249 05/25
推 collegeman:@_@ 我沒買過樂透~~ 61.59.31.47 05/26
推 shiningstar:啊~我是想先做六個 然後再加特別號上去^^" 220.136.70.110 05/26
推 shiningstar:之前誤以為 Array(n)的 n 是總數 :P 220.136.70.110 05/26