vb 数组 定义 赋值

Dim x(10) As Integer
Dim y As String

Private Sub Command1_Click()
x(10) = [0,1,2,3,4,5,6,7,8,9]
For a = 1 To 9
For b = 0 To 9
For c = 0 To 9
For d = 0 To 9
For e = 0 To 9
For f = 0 To 9
For g = 0 To 9
For h = 0 To 9
For i = 0 To 9
For j = 0 To 9
y = x(a) * 10 ^ 9 + x(b) * 10 ^ 8 + x(c) * 10 ^ 7 + x(d) * 10 ^ 6 + x(e) * 10 ^ 5 + x(f) * 10 ^ 4 + x(g) * 10 ^ 4 + x(h) * 10 ^ 3 + x(i) * 10 ^ 2 + x(j) * 10 ^ 1
Text1.Text = Text1.Text & y
Next j
Next i
Next h
Next g
Next f
Next e
Next d
Next c
Next b
Next a
End Sub

错误在哪里,显示的是外部名未定义

VB6是没有 x(10) = [0,1,2,3,4,5,6,7,8,9] 这样的数组赋值方法的,正确的应该是:

Dim x() As Variant   '变量必须设为Variant型,否则类型不匹配

x = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

此外,你这个程序是把简单问题复杂化了,看起来有点傻傻的,下面是简化的:

Private Sub Command1_Click()
Dim a As Double
For a = 1000000000 To 9999999999#
    Text1.Text = Text1.Text & a & " "
Next a
End Sub

最后再补充一下,由于数据量太大,远远超过文本框64K的限制,所以运行时肯定会出错的,先提醒你

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-21
For i = 0 To 9
x(i) = i
Next
用类似以上方式赋值数组元素

x(10) = [0,1,2,3,4,5,6,7,8,9] 这种在vb6中不允许追问

x(10) = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
这样呢,这样显示类型不匹配

本回答被提问者采纳
第2个回答  2015-10-03
Dim cnt1 as Variant
cnt1=array(1600,0,0,0,0)
================================
Array 函数

返回一个包含数组的 Variant。

语法

Array(arglist)

所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。

说明

用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变量。

Dim A As Variant
A = Array(10,20,30)
B = A(2)

使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如 VBA.Array )名称限定。如果是由类型库名称限定,则 Array 不受 Option Base 的影响。

注意 没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网