Dynamisches Datenfeld mit benutzerdefiniertem Typ

11/06/2008 - 13:27 von Franz Simmer | Report spam
Hallo Ng,

gibt es eine elegante Methode festzustellen, ob ein dynamisches
Datenfeld mit einem benutzerdefiniertem Typ als Variablentyp mit Redim
bereits dimensoniert wurde?

Vorlàufig hab ich das Problem so gelöst:

Function SucheWert(ByRef udtMyArray() as MyArray, ByVal lngNeuWert as
Long, ByVal strMsg as String) as Long
...
On error goto _redim
...
' hier durchsuche ich das Array nach einem bestimmten Wert
' falls es das Array noch nicht gibt, tritt ein Fehler auf
For lngI = 0 to UBound(udtMyArray)
If udtMyArray(lngI).wert1 = lngNeuWert then
' wert bereits in der Liste
SucheWert = lngI
Exit Function
endif
next

_redim:
If err.Number > 0 then
redim udtMyArray(0)
else
redim preserve udtMyArray(UBound(udtMyArray)+1)
endif

udtMyArray(UBound(MyArray)).wert1 = lngNeuWert
udtMyArray(UBound(MyArray)).text1 = strMsg1
...

lg. Franz Simmer
 

Lesen sie die antworten

#1 Thorsten Doerfler
11/06/2008 - 15:23 | Warnen spam
Franz Simmer schrieb:
gibt es eine elegante Methode festzustellen, ob ein dynamisches
Datenfeld mit einem benutzerdefiniertem Typ als Variablentyp mit Redim
bereits dimensoniert wurde?



2.21 Wie kann ich feststellen, ob ein dynamisches Array leer ist?
http://vb-faq.de/article.php?id1

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen