VB6声明是否像Arrays一样工作?

时间:2012-04-11 20:48:19

标签: vb6

我是VB新手。我正在阅读一些VB6代码,我遇到了声明语句,如

  PQR_SSN(8) As Byte // this probably refers to social security number
  TR_DATA(7) As TransactionDetail

在另一个文件中,定义了TransactionDetial

  Public Type TransactionDetail
  A(0) As Byte  
  B(0) As Byte
  Comment(40) As Byte
  //... etc
  //...
  End Type

TR_DATA(7)是否意味着它是一个“数组”,可以存储8个TransactionDetail实例?

另外,考虑评论(40)。我可以像这样访问评论的各个字节 -

  Comment(3) 

另外,假设我没有将所有41个字节分配给Comment。那剩下的字节是否包含垃圾值?

请帮忙。谢谢。

2 个答案:

答案 0 :(得分:1)

是的,TR_DATA(7)是一个包含TransactionDetail类型的8个元素的数组。

是的,可以在显示时通过单个元素访问Comments数组。

未分配的元素可能包含垃圾值 - 我不相信它们 - 但我不记得VB是否有助于预先初始化变量。我希望它只会对用户有所帮助,它会将数值变量初始化为0,将固定长度的字符串初始化为全零,将对象初始化为空。

找到this web link,它为VB6中的数组提供了一些有用的指导。

还发现了这个:VB6 Variable Scope;其中说:

  

与许多其他语言不同,VB不允许您初始化   变量;这必须使用可执行语句来完成。然而,   每个变量都有一个默认的初始化值。数字   变量类型初始化为零,字符串初始化为“”,   布尔值初始化为False等。

答案 1 :(得分:0)

@Nick:是的,VB完全可以推测出来。

@CodeBlue:您的上一个问题表明您可能想要研究动态数组。如果是这样,我建议您特别调查Redim和Preserve语句。