VB 动态数组!

2025-04-29 06:50:11
推荐回答(4个)
回答1:

'你说的问题是动态数组的问题,但是一个数组必须是同一数据类型,以字符数据类型为例:
Dim wbsj() As String  '这里定义了一个字符类型的动态数组
'定义动态数组在使用时必须为其设置下标,那么接下来需要设置下标:
Dim aa As Integer   '定义一个整形变量
Open "c:/123.txt" For Input As #1
Do While Not EOF(1)
aa = aa + 1
Loop
'aa就是123.txt的记录数
ReDim wbsj(1 To aa)    ' 这样就为wbsj动态数组定义了下标,下面就可以使用了。

回答2:

两个错误:
(1)
Dim
myarray(10)
As
String.
这样定义就不是动态数组了,不能使用ReDim
语句的.定义动态数组时不需要指定数组的维数,正确的:
Dim
myarray()
As
String,
然后就可以用ReDim设置维数了,
(2)
你在
Form_Load
里定义的局部变量是不能在
Form_Click
里使用的.这样吧:
Option
Explicit
Dim
myarray()
As
String
Private
Sub
Form_Click()
Print
myarray(1)
End
Sub
Private
Sub
Form_Load()
ReDim
myarray(10)
As
String
myarray(1)
=
"123"
ReDim
Preserve
myarray(20)
End
Sub

回答3:

Dim d() As String '定义动态数组
Dim n As Integer
n = 0
Open "C:\文件.txt" For Input As #1
Do While Not EOF(1)
n = n + 1
ReDim Preserve d(n) '动态改变数组的规模
Input #1, d(n) '将数据读取到数组里
Loop
Close #1

回答4:

Open fileName For Binary As #1
ReDim fileBuff(LOF(1))
先定义再重定义了