Is er een functie die de lengte van een array weergeeft in vb ? ik weet dat er in delphi eentje is maar in vb weet ik het niet zeker en die msdn help files zijn zo omslachtig om iets te zoeken ! Daarom vraag ik het eerst voor ik zelf functietje schrijf, kwestie van geen functie te maken die al bestaat
Wat bedoel je precies met lengte?
Exact expert nodig?
Verwijderd
Bedoel je dit?
code:
1
2
3
| Function ArraySize( arr() ) ArraySize=UBound(arr) - LBound(arr) End Function |
als je een array van bvb 100 elementen gedeclareerd hebt
maar je hebt maar aan de eerste 2 indexen een waarde gegeven
dat hij 2 terug geeft
maar je hebt maar aan de eerste 2 indexen een waarde gegeven
dat hij 2 terug geeft
Die moet je zelf schrijven.
En dan is het nog de vraag van welk datatype je array is. Strings zijn alle items "" (leeg
), maar het kan best zijn dat item 3 in je array ook leeg moet zijn. Variants zijn daar trouwens wel handig voor, kun je met IsEmpty checken of 'ie gezet is, maar ik denk dat het efficienter is om een array te nemen van het datatype dat je wilt hebben, en of een countertje bijhouden, of een 2e array met booleans. (Als je altijd op 0 begint, en je alleen wilt weten hoeveel waardes er echt gevuld zijn lijkt een tellertje me voldoende).
En dan is het nog de vraag van welk datatype je array is. Strings zijn alle items "" (leeg
Exact expert nodig?
Waarom zou je dan niet gewoon redimmen?
Redim {preserve} myarray(2){as type}
en anders moet je idd maar een soort teller bij houden bij elke wijziging..
Redim {preserve} myarray(2){as type}
en anders moet je idd maar een soort teller bij houden bij elke wijziging..
Da's afhankelijk waarvoor je het gebruikt natuurlijkOp dinsdag 12 februari 2002 19:45 schreef 41.6C.6D.61.72 het volgende:
Waarom zou je dan niet gewoon redimmen?
Redim {preserve} myarray(2){as type}
en anders moet je idd maar een soort teller bij houden bij elke wijziging..
Exact expert nodig?
Zeker weten dat het sneller is.
Met een andere array kan het ook wel..
Redim myArray(100 To 500)
en dan gebruik je de Ubound en de LBound() om start en einde te krijgen...niet echt perfect..maar ja =-)
Met een andere array kan het ook wel..
Redim myArray(100 To 500)
en dan gebruik je de Ubound en de LBound() om start en einde te krijgen...niet echt perfect..maar ja =-)
Pagina: 1