Die Funktion ConvArray2Dim konvertiert ein 1-dimensionales Array in ein 2-dimensionales Array. vArray muss mit "ReDim" erstellt(definiert) sein! Der Inhalt des 1-dim.Array's wird in ein temp.2-dim.Array eingelesen. Das übergebene 1-dim.Array wird dann gelöscht und als 2-dim.Array redimensioniert. Die Daten werden aus dem temp.2-dim.Array eingelesen. Diese Funktion findet Verwendung als vorgeschaltene Funktion für andere Funktionen/Prozeduren, die ein 2-dim.Array als Übergabeparameter benötigen (siehe z.B. Sort_Funktionen). Function ConvArray2Dim(ByRef vArray() As Variant) As Long Dim iTyp As Integer Dim I As Long Dim nErr As Long Dim Ret As Long Dim LB1 As Long Dim UB1 As Long Dim UB2 As Long Dim vArr2() As Variant ' prüfe Datentyp iTyp = VarType(vArray) If iTyp = (vbVariant + vbArray) Then ' Variant_Array ' Fehlerroutine mit Resume On Error Resume Next UB1 = UBound(vArray, 1) ' prüfe 1.Dimension With Err If .Number <> 0 Then ' Err: 9 nErr = .Number End If End With If nErr Then ' Err: 9 Ret = nErr GoTo Exit_CA2D ' beende über Exit_CA2D End If LB1 = LBound(vArray, 1) UB2 = UBound(vArray, 2) ' prüfe 2.Dimension With Err If .Number <> 0 Then ' Err: 9 nErr = .Number .Clear End If End With If nErr Then ' Err: 9 Ret = nErr ' nicht dimensioniert ' Fehlerroutine On Error GoTo Err_CA2D ReDim vArr2(LB1 To UB1, 1) ' dimensioniere 2-dim-Variant_Array(temp) For I = LB1 To UB1 ' einlesen vArray in vVar vArr2(I, 0) = I vArr2(I, 1) = vArray(I) Next I ReDim vArray(LB1 To UB1, 1) ' redimensioniere vArray For I = LB1 To UB1 ' einlesen vArray in vArr2 vArray(I, 0) = vArr2(I, 0) vArray(I, 1) = vArr2(I, 1) Next I Erase vArr2 ' lösche temp.Array Ret = 0 End If Else Ret = iTyp End If ' Ret = 0 , o.k. ' <> 0 , Fehler bzw. kein Variant_Array Exit_CA2D: ConvArray2Dim = Ret Exit Function Err_CA2D: With Err Ret = .Number .Clear End With Resume Exit_CA2D End Function Dieser Tipp wurde bereits 12.117 mal aufgerufen.
Anzeige
![]() ![]() ![]() 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 sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. |
||||||||||||||||
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. |