请教下VB mschart控件的问题

我第一次用到mschart的控件,原来的有个范例是dimmydata(20,1),可以表示出20个数据的连线图,但是我程序改为dimmydata(i,1),就无法编译了,... 我第一次用到mschart的控件,原来的有个范例是dim mydata(20,1),可以表示出20个数据的连线图,但是我程序改为dim mydata(i,1),就无法编译了,说是需要常数表达式!请问这是为什么。。难道只能定义为固定的数字?请大神们帮下~ 展开
 我来答
money0_04c351c2
2012-06-18 · TA获得超过4142个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1605万
展开全部
你可以在代码的开头先声明一个空数组: dim mydata(0,1)
然后在适当的位置将数组扩大: ReDim Preserve mydata(i,1)
更多追问追答
追问
ReDim Preserve mydata(i,1) 这是什么意思? 是重新定义吗?弱弱的问下,适当的位置是哪?
Private Sub Command1_Click()

Dim i As Integer
i = i + 1
Dim MyData(i, 1) As Double

MyData(i, 0) = i: MyData(i, 1) = DataVolt1 * 16 * 16 + DataVolt2
请问我需要在哪插入呢?还有这样的话是不是就是可以i就可以无限了啊~我是新手。。大神解释下。。

.
追答
你这代码写的……
刚定义的变量其初始值不受官方保护的,也就是说 Dim i As Integer 紧跟 i = i + 1 得到的值是不能确定的(理论上)。为什么不老老实实的写 I = 1 呢?
在你这个例子里,应该这么写:
Dim i As Integer
i = 1
Dim (0, 1) As Double
然后在下面 i 值改变,并且影响到 MyData 的位置处重定义数组。
举例如下:
For i = 1 to 100
ReDim Preserve mydata(i,1)
MyData(i, 0) = i: MyData(i, 1) = DataVolt1 * 16 * 16 + DataVolt2
Next I
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式