Vraag & Antwoord

Programmeren

[VB] array van lengte nul niet mogelijk?

7 antwoorden
  • onderstaande compileert uiteraard niet, maar de bedoeling is duidelijk: Dim arrayOfInt(0 To -1) As Integer bvd
  • [code:1:6e9bba7c1a]Option Explicit Private Type NAWType Voornaam as String Achternaam as String Leeftijd as Integer Adres as String Woonplaats as String End Type Private NAW() as NAWType[/code:1:6e9bba7c1a] Heeft bovenstaand array nu wel of geen lengte? Is het een array per definitie? Of is het alleen maar een declaratie? Wanneer je er getallen inzet, dan heeft de array wel degelijk een lengte. 'Dim NAW(0 TO 0)' heeft al een lengte van 1 keer het array, 'Dim NAW(0 TO -1)' heeft zelfs een lengte van twee keer het array. Ik zit nu niet aan mijn computer waar ik mee programmeer maar ik denk dat dit wel degelijk compileert. Misschien moet het worden 'Dim NAW(0 to -1 STEP -1)' maar ik kan dit niet controleren. Wel een interessante vraag, overigens.
  • het is een variabele (stukje geheugen) gereserveerd voor het opslaan v/e array van 0 ints :smile: ik heb op de pc waar ik nu achterzit vb niet geinstalleerd (voel d'r eerlijk gezegd ook weinig voor om dat nu te doen), maar vanmorgen op m'n werk was ik een tijdje aan 't knoeien in versie 6 v/deze ontwikkelomgeving en het lukte me maar niet om het in m'n vorige post gevraagde voor elkaar te krijgen... ik meen te herinneren dat de decleratie (0 To -1) niet geaccepteerd werd, de preciese foutmelding, en code, ben ik helaas vergeten.
  • Zit nu achter de goede computer, en heb het bovenstaande geprobeerd. Het blijkt dat je met een array niet achteruit kan tellen maar negatieve getallen zijn geen probleem. ReDim NAW(0 To 6) Gaat prima ReDim NAW(6 To 0) Gaat niet ReDim NAW(-4 To 4) Gaat prima ReDim NAW(-4 To -2) Gaat prima ReDim NAW(0 To -1) Gaat niet De bijbehorende foutmelding heeft het over subscripts die 'out of range' zijn. En dat STEP gebeuren in een array kent VB helemaal niet, ook een ReDim NAW(1 To 9 Step 2) geeft een foutmelding. In ieder geval, jouw vraag krijgt het antwoord nee, er bestaat niet iets als een array met lengte nul.
  • dat je in vb arrays negatief kan indexeren had ik vandaag idd ook opgemerkt, maar een array van lengte nul bestaat dus weer niet... vreemd bedankt voor de moeite.
  • Volgens mij bestaat er wel een array met lengte nul. Als een dynamische array declareert met (Dim Array() as ...) dan is de lengte nul. Om een array die geherdimensioneerd is met redim weer een lengte van nul te geven gebruik je Erase.
  • Ik dacht dat ik dat al geprobeerd had (weet 't niet zeker meer). Erase kende ik niet, ga 't morgen proberen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.