오 세상에 나는이 것을 싫어한다. 나는 수백만 가지의 방법을 시도했지만 작동하는 것을 찾지 못했다. 설명해 드리겠습니다.VB - 인덱스가 범위를 벗어 났습니까?
각 행을 테스트하고 첫 번째 단어를 "복사"할 수 있는지 확인하고 있습니까? 다음 단어가 "1"인지 세 번째 단어가 "<"이고 마지막 단어가 ">"인지 확인하려면이 조건이 모두 채워지면 "<"과 ">"사이의 텍스트를 변수 "copy1"에 저장됩니다 (두 단어 사이에 단어가 두 개 이상 있더라도).
내 코드는 무엇 :
For i = 0 To lstCode.Items.Count - 1
Dim str As String = lstCode.Items.Item(i)
Dim strA() As String = Split(str)
Dim copy1 as string
Dim copy2 as string
Select Case strA(0)
Case copy
If strA(1) = "1" And strA(2) = "<" And strA(strA.Count - 1) = ">" Then
copy1 = ""
For lr As Integer = 3 To strA.Count - 2
copy1 &= (strA(lr) & " ")
Next
End if
End select
그리고, 내가 그것을 디버깅 할 때 나는 오류를 얻을 : 색인이 사람이 어떤 생각을 가지고 있습니까 배열 ...의 범위를 벗어난?
Case "copy"
If strA(1) = "1" And strA(2) = "<" And strA(strA.Count - 1) = ">" Then
copy1 = ""
For lr As Integer = 3 To strA.Count - 2
copy1 &= (strA(lr) & " ")
Next
ElseIf strA(1) = "2" And strA(2) = "<" And strA(strA.Count - 1) = ">" Then
copy2 = ""
For lrs As Integer = 3 To strA.Count - 2
copy2 &= (strA(lrs) & " ")
Next
ElseIf strA(1) = "run" Then
Try
IO.File.Copy(copy1, copy2)
Catch ex As IO.IOException
End Try
End If
End Select
그래서 모든 매력처럼 작동합니다 :
내가 추가하는 것을 잊었다 중요한 무언가가있다, 이것은 전체 코드 복사 한 < C : \ csb.log>, 복사 2 < c : \ blabla.txt>하지만 "복사 실행"문이 나올 때 오류가 발생합니다 ...
Visual Basic 2010을 사용하고 있다는 것을 잊어 버렸습니다. 죄송합니다. – Bpk7
어떤 줄에 오류가 있습니까? – har07