$DYNAMIC - QB64Official/qb64 GitHub Wiki

The $DYNAMIC Metacommand allows the creation of dynamic (resizable) arrays.

Syntax

{REM | ' } $DYNAMIC

Description

  • QBasic Metacommand require REM or Apostrophe (') before them and are normally placed at the start of the main module.
  • Dynamic arrays can be resized using REDIM. The array's type cannot be changed.
  • All data in the array will be lost when REDIMensioned except when _PRESERVE is used.
  • REDIM _PRESERVE can preserve and may move the previous array data when the array boundaries change.
  • _PRESERVE allows the UBOUND and LBOUND boundaries of an array to be changed. The number of dimensions cannot change.
  • $DYNAMIC arrays must be REDIMensioned if ERASE or CLEAR are used as the arrays are removed completely.

Example(s)

REDIMing a $DYNAMIC array using _PRESERVE to retain previous array values.


REM $DYNAMIC             'create dynamic arrays only
DIM array(10)            'create array with 11 elements
FOR i = 0 TO 10
  array(i) = i: PRINT array(i); 'set and display element values
NEXT
PRINT
REDIM _PRESERVE array(10 TO 20)
FOR i = 10 TO 20
  PRINT array(i);
NEXT
END 


0  1  2  3  4  5  6  7  8  9  10

0  1  2  3  4  5  6  7  8  9  10

See Also