Entire Arrays - [ALL]
Normally the internals of how the [ALL] array subscript is implimented is of no concern to the
Business Basic programer That is:
1000 CALL "PROGA",X[ALL]
and
10 ENTER Y[ALL]
The CALL/ENTER above is simply a call-by-reference.
However if you want to manipulate entire arrays you must fully understand the following:
Under SM32 the [ALL] gives access to entire array including internal pointers.
Therefore:
10 DIM X[A]
20 X[B]=10
30 OPEN(1)"SAVEARRAY"
40 WRITE(1)X[all],A,B
is an INVALID operation since X[ALL] may contain a $0A$. Note the
WRITE ARCHIVE could have been used since it handles binary data.
Any manipulation must always return the exact data:
10 DIM K!
20 A$=HTA(K![ALL])
30 B$=ATH(A$)
40 K2![ALL]=B$
Is valid.
X[ALL]="" is also a valid way to null an ARRAY
The follwing may be useful for array manipulations:
Commpression/Decompression with
CMPR
DCMP
Encryption with CRYPT
String Archiving with
WARCHIVE
RARCHIVE
File Archiving with
WRITE ARCHIVE
READ ARCHIVE