能否判断动态数组有没有被分配过?

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

动态数组在VB语言中常能起到出奇制胜的作用。但数组有没有被重新定义或释放,用“is empty”,“is null”,“=" "”等方法都不起作用。所以判断时一般采用侦别错误消息(ON ERROR )的方法。下面给出一个非错误侦别的代码,判断动态字符串数组的分配情况:

Private Sub Command1_Click()

Dim a() As String, i As Long

MsgBox hasredim(a), 64, "Has a() been redimed?" '未初始化

ReDim a(20)

For i = 1 To 20

a(i) = chr(i+64)

Next

MsgBox hasredim(a), 64, "Has a() been redimed?" '初始化后

Erase a '释放空间后

MsgBox hasredim(a), 64, "Has a() been redimed?"

End Sub

Function hasredim(ByRef x() As String) As Boolean '定义布尔函数

Dim temp As String

temp = Join(x, ",")

hasredim = LenB(temp) > 0 '空数组长度为零

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航