0
該程序加載一個.txt將它拆分爲「:」,然後將其分別檢查到某處 每當我的程序到達列表末尾時出現錯誤這是我的代碼VB.net索引超出範圍異常
Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click
If ListBox1.Items.Count = 0 Then
MsgBox("Checking DONE")
ElseIf ListBox1.Items.Count.ToString > 0 Then
Dim str As String
Dim strArr() As String
str = ListBox1.Items(0)
strArr = str.Split(":")
If str.Count > 0 Then
WebBrowser1.Document.GetElementById("email").SetAttribute("value", (strArr(0)))
WebBrowser1.Document.GetElementById("password").SetAttribute("value", (strArr(1)))
WebBrowser1.Document.GetElementById("login-form-contBtn").InvokeMember("click")
WaitForPageLoad()
Threading.Thread.Sleep(5000)
Me.Button2.PerformClick()
Else
MsgBox("Done")
End If
End If
End Sub
另外,Me.Button2.PerformClick()點擊按鈕編程,然後按鈕兩次點擊這個按鈕,它應該繼續下去,直到列表框爲空,但它只是崩潰/給出錯誤
以下是錯誤http://gyazo.com/cb7c47bca69af101871035bf18231b6e
這是將列表導入列表框的按鈕。 OpenFileDialog1.Filter =「Text Files(* .txt)|」| * .TXT」 OpenFileDialog1.ShowDialog()
Dim R As New IO.StreamReader(OpenFileDialog1.FileName)
Dim string1 As String() = R.ReadToEnd().Split(New String(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries))
ListBox1.Items.AddRange(string1)
R.Close()
ListBox1.SelectedItem = ListBox1.Items(0)
Dim str As String
Dim strArr() As String
str = ListBox1.SelectedItem
strArr = str.Split(":") 'Delimits the imported combo list
Label4.Text = (strArr(0)) 'Email
Label3.Text = (strArr(1)) 'Password
Label6.Text = (ListBox1.Items.Count) 'How big is combo?
謝謝!!! lol,爲什麼索引1而不是0 ?,只是想增加我的知識 – 2014-11-04 17:29:28
每個數組在NET中在索引0處開始。在strArr中分割字符串Count表示數組中存在的元素的數量,因此字符串XXXXX:YYYYY在拆分時變爲兩個元素數組strArr(0)= XXXX,strArr(1) = YYYYY。如果沒有:(XXXXXYYYYY),你仍然從分割中得到一個數組,但它是一個單元數組(strArr(0)= XXXXYYYYY)。如果你嘗試在這個數組上使用index = 1,你會得到一個異常,因爲索引1處沒有元素。 – Steve 2014-11-04 17:45:12
仍然不明白,但是謝謝你的幫助:) – 2014-11-04 18:03:27