Dieses Beispiel erzeugt ein Variant_Array, dessen 1.Dimension mit weiteren Variant_Arrays(Childs) gefüllt wird. Mit dieser Methode lassen sich spaltenorientiere Daten (UDT's, DatenGrids, usw.), unabhängig von ihrer Spaltenanzahl (Elemente), während der Laufzeit in ein 1-dimensionales Array einlesen. Private Function CreateDynArray() As Integer Dim varArray() As Variant Dim V0 As Variant Dim V1 As Variant Dim V2 As Variant Dim V3 As Variant Dim V As Variant Dim varText As Variant Dim A As Integer Dim I As Integer Dim LB As Integer Dim UB As Integer Dim U As Integer On Error GoTo Err_CDA V0 = Array(0, 1, 2, 3, 4, 5, 6) V1 = Array("A", "B", "C") V2 = Array(0, "A", 2, "B", "C", "D") V3 = Array("Karlsruhe", "22.02.2008", "100,5 €", "vb@rchiv", "VB6", "norbert.grimm@web.de") ' [Redim] Array und weise der x.Dimension jeweils ein neues Array zu. ' Achtung: varArray ist u. bleibt ein Array mit EINER-Dimension, ' ' V0 -> V3 usw. ' normal Arrays die dynamisch während der Laufzeit mit Hilfe einer Zählerschleife ' dimensioniert werden ReDim Preserve varArray(0) varArray(0) = V0 ReDim Preserve varArray(1) varArray(1) = V1 ReDim Preserve varArray(2) varArray(2) = V2 ReDim Preserve varArray(3) varArray(3) = V3 ' Die Dimensionierung des quasi "pseudo 2-dimensionale Array" lässt ' sich nur in der 1.Dimension fehlerfrei mit [Lbound, Ubound] auswerten LB = LBound(varArray) UB = UBound(varArray) ' bzw. LB = LBound(varArray, 1) UB = UBound(varArray, 1) ' z.B. führt zu Fehler ' UB = UBound(varArray, 2) ' Err 9: Index außerhalb des gültigen Bereichs MsgBox UB, vbInformation, "UBound" & Space(20) ' Den Inhalt des Arrays mit einen [For Each ... Next]-Schleife auslesen. ' In A die akt.Dimensionierung der x.Dimension ermitteln For I = 0 To UB For Each V In varArray(I) varText = varText & V & vbCr A = A + 1 Next V varText = varText & vbCr & vbCr & "Dim : " & A MsgBox varText, vbInformation, "Inhalt V" & I & Space(20) A = 0 varText = "" Next I Exit_CDA: Exit Function Err_CDA: MsgBox Err & vbCr & Err.Description, vbCritical, "CreateDynArray" Resume Exit_CDA End Function Dieser Tipp wurde bereits 8.363 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |