vb6 - 下标超出范围 vb6
问题描述
帮帮我,长话短说,我正在制作防病毒软件。现在我想让我的防病毒软件改变颜色,所以我正在制作一个表格和 .ini 文件(A 保存)。因此,经过长时间的模块和功能编码。我想测试一下,直到我点击设置表单按钮。我的下标超出范围错误 (9)。
Dim Line As String, tmp() As String, ValueX(10) As String, a As Byte
a = 0
If IsFileX(Path) = True Then
Open Path For Input As #1
Do
Line Input #1, Line
tmp = Split(Line, "=")
If UBound(tmp) = 1 Then
a = a + 1
ValueX(a) = tmp(1)
Ck1.value = CInt(Left(Replace(ValueX(a), " ", ""), 1))
End If
If UBound(tmp) = 1 Then
a = a + 2
ValueX(a) = tmp(1)
Ck2.value = CInt(Left(Replace(ValueX(a), " ", ""), 1))
End If
If UBound(tmp) = 1 Then
a = a + 3
ValueX(a) = tmp(1)
Ck3.value = CInt(Left(Replace(ValueX(a), " ", ""), 1))
End If
If UBound(tmp) = 1 Then
a = a + 4
ValueX(a) = tmp(1)
Ck4.value = CInt(Left(Replace(ValueX(a), " ", ""), 1))
End If
If UBound(tmp) = 1 Then
a = a + 5
ValueX(a) = tmp(1)
Ck5.value = CInt(Left(Replace(ValueX(a), " ", ""), 1))
End If
If UBound(tmp) = 1 Then
a = a + 6
ValueX(a) = tmp(1)
Ck6.value = CInt(Left(Replace(ValueX(a), " ", ""), 1))
End If
Loop Until EOF(1)
Close #1
Else
MsgBox " Read Antivirus Setting is ERROR !" & vbNewLine & "Because the file [ MurderAV.ini ] is not found!", vbCritical, "MurderAV Error"
End If
End Sub
突出显示的部分是 ck5 中的 ValueX(a)。(Ck 是复选框)生病拍照所以它可以更清晰。点击这里 另外,我是初学者,所以我需要尽快帮助
解决方案
问题是每个If
语句都有相同的条件:
If UBound(tmp) = 1 Then
所以,当你浏览代码时,你执行:
a = 0
a = a + 1
a = a + 2
a = a + 3
a = a + 4
a = a + 5
15 也是如此,所以a
你有:
ValueX(15) = tmp(1)
但是从 开始ValueX(10) As String
,您就离开了数组的末尾。
推荐阅读
- c# - Asp.net & Swagger 仅显示特定端点
- javascript - 分配 Javascript 变量以更正 HTML 表的文本值(标签)
- javascript - 未处理的拒绝(错误):操作必须是简单的 Fetch 函数的普通对象
- sonarqube - 为什么 InitialOpenIssuesSensor 需要这么长时间?
- python - 遍历数据框列表以删除特定行 Pandas
- hive - Hive 在向表中插入大量数据时混合了一些列值
- javascript - 在 JQuery 中使用 switch 语句时如何将元素数据传递到案例中?
- r - stringer 和 grepl 和 grep 中的 str_detect 函数有什么区别?
- php - 如何使用 Smarty 将数字转换为 PHP 中的单词?
- python - AttributeError:模块“tkinter”没有属性“笔记本”