2012-04-11 5 views
0

Ich bin neu in VB. Ich bin einige VB6-Code zu lesen und ich komme über Erklärung Aussagen wieFunktionieren VB6-Deklarationen wie Arrays?

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

In einer anderen Datei wird TransactionDetial

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

Does TR_DATA (7) bedeuten definiert, dass es ein "Array" ist, die gespeichert werden können 8 Instanzen von TransactionDetail?

Beachten Sie auch Kommentar (40). Kann ich auf einzelne Bytes des Kommentars wie folgt zugreifen -

Comment(3) 

Angenommen, ich ordne nicht alle 41 Byte dem Kommentar zu. Dann wird der Rest der Bytes Müllwerte enthalten?

Bitte helfen. Vielen Dank.

+0

Daten, die als Byte deklariert sind, selbst Arrays, haben einen Anfangswert von Null (0). – Bob77

Antwort

1

Ja, TR_DATA (7) ist ein Array von 8 Elementen vom Typ TransactionDetail.

Ja, auf das Array Kommentare kann durch einzelne Elemente zugegriffen werden, wie Sie zeigen.

Nicht zugewiesene Elemente Mai enthalten Garbage-Werte - ich würde ihnen nicht vertrauen - aber ich kann mich nicht erinnern, ob VB hilfreich Variablen vorinitialisiert. Ich würde erwarten, dass es, nur um Benutzern zu helfen, und dass es numerische Variablen auf 0 initialisieren würde, Strings fester Länge auf alle Nullen und Objekte zu leeren.

Gefunden this web link, die einige nützliche Anleitung für Arrays in VB6 gibt.

Ebenfalls gefunden: VB6 Variable Scope; was sagt:

Im Gegensatz zu vielen anderen Sprachen, VB erlaubt Ihnen nicht zu initialisieren Variablen; Dies muss mit einer ausführbaren Anweisung geschehen. Jedoch hat jede Variable einen Standardinitialisierungswert. Numerische Variablentypen werden auf Null initialisiert werden Strings initialisiert auf „“, Boolesche Werte auf False initialisiert werden, usw.

+2

Die untere Grenze in VB6 kann 0 oder 1 sein (normalerweise 0), kann aber mit der OPTION BASE-Anweisung geändert werden. http://msdn.microsoft.com/en-us/library/aa266179(v=vs.60).aspx –

+3

VB6 [initialisiert Werte zu 0/""] (http://stackoverflow.com/a/ 10045297/588306). – Deanna

0

@ Nick: Ja, VB helfend tut genau, wie Sie vermuten.

@CodeBlue: Ihre letzte Frage schlägt vor, dass Sie dynamische Arrays untersuchen möchten. Wenn dem so ist, würde ich vorschlagen, dass Sie insbesondere die Redim and Preserve-Aussagen untersuchen.