[VB]Array of type, aantal elementen?

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Ik heb in VB een type aangemaakt, hieronder is ie afgebeeld:

code:
1
2
3
4
5
6
7
8
Private Type Regel
    clnr As Double
    mldnr As Double
    fctnr As Double
    drnm As String   '* 50
    omschr As String '* 110
    bedr As Currency
End Type


Nu maak ik een array aan met een niet gedefineerde lengte:

Private RglList() As Regel

Nu lukt het me om er dingen in te zetten en uit te lezen, maar hoe bepaal ik het aantal types in die array?

Met Len heb ik al vanalles geprobeert. Ik krijg steeds de error: "Variable required - can't assign to this expression." Wat doe ik fout? Ik heb het idee dat ik wat anders moet gebruiken als Len, maar met wat of hoe pak ik het aan?

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Ubound(RglList)? of zeg ik nou iets doms?

Verwijderd

Kan je niet een For-Each loop maken met een tellertje erin??

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Omschrijving van UBound in de help:
Returns a Long containing the largest available subscript for the indicated dimension of anarray.
Je zegt dus niks doms henkleerssen ;)

Overigens geloof ik dat UBound niet het aantal elementen in een array telt, maar het hoogste gebruikte elementnummer retourneert. Lege elementen die binnen de array vallen worden dus 'meegeteld'!

My personal website


  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Ok, het werkt zo te zien! Maar ik moet wel Ubound(RglList) - 1 in mij for loopje doen, de laatste is altijd leeg (en die heb ik zelf niet aangemaakt). Is die leeg zodat ik weer nieuwe aan kan maken ofzo? Ach niet belangrijk eig., het werkt goed! Bedankt! :)

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
volgens mij begint ubound bij 0 te tellen

  • Markieman
  • Registratie: December 2001
  • Laatst online: 15-08 13:58
Benadski schreef op 25 September 2003 @ 11:40:
Ok, het werkt zo te zien! Maar ik moet wel Ubound(RglList) - 1 in mij for loopje doen, de laatste is altijd leeg (en die heb ik zelf niet aangemaakt). Is die leeg zodat ik weer nieuwe aan kan maken ofzo? Ach niet belangrijk eig., het werkt goed! Bedankt! :)
Als de laatste leeg is dan heb je dat toch zelf gedaan... Er zit dus ergens een foutje in...

Stel je doet:

redim preserve RglList(1)

Dan zou je denken (zoals in c) dat je een array met 1 element krijgt.
Echter visual basic maakt hier een array van 0...1 van, dus 2 elementen

Het eerste element begint standaar bij 0 ja...

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Markieman schreef op 25 september 2003 @ 11:46:
[...]


Als de laatste leeg is dan heb je dat toch zelf gedaan... Er zit dus ergens een foutje in...

Stel je doet:

redim preserve RglList(1)

Dan zou je denken (zoals in c) dat je een array met 1 element krijgt.
Echter visual basic maakt hier een array van 0...1 van, dus 2 elementen

Het eerste element begint standaar bij 0 ja...
Tenzij je op de module "Option base 1" zet.. dan begint die te tellen bij 1 ("Option base 0" is default)

edit: Jeetje.. dit is alweer mijn 3000e post.. tjonge jonge.. gaat snel.. nee ik heb geen gebak bij de hand ;)

[ Voor 15% gewijzigd door henkleerssen op 25-09-2003 12:39 ]


  • Benadski
  • Registratie: November 2001
  • Laatst online: 11-08 20:35
Ah, jullie hebben gelijk, ik gebruik natuurlijk eerst redim, en daar moet dus ook het aantal elementen - 1 in staan! Thankx! :)

Ps. van mij mag ie wel met 0 beginnen, maakt verder toch niet veel uit in mijn programma...

  • DukeMan
  • Registratie: Mei 2000
  • Niet online
LBound(rglList) geeft het laagst gebruikte elementnummer weer. Dit is handig als je een array dimt ala: Redim rglList(2 to 20)

LBound(rglList) geeft dan 2 terug
Pagina: 1