vb中能不能再过程中定义全局的数组
举个例子
Private Sub AddAveVal(v_DataTime As String, v_Val As Long)
Public AvgData() As LineDataType
End Sub
能否这样定义,如果不能,怎样动态定义一个数组,使得整个模块都能调用
问题点数:50、回复次数:9Top
1 楼Jneu(沧海桑田)回复于 2001-11-27 14:29:28 得分 5
可以先定义Public Var As Variant
Top
2 楼Jneu(沧海桑田)回复于 2001-11-27 14:30:43 得分 5
用ReDim 语句为动态数组变量重新分配存储空间。
Top
3 楼foolishtiger(冬蛩)回复于 2001-11-27 14:32:19 得分 10
把Public AvgData() As LineDataType写到模块里.Top
4 楼chlei()回复于 2001-11-27 14:34:52 得分 0
这个我知道,我是想根据一个标志位,如果flag = true的时候生成一个数组
Top
5 楼leaf_xuan_xuan(叶子)回复于 2001-11-27 14:45:18 得分 10
我问个问题:
定义一个数组之后,如何能够清除它呢(释放它所占用的空间)?
谢谢
Top
6 楼chlei()回复于 2001-11-27 14:50:08 得分 0
eraseTop
7 楼chlei()回复于 2001-11-27 15:22:47 得分 0
没人帮忙吗?Top
8 楼Bardo(巴顿(永远只有一个))回复于 2001-11-27 20:02:47 得分 20
是限的办法:不用全局,那么怎么传出呢?这样做:
Private Sub AddAveVal(v_DataTime As String, v_Val As Long,AvgData as Variant)
定义一个字串,然后将变量传给字串,
Dim StrAvgData as String
If len (StrAvgData )=0 then
StrAvgData = StrAvgData & ","
End if
StrAvgData = StrAvgData & Cstr(YourVar)
AvgData =Array(Split(StrAvgData))
End Sub
这样你在另一函数中即可以通过给本函数传递第三个变体参数,(地址传参),从而能获取这一数组了
如:
Dim P as Variant
AddAveValv_DataTime, v_Val,P
此时你可以读出这一数组:
dim k as integer
k=Ubound(P)
For i= 0 to k
From.Print p(i)
next i
Top
9 楼Bardo(巴顿(永远只有一个))回复于 2001-11-27 20:03:49 得分 0
上面
Split 的和二个参数应是 ","Top




