史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   有關VB樂透彩~寫不出來了...麻煩大家 (http://forum.slime.com.tw/thread228750.html)

sss912042 2008-04-26 12:53 PM

有關VB樂透彩~寫不出來了...麻煩大家
 
有一個程式~我試很久寫不出來 = =
不知道大大們可以幫我寫出嗎?
謝謝~~我會很感激的!!!

需求是當我輸入完"下面"一區與二區的簽獎數字後,按下確定,會顯示在"上面"的一區與二區開獎格子中。
需求條件是:
1.數字範圍1 ~ 38
2.若第一次輸入了重複的數字,按下確定,會出現"輸入了重複數字了"的提示訊息

題目大概是長這樣:
圖片:
http://sss912042.myweb.hinet.net/qqq1.JPG

麻煩各位大家~~真的不會寫= =""
謝謝!!!

mini 2008-04-26 04:36 PM

很簡單的
看要用循序比對
還是
旗標紀錄
還是
使用ComboBox方式

<循序比對>
就是 除了自己外依序比對
自己是否已出現過
假設使用的 TextBox(名稱暫稱為 CodeNumberText) 是一序列的 Index從 1 到 6
語法:

    For i = 1 To 6
        If i <> Index Then
            If StrComp(CodeNumberText(i).Text, CodeNumberText(Index).Text) = 0 Then
                MsgBox "號碼已選過,請重新輸入沒選過的號碼", vbOKOnly, "錯誤"
                CodeNumberText(Index).Text = ""
            End If
        End If
    Next


<旗標紀錄>
先初始宣告一陣列
Dim IsUse(1 to 38) As Boolean
如果輸入 30號則
IsUse(30) = True
而在輸入前...
語法:

If IsUse(Index) = True Then
  MsgBox "號碼已選過,請重新輸入沒選過的號碼", vbOKOnly, "錯誤"
  CodeNumberText(Index).Text = ""
End If


<ComboBox>
需配合前面其一方法
比如旗標紀錄
語法:

Dim IsUse(1 To 38) As Boolean

Private Sub CodeNumberCombo_GotFocus(Index As Integer)

    CodeNumberCombo(Index).Clear
    For i = 1 To 38
        If IsUse(i) = False Then CodeNumberCombo(Index).AddItem CStr(i)
    Next
End Sub

'為了不讓使用者鍵入 (如此只能使用下拉式選擇)
Private Sub CodeNumberCombo_KeyUp(KeyCode As Integer, Shift As Integer)

    CodeNumberCombo.Text = ""
End Sub



所有時間均為台北時間。現在的時間是 10:12 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1