作者tkdwind2006 (誅殺趙豬宏!!)
看板Visual_Basic
標題[.NET] 英文單字測驗程式
時間Thu May 27 17:38:03 2010
小弟我是跟新手
借了本書照上面的範例練習
遇到了點小問題請板上高手指導
--------------------------------------------
此範例為一英文單字測驗程式
編碼如下:
Public Class Form1
Dim ano(25) : Dim aans(25) : Dim aeng(25) : Dim achi(25)
Dim aeng_25(25), achi_25(25), achi_25n(25), ano_25(25) As String
Dim aeng_10(10), achi_10(10), achi_10n(10), ano_10(10) As String
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Size = New Size(500, 500)
addcon()
readdata()
showdata()
End Sub
Private Sub addcon()
Dim mx1 = 20 : Dim my1 = 20
Dim mx2 = 35 : Dim my2 = 200
Dim mdx1 = 15 : Dim mdx2 = 90 : Dim mdx3 = 30 : Dim mdx4 = 200
Dim mdy1 = 30 : Dim mdy2 = 300
Dim mh = 30 : Dim mwn = 15 : Dim mwc = 70
Dim mwa = 20 : Dim mwe = 150
For i = 0 To 4
For j = 1 To 5
Dim mno = i * 5 + j
ano(mno) = New Label
With ano(mno)
.top = my1 + i * mdy1
.left = mx1 + (j - 1) * mdx2
.height = mh
.Width = mwn
.text = Chr(64 + i * 5 + j)
End With
achi(mno) = New Label
With achi(mno)
.top = my1 + i * mdy1
.left = ano(mno).left + mdx1
.height = mh
.Width = mwc
.text = "1234567890"
End With
Me.Controls.Add(ano(mno))
Me.Controls.Add(achi(mno))
Next
Next
For i = 0 To 4
For j = 1 To 2
Dim mno = i * 5 + j
aans(mno) = New TextBox
With aans(mno)
.top = my2 + i * mdy1
.left = mx2 + (j - 1) * mdx4
.height = mh
.Width = mwa
.text = "X"
End With
aeng(mno) = New Label
With aeng(mno)
.top = my2 + i * mdy1
.left = aans(mno).left + mdx3
.height = mh
.Width = mwe
.text = "1234567890"
End With
Me.Controls.Add(aans(mno))
Me.Controls.Add(aeng(mno))
Next
Next
End Sub
Private Sub readdata()
Dim mfile As String
Dim aline As Array
mfile = My.Computer.FileSystem.ReadAllText("voca.txt")
aline = Split(mfile, vbNewLine)
Dim mline = UBound(aline)
Randomize()
Dim gen As New Random
Dim mtmp As String
For i = 0 To 24
Dim mmo = gen.Next(i, mline)
mtmp = aline(mmo)
aline(mmo) = aline(i)
aline(i) = mtmp
Dim atmp = Split(aline(i), ",")
aeng_25(i + 1) = atmp(0)
achi_25(i + 1) = atmp(1)
achi_25n(i + 1) = atmp(1)
ano_25(i + 1) = Chr(64 + i + 1)
Next
For i = 1 To 10
Dim mmo = gen.Next(i, 25)
Dim mtmp1 = aeng_25(mmo)
aeng_25(mmo) = aeng_25(i)
aeng_25(i) = mtmp1
Dim mtmp2 = ano_25(mmo)
ano_25(mmo) = ano_25(i)
ano_25(i) = mtmp2
Dim mtmp3 = achi_25(mmo)
achi_25(mmo) = achi_25(i)
achi_25(i) = mtmp3
aeng_10(i) = aeng_25(i) : ano_10(i) = ano_25(i) : achi_10(i) = achi_25(i)
Next
End Sub
Private Sub showdata()
For i = 1 To 25
achi(i).text = achi_25(i)
Next
For i = 1 To 10
aeng(i).text = aeng_25(i)
Next
End Sub
End Class
小弟我在最後一行
For i = 1 To 10
aeng(i).text = aeng_25(i)
Next
一直會出現錯誤
把此行刪除又可以跑了(當然就沒辦法得到最終想要的結果)
麻煩板上高手指點迷
感恩阿
補上讀取文件:
http://www.xun6.com/file/5ff433026/voca.txt.html
※ 編輯: tkdwind2006 來自: 115.43.168.216 (05/27 18:05)
推 Cypresslin:你的aeng(i).text指的是第i個Label所顯示的文字嗎? 05/27 21:44
→ tkdwind2006:是 05/27 22:59