0

私は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)は、TransactionDetailの8つのインスタンスを格納できる「配列」であることを意味しますか?

また、Comment(40)も検討してください。このようにコメントの個々のバイトにアクセスできますか?

  Comment(3) 

また、41バイトすべてをコメントに割り当てていないとします。次に、残りのバイトにはガベージ値が含まれますか?

助けてください。ありがとう。

4

2 に答える 2

1

はい、TR_DATA(7)はTransactionDetailタイプの8つの要素の配列です。

はい、コメント配列には、表示されている個々の要素からアクセスできます。

割り当てられていない要素にはガベージ値含まれている可能性があります-私はそれらを信頼しません-しかし、VBが変数を事前に初期化するのに役立つかどうか思い出せません。ユーザーに役立つだけでなく、数値変数を0に、固定長文字列をすべてゼロに、オブジェクトをEmptyに初期化することを期待しています。

VB6のアレイに関するいくつかの有用なガイダンスを提供するこのWebリンクを見つけました。

また、これを見つけました:VB6変数スコープ; それは言う:

他の多くの言語とは異なり、VBでは変数を初期化できません。これは、実行可能ステートメントを使用して実行する必要があります。ただし、各変数にはデフォルトの初期化値があります。数値変数タイプはゼロに初期化され、文字列は ""に初期化され、ブール値はFalseに初期化されます。

于 2012-04-11T20:55:36.443 に答える
0

@ニック:はい、VBはあなたが推測する通りに役に立ちます。

@CodeBlue:最後の質問は、動的配列を調査することをお勧めします。もしそうなら、私はあなたが特にRedimとPreserveステートメントを調査することを提案します。

于 2012-04-13T13:58:43.783 に答える