2012-04-11 2 views
0

저는 VB가 처음이에요. 좀 VB6 코드를 읽고 그리고 난 다른 파일에서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 개?

또한 설명 (40)을 고려하십시오. 이 같은 메모의 개별 바이트에 액세스 할 수 있습니까?

Comment(3) 

또한 41 바이트를 모두 Comment에 할당한다고 가정하십시오. 나머지 바이트는 가비지 값을 포함합니까?

도와주세요. 감사.

+0

Byte, even 배열로 선언 된 데이터의 초기 값은 0입니다. – Bob77

답변

1

예, TR_DATA (7)는 TransactionDetail 유형의 8 개 요소 배열입니다.

예, 설명 배열은 개별 요소를 통해 액세스 할 수 있습니다.

할당되지 않은 요소 에는 가비지 값이 포함되어 있습니다. 신뢰할 수는 없지만 VB가 유용하게 변수를 미리 초기화하는지 여부를 기억하지 못합니다. 나는 사용자에게 도움이 될 것으로 기대하고, 숫자 변수를 0으로 초기화하고, 고정 길이 문자열을 모두 0으로 초기화하고, 객체를 Empty로 초기화 할 것이라고 기대합니다.

발견 된 this web link은 VB6의 배열에 대한 유용한 지침을 제공합니다.

방금 ​​발견 : VB6 Variable Scope; 어떤 말 :

다른 많은 언어와 달리 VB는 변수를 초기화 할 수 없습니다. 이것은 실행 가능한 명령문으로 수행되어야합니다. 그러나 각 변수에는 기본 초기화 값이 있습니다. 숫자 변수 유형은 0으로 초기화되며, 문자열은 ""로 초기화되어, 부울이 거짓으로 초기화되는 등

+2

VB6의 하한은 0 또는 1 (보통 0)이지만 OPTION BASE 문으로 변경할 수 있습니다. http://msdn.microsoft.com/en-us/library/aa266179(v=vs.60).aspx –

+3

VB6은 [0으로 초기화합니다.] "(http://stackoverflow.com/a/) 10045297/588306). – Deanna

0

@Nick : 예, VB가 유용하게 당신이 추측대로 정확히 않습니다.

@CodeBlue : 마지막 질문은 동적 배열을 조사하는 것이 좋습니다. 그렇다면 특히 Redim 및 Preserve 문을 조사하는 것이 좋습니다.