VB数组的赋值

VB数组的赋值,第1张

UBound(<数组名>[,<参数名>]):功能是返回数组某维的维上界值。比如:Dim a(3,5) as Interger……t=UBound(a,2),即表示t=数组a第二维的上界,即t=5。对于一维数组,维可以省略,例如:Dim a(3) as Interger……t=UBound(a),即表示t=3 。你的代码中UBound(a)=5,所以是Redim b(5) 。

因为在数组初始化中不能直接定义数组的维数,故你错在Dimlabel1_top(0To9)AsLong
Dimlabel1_left(0To9)AsLong
指明0-9,去掉(0-9),还有你一个数据中有个b,也不对(细心阿)这样就ok了
OptionExplicit
Dimi
PrivateSubForm_Click()
Dimlabel1_top
Dimlabel1_left
label1_left=Array(120,3000,4200,960,2520,4080,960,2520,4080,5760)
label1_top=Array(720,1200,1200,2160,2160,2160,3000,3000,3000,1680)
Fori=0To9
Printlabel1_top(i)
Nexti
EndSub
我运行了一个,可以
另一个留给你了

你想一次 进行 40个 赋值, 又要 保证它是常数
实在不好办
用 枚举型, 是可以的, 但 它不是 常量 的
如果你坚持 要赋值后,还是常数, 只有用一种恐怖的方法,
先用 Array 一次性 给 变量赋值
再 通过 SafeArray 结构, 添加一个Flag : FADF_FIXEDSIZE
这样做很麻烦 甚至 还不容易成功 所以, xx 不可兼得 呀

Private Sub Form_Load()
Dim a(10) As Integer, n As Integer, i As Integer
n = InputBox("请输入n的值(n>=2且n<=10)")
For i = 1 To n
a(i) = InputBox("请按顺序输入数组中各元素的值")
Picture1Print "a(" & i & ")="; a(i)
Next i
End Sub
1)你代码稍作修改可以输入数组中各各元素的值
2)当然也可在窗体初始化时给数组赋值:
Private Sub Form_Load()
a(0) = 1
a(0) = 11
a(0) = 27
a(0) = 15
a(0) = 136
a(0) = 44
End Sub
3)在窗体初始化时读取文本文件(或数据库)给数组赋值:
Private Sub Form_Load()
Dim As Byte
Dim gongyi(31) as Single
Open "c:\gongyitxt" For Input As #1
For i = 0 To 31
Input #1, gongyi_sj(i)
Next i
Close
End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12958032.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存