1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-01 09:10:37 +00:00
qb64/internal/help/$DYNAMIC.txt
2021-02-18 14:11:22 -03:00

47 lines
1.7 KiB
Plaintext

The [[$DYNAMIC]] [[Metacommand|metacommand]] allows the creation of dynamic (resizable) arrays.
{{PageSyntax}}
:{[[REM]] | [[apostrophe|']] } [[$DYNAMIC]]
{{PageDescription}}
* QBasic [[Metacommand|metacommands]] require [[REM]] or [[Apostrophe|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 [[REDIM]]ensioned 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|upper]] and [[LBOUND|lower]] boundaries of an array to be changed. The number of dimensions cannot change.
* [[$DYNAMIC]] arrays must be [[REDIM]]ensioned if [[ERASE]] or [[CLEAR]] are used as the arrays are removed completely.
{{PageExamples}}
''Example:'' [[REDIM]]ing a $DYNAMIC array using [[_PRESERVE]] to retain previous array values.
{{CodeStart}} '' ''
{{Cl|REM}} {{Cl|$DYNAMIC}} 'create dynamic arrays only
{{Cl|DIM}} array(10) 'create array with 11 elements
{{Cl|FOR...NEXT|FOR}} i = 0 {{Cl|TO}} 10
array(i) = i: {{Cl|PRINT}} array(i); 'set and display element values
{{Cl|NEXT}}
{{Cl|PRINT}}
{{Cl|REDIM}} {{Cl|_PRESERVE}} array(10 {{Cl|TO}} 20)
{{Cl|FOR...NEXT|FOR}} i = 10 {{Cl|TO}} 20
{{Cl|PRINT}} array(i);
{{Cl|NEXT}}
{{Cl|END}} '' ''
{{CodeEnd}}
{{OutputStart}}0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
{{OutputEnd}}
{{PageSeeAlso}}
* [[$STATIC]], [[$INCLUDE]]
* [[DIM]], [[REDIM]], [[_DEFINE]]
* [[STATIC]]
* [[ERASE]], [[CLEAR]]
* [[Arrays]], [[Metacommand]]
{{PageNavigation}}