Gemeinsam zu mehr Effizienz in der Anwendungserstellung
K (Die Seite wurde neu angelegt: „Kategorie:Code-Schnipsel <source> If (0 / 1) + (Not Not TestArray) = 0 Then Debug.Print "Array ist nicht initialisiert" Else Debug.Print "Array ist ini…“) |
K |
||
(Der Versionsvergleich bezieht 7 dazwischenliegende Versionen mit ein.) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Code-Schnipsel]] | [[Kategorie:Code-Schnipsel]] | ||
+ | |||
+ | Mit <code>IsArray(..)</code> kann man zwar prüfen, ob eine Variable ein Array beinhaltet, man kann aber nicht prüfen, ob ein dynamisches Array dimensioniert/initialisiert ist. | ||
<source> | <source> | ||
- | + | Private Function IsInitializedLongArray(ByRef ArrayToCheck() As Long) | |
- | + | IsInitializedLongArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0) | |
- | + | End Function | |
- | + | ||
- | End | + | Private Function IsInitializedStringArray(ByRef ArrayToCheck() As String) |
+ | IsInitializedStringArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0) | ||
+ | End Function | ||
+ | |||
+ | ... | ||
</source> | </source> | ||
+ | === Anwendung === | ||
<source> | <source> | ||
Dim TestArray() As Long | Dim TestArray() As Long | ||
- | + | Debug.Print "IsArray(TestArray) = "; IsArray(TestArray), | |
- | + | If IsInitializedLongArray(TestArray) Then | |
- | If ( | + | Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray) |
- | Debug.Print "Array ist | + | |
Else | Else | ||
- | Debug.Print "Array ist initialisiert" | + | Debug.Print "Array ist nicht initialisiert" |
End If | End If | ||
</source> | </source> | ||
- | |||
<source> | <source> | ||
- | Dim TestArray( | + | Dim TestArray() As Long |
- | + | ReDim TestArray(3) | |
- | Debug.Print "Array ist | + | |
+ | Debug.Print "IsArray(TestArray) = "; IsArray(TestArray), | ||
+ | If IsInitializedLongArray(TestArray) Then | ||
+ | Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray) | ||
Else | Else | ||
- | Debug.Print "Array ist initialisiert" | + | Debug.Print "Array ist nicht initialisiert" |
End If | End If | ||
</source> | </source> |
Mit IsArray(..)
kann man zwar prüfen, ob eine Variable ein Array beinhaltet, man kann aber nicht prüfen, ob ein dynamisches Array dimensioniert/initialisiert ist.
Private Function IsInitializedLongArray(ByRef ArrayToCheck() As Long) IsInitializedLongArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0) End Function Private Function IsInitializedStringArray(ByRef ArrayToCheck() As String) IsInitializedStringArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0) End Function ...
Dim TestArray() As Long Debug.Print "IsArray(TestArray) = "; IsArray(TestArray), If IsInitializedLongArray(TestArray) Then Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray) Else Debug.Print "Array ist nicht initialisiert" End If
Dim TestArray() As Long ReDim TestArray(3) Debug.Print "IsArray(TestArray) = "; IsArray(TestArray), If IsInitializedLongArray(TestArray) Then Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray) Else Debug.Print "Array ist nicht initialisiert" End If