|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2008-04-26, 12:53 PM | #1 |
註冊會員
|
疑問 - 有關VB樂透彩~寫不出來了...麻煩大家
有一個程式~我試很久寫不出來 = =
不知道大大們可以幫我寫出嗎? 謝謝~~我會很感激的!!! 需求是當我輸入完"下面"一區與二區的簽獎數字後,按下確定,會顯示在"上面"的一區與二區開獎格子中。 需求條件是: 1.數字範圍1 ~ 38 2.若第一次輸入了重複的數字,按下確定,會出現"輸入了重複數字了"的提示訊息 題目大概是長這樣: 圖片: http://sss912042.myweb.hinet.net/qqq1.JPG 麻煩各位大家~~真的不會寫= ="" 謝謝!!! |
送花文章: 0,
|
2008-04-26, 04:36 PM | #2 (permalink) |
管理版主
|
很簡單的
看要用循序比對 還是 旗標紀錄 還是 使用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 此帖於 2008-04-27 04:37 PM 被 mini 編輯. |
送花文章: 2007,
|
向 mini 送花的會員:
|
rank (2008-04-28)
感謝您發表一篇好文章 |