✔ 最佳答案
'建立一個 Random 的變數及 New 左佢
Dim a as random
a = new random
'用兩個 For Loop,第一個 1 ~ 40,第二個 1 ~ 5 ( Loop 中 Loop )
'在第一個 Loop 建立一個 String
Dim temp as String = ""
'在第二個 Loop 隨機抽出數字( 1 ~ 26 ),用一個 integer 儲住
Dim b as integer = a.next(1,26)
'自己寫一個 Function as Char,ByVal as integer
'Pass 個 Random 值入個 Function,根據個值 return 個字母
' 你可以用 IF ELSE 去做,懶的話可以預先用另一個 ListBox 儲住 26 個字母
' 直接 return ListBox2.Items.Item( RandomIndex )
'把字母串成一個字串
temp = temp + ConvertToLetter( b )
'當離開第二個 Loop 後,把 String Add 入 ListBox
ListBox1.Items.Add( temp )
2009-11-09 22:54:23 補充:
// Function 未宣告的原因是你沒有 Define 該 Function
Function LetterConvert(ByVal index As Integer) As Char
Return ListBox2.Items.Item(index-1)
End Function
// 建立變數
Dim a as Random
a = new Random
Dim b as Integer = 0
2009-11-09 22:55:14 補充:
// For loop
For index As Integer = 1 To 40
Dim s As String = ""
For index1 As Integer = 1 To 5
b = a.Next(1, 26)
s = s + LetterConvert( b )
Next
ListBox2.Items.Add(s)
Next
2009-11-09 23:18:56 補充:
給你解釋是想你有一個概念自己想想如何去做
只給你編碼,你不試不想不學,是沒有進步的
阿 Tou 的方法是可以的
但比較勤力,作為一個程式員,應該是「懶得就懶」
用另一個 ListBox,在 Properties 裡的 Items 會見到有 ( Collection ) 的字
選擇後右邊有個「...」的按鈕,按下後會開啟 String Collection Editor
順序打上 A-Z,一個英文字母一行,即:
A
B
C
D
...
2009-11-09 23:23:07 補充:
提一提....
如果在 Loop 中 NEW Object 的話
只會令程式愈來愈食 Ram,嚴格來說,這已經算是一個惡意程式
千萬不要試
2009-11-09 23:29:31 補充:
仲有,那個用來儲存字母的 ListBox
在 Properties 中找出 Visble,然後 Set 做 false
這樣在程式運行時,它就會隱形