BCX Console Demonstration Program S84.bas

 DIM SHARED i, j, a$, Stak$[41]
 
 CLS
 
 a$ = "1,22,333,4444,55555,666666,7777777,88888888,999999999,"
 
 i = Parse(a$, ",")
 
 FOR j = 1 TO i
   PRINT Stak$[j]
 NEXT j
 
 FUNCTION Parse(Lyne$, Delim$)
   LOCAL Element
   LOCAL A
   LOCAL Tmp
   LOCAL Lin$
 
   FOR Tmp = 1 TO 40
     Stak$[Tmp] = ""
   NEXT Tmp
 
   Lin$ = Lyne$ : A = 1 : Element = 1
 
   WHILE A > 0
     A = INSTR(Lin$, Delim$)
     IF A > 0 THEN
       Stak$[Element] = MID$(Lin$, 1, A - 1)
       Lin$ = MID$(Lin$, A + 1, LEN(Lyne$))
       IF LEN(Stak$[Element]) = 0 THEN DECR Element
       INCR Element
     END IF
   WEND
   Stak$[Element] = Lin$
   IF LEN (Stak$[Element]) = 0 THEN DECR Element
   FUNCTION = Element
 END FUNCTION