WHILE expression {some code} WEND

Beschrijving: Deze twee statements staan aan het begin en het eind van een controle lus. Tussen de WHILE en de WEND wordt code geplaatst (naar keuze) die herhaaldelijk wordt uitgevoerd terwijl de uitdrukking naar waar (true) evalueert. De code tussen WHILE en zijn bijbehorende WEND statement zal zelfs niet eenmaal worden uitgevoerd als de uitdrukking van de WHILE aanvankelijk als vals evalueert. Als de uitvoering het WEND statement bereikt, springt die terug naar WHILE zolang de uitdrukking van het WHILE waar is. De "uitdrukking" kan een Boolean, numerieke, of een string of een combinatie van uitdrukkingen zijn. Gebruik: ' loop until midnight (go read a good book) while time$ <> "00:00:00" ' some action performing code might be placed here wend Or: ' loop until a valid response is solicited while val(age$) = 0 input "How old are you?"; age$ if val(age$) = 0 then print "Invalid response. Try again." wend Nota: Een programma mag de WHILE…WEND lus niet verlaten met een GOTO. Het programma zou zich anders onvoorspelbaar kunnen gedragen.(See EXIT WHILE, below.) GOSUB, FUNCTION en SUB kunnen wel binnen een WHILE…WEND lus worden gebruikt omdat zij slechts tijdelijk de programmastroom wijzigen of andere delen van het programma uitnodigen. De uitvoering van het programma wordt in die instanties hervat binnen de lus WHILE/WEND. De uitvoering van het programma komt niet in de WHILE/WEND loop terug als GOTO binnen de loop wordt gebruikt. GOTO zou niet moeten worden gebruikt om een WHILE/WEND loop te verlaten. EXIT WHILE zal de loop correct verlaten alvorens het deze normaal geëindigd zou hebben. Hier volgt een voorbeeld van incorrect verlaten van de WHILE…WEND loop: while count < 10 input "Enter a name (or a blank line to quit) ?"; n$ if n$ = "" then [exitLoop] list$(count) = n$ count = count + 1 wend [exitLoop] Instead, use the EXIT WHILE statement: while count < 10 input "Enter a name (or a blank line to quit) ?"; n$ if n$ = "" then EXIT WHILE wend [exitLoop] print "Done!"