Private Sub Command1_Click() Dim a() As String a = Split(Text1.Text, ",") For i = 0 To UBound(a) Print a(i) Next End Sub 意思是:将文本框里面的内容以","(逗号)处隔开!!输出到窗体上 -------------------------------------------------------------- for i=1 to UBound(array_name) document.write(array_name(i)& "<br />") next VBSCRIPT中如何输出任意长度数组的所有元素? -------------------------------------------------------------- 假设数组为myArray() dim I as integer I = UBound(myArray) 就可以了 这里的I是数组的上界,但不是长度。长度应为I+1,因为数组下标从0开始,即myArray(0)。 Ubound(Array)是数组的上界, Len(Array)才是数组的长度。 ------------------------------------------- VBS动态数组的问题 i = 0: nStr = "" Dim MyArray() Do a = InputBox("循环直到输入4为止") ReDim Preserve MyArray(i) MyArray(i) = a i = i + 1 Loop Until a = "4" For i = 0 To UBound(MyArray) nStr = nStr & MyArray(i) & "," Next MsgBox nStr 补充:-------------------------------------- 不一定要 redim 后才能给数组赋值 Dim MyArray(5) MyArray(0)=455 MyArray(1)=500 ....... 因为这时数组中已有元素 0 到 5 号 下面的用法就必须 redim 后才能给数组赋值 dim MyArray()'定义动态数组,此时数组中一个元素都没有 ReDim Preserve MyArray(3)'重定义数组的元素 为 0 到 3 号 MyArray(0)=455 MyArray(1)=500 MyArray(2)=2 MyArray(3)=78 For i = 0 To UBound(MyArray) nStr = nStr & MyArray(i) & "," Next 表示:将数组的所有元素用字符串形式连在一起,用“,”分隔,便于显示。 UBound(MyArray) 表示数组元素的最大序号。参见: -------------------------------------------------------------- VB动态数组的定义方法——ReDim语句
ReDim 语句语法有以下部分:
部分描述Preserve当更改现有数组最后一维的大小时保留数据。varname变量名,遵循标准变量命名约定。subscripts数组变量的维数,最多可以声明 60 维数组。subscripts 参数语法格式如下:
upper [,upper] . . .
数组的下界总是零。
如果使用了 Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。例如,如果数组只有一维,就可以修改该数组的大小,因为该维是最后的也是仅有的一维。但是,如果数组有两个或更多维,就只能改变末维的大小并保留数组内容。下面的样例示范了如何不删除动态数组的原有内容而又增加末维的大小。
ReDim X(10, 10, 10). . .ReDim Preserve X(10, 10, 15)
Option Explicit
Dim arr(3),i
For i= 0 To 3
arr(i) = InputBox (" 输入第 "&i+1&" 个数 ","") ' 输入 4 个数
Next
MsgBox " 您输入的数组是: " & Join (arr," ") ' 输出数组 用 join 函数
输入一个数组并输出
Option Explicit
Dim arr() ' 或 ReDim arr(1) 代替
ReDim arr(1)
arr(0)=0
arr(1)=1
ReDim arr(2)
arr(2)=2
Call test (1) ' 扩充数组中的元素 , 发现原来的值没有了
ReDim Preserve arr(2)
arr(0)=0
arr(1)=1
Call test (2) ' 用 preserve 关键字保存 数组中的元素
ReDim arr(1) ' 减小数组的长度 ,发现所有的元素都没了
Call test (3)
ReDim arr(2) ' 还原到 第2 步
arr(0)=0
arr(1)=1
arr(2)=2
Call test (4)21
ReDim Preserve arr(1)' 用 preserve 关键字保存 数组中的元素
Call test (5)
Sub test(no)
Dim index,i,tmp
tmp = ""
index =UBound (arr) ' 获取数组的上界
For i = 0 To index
tmp = tmp & arr(i) & " "
Next
MsgBox " 第"&no&" 步 的数组是 :"& tmp
End Sub
这个例子设计的动态设定:
用dim arr () 来设定动态的数组
在调整数组长度的时候,要注意保持数组中原有的元素(用关键字preserve ), 否则将会被清空
