VB 给数组()赋值,急急急!
PrivateSubForm_Load()DimXAsStringDimDATA2_LIST()AsStringDimDATA_USE_LIST()AsStringDim...
Private Sub Form_Load()
Dim X As String
Dim DATA2_LIST() As String
Dim DATA_USE_LIST() As String
Dim DATA_Q() As String
Dim DATA_Q_M() As String
Dim n As Integer
Dim X2 As String
List1.Clear
Open "g:\shurufa" & "\DATA\DATA_LOAD_LIST\LIST.INI" For Input As #1
'‘Do While Not EOF(1)
Line Input #1, X
If X = "[DATA2]" Then '判断
n = 0
Do
MsgBox n
Line Input #1, DATA2_LIST(n)
n = n + 1
Loop While DATA2_LIST(n) = "[END]"
End If
End Sub
帮我修改下拉?急急急!!! 展开
Dim X As String
Dim DATA2_LIST() As String
Dim DATA_USE_LIST() As String
Dim DATA_Q() As String
Dim DATA_Q_M() As String
Dim n As Integer
Dim X2 As String
List1.Clear
Open "g:\shurufa" & "\DATA\DATA_LOAD_LIST\LIST.INI" For Input As #1
'‘Do While Not EOF(1)
Line Input #1, X
If X = "[DATA2]" Then '判断
n = 0
Do
MsgBox n
Line Input #1, DATA2_LIST(n)
n = n + 1
Loop While DATA2_LIST(n) = "[END]"
End If
End Sub
帮我修改下拉?急急急!!! 展开
展开全部
假如你是用动态数组的话,定义的时候不写下标是对的,就像Dim DATA2_LIST() As String这样,
但是后面要用的时候还要重新定义一下,比如Redim DATA2_LIST(0 to 3),然后才能DATA2_LIST(0)="abc"这样用,否则会报错的。
重新定义可以很多次,
Redim DATA2_LIST(0 to 3)
Redim DATA2_LIST(0 to 4)
Redim Preserve DATA2_LIST(0 to 5)
像这样是可以的,
当然每次redim过后前面给数组元素赋的值会清空掉,你得加Preserve关键字来让你的数据保持住。
如果你要取原来数组大小,可以用UBound和LBound函数取上下标,比如
Dim DATA2_LIST() as String
Redim DATA2_LIST(2 to 4)
UBound(DATA2_LIST)就等于4,LBound(DATA2_LIST)就等于2
但是如果动态数组只有dim而没有redim的话,用UBound就会报错
Dim DATA2_LIST() as String
msgbox UBound(DATA2_LIST) 这样程序就会完蛋
所以我用动态数组的时候通常是牺牲掉一个第0个元素,来换取使用的便利
Dim DATA2_LIST() as String
Dim lngListCnt as long
Redim DATA2_LIST(0)
lngListCnt = UBound(DATA2_LIST)
lngListCnt = lngListCnt + 1
Redim Preserve DATA2_LIST(0 to lngListCnt)
DATA2_LIST(lngListCnt) = "新增加的第一个元素"
lngListCnt = UBound(DATA2_LIST)
lngListCnt = lngListCnt + 1
Redim Preserve DATA2_LIST(0 to lngListCnt)
DATA2_LIST(lngListCnt) = "新增加的第二个元素"
当然使用的时候记得从下标1开始取哦,元素0永远是空的
但是后面要用的时候还要重新定义一下,比如Redim DATA2_LIST(0 to 3),然后才能DATA2_LIST(0)="abc"这样用,否则会报错的。
重新定义可以很多次,
Redim DATA2_LIST(0 to 3)
Redim DATA2_LIST(0 to 4)
Redim Preserve DATA2_LIST(0 to 5)
像这样是可以的,
当然每次redim过后前面给数组元素赋的值会清空掉,你得加Preserve关键字来让你的数据保持住。
如果你要取原来数组大小,可以用UBound和LBound函数取上下标,比如
Dim DATA2_LIST() as String
Redim DATA2_LIST(2 to 4)
UBound(DATA2_LIST)就等于4,LBound(DATA2_LIST)就等于2
但是如果动态数组只有dim而没有redim的话,用UBound就会报错
Dim DATA2_LIST() as String
msgbox UBound(DATA2_LIST) 这样程序就会完蛋
所以我用动态数组的时候通常是牺牲掉一个第0个元素,来换取使用的便利
Dim DATA2_LIST() as String
Dim lngListCnt as long
Redim DATA2_LIST(0)
lngListCnt = UBound(DATA2_LIST)
lngListCnt = lngListCnt + 1
Redim Preserve DATA2_LIST(0 to lngListCnt)
DATA2_LIST(lngListCnt) = "新增加的第一个元素"
lngListCnt = UBound(DATA2_LIST)
lngListCnt = lngListCnt + 1
Redim Preserve DATA2_LIST(0 to lngListCnt)
DATA2_LIST(lngListCnt) = "新增加的第二个元素"
当然使用的时候记得从下标1开始取哦,元素0永远是空的
展开全部
Private Sub Form_Load()
Dim X As String
Dim DATA2_LIST() As String
Dim DATA_USE_LIST() As String
Dim DATA_Q() As String
Dim DATA_Q_M() As String
Dim n As Integer
Dim X2 As String
List1.Clear
Open "g:\shurufa" & "\DATA\DATA_LOAD_LIST\LIST.INI" For Input As #1
'‘Do While Not EOF(1)
Line Input #1, X
If X = "[DATA2]" Then '判断
n = 0
Do
MsgBox n
ReDim Preserve DATA2_LIST(n) As String
Line Input #1, DATA2_LIST(n)
n = n + 1
Loop While DATA2_LIST(n) = "[END]"
End If
End Sub
Dim X As String
Dim DATA2_LIST() As String
Dim DATA_USE_LIST() As String
Dim DATA_Q() As String
Dim DATA_Q_M() As String
Dim n As Integer
Dim X2 As String
List1.Clear
Open "g:\shurufa" & "\DATA\DATA_LOAD_LIST\LIST.INI" For Input As #1
'‘Do While Not EOF(1)
Line Input #1, X
If X = "[DATA2]" Then '判断
n = 0
Do
MsgBox n
ReDim Preserve DATA2_LIST(n) As String
Line Input #1, DATA2_LIST(n)
n = n + 1
Loop While DATA2_LIST(n) = "[END]"
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为定义数组大小.需要先定义DATA2_LIST数组大小
Redim DATA2_LIST(n) n为指定值.
Redim DATA2_LIST(n) n为指定值.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询