38 lines
1.1 KiB
QBasic
38 lines
1.1 KiB
QBasic
1 REM DIMENSION DUMMY STRING
|
|
2 DIM DUMMY$(1)
|
|
3 REM DIMENSION THE APRAYS AND STRINGS
|
|
4 REM WHICH WILL NEED CLEARING
|
|
5 DIM A1(1),A2(1)
|
|
6 CLR :REM CLEAR THE VARIABLES
|
|
7 N=3:REM NUMBER OF VARIABLES JUST DIMENSIONED
|
|
8 REM INCLUDING DUMMY$
|
|
9 REM YOUR PROGRAM MAY BEGIN HERE
|
|
100 REM HERE IS AN EXAMPLE OF HOW TO
|
|
110 REM USE THE UNDIMENSION ROUTINE
|
|
120 DIM TEST$(20):TEST$="I'M STILL HERE? "
|
|
130 DIM DUMMY$(1),A1(50,10)
|
|
140 A1(50,10)=1:? A1(50,10),TEST$
|
|
150 REM EXECUTE UNDIMENSION ROUTINE
|
|
160 LINE=170:REM 1020
|
|
170 DIM DUMMY$(1),A2(500)
|
|
180 A2(500)=2:? A2(500),TEST$
|
|
190 END
|
|
200 REM
|
|
1000 REM UNDIMENSION ROUTINE
|
|
1010 REM SAVE CURRENT POINTER VALUES
|
|
1020 S136=PEEK(136):S137=PEEK(137)
|
|
1030 S140=PEEK(140):S141=PEEK(141)
|
|
1040 REM MOVE END OF VARIABLES
|
|
1050 T1=PEEK(134)+8*N:T2=PEEK(135)
|
|
1060 IF T1>255 THEN T2=T2+1:T1=T1-256
|
|
1070 POKE 136,T1:POKE 137,T2
|
|
1080 REM MOVE BEGINNING OF ARRAYS
|
|
1090 T2=INT(ADR(DUMMY$)/256)
|
|
1100 T1=ADR(DUMMY$)-T2*256
|
|
1110 POKE 140,T1:POKE 141,T2
|
|
1120 CLR :REM CLEAR THE ARRAYS
|
|
1130 REM RESTORE POINTERS AND RETURN
|
|
1140 POKE 136,S136:POKE 137,S137
|
|
1150 POKE 140,S140:POKE 141,S141
|
|
1160 REM LINE
|