- 注册时间
- 2005-5-25
- 最后登录
- 1970-1-1
|
在GVB中BAS文件是被载到$2000处执行的
只要在一个BAS文件中将另一BAS文件读入$2000 再 GOTO 10 就可以执行另一文件了。
以下是我的代码:
在A.BAS中运行B.BAS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--------------A.BAS
10 DATA 0,21,5,96,0,22,5,96,0,23,5,96:REM INT$0515;打开文件 INT$0516;读文件;INT$0517;关闭文件
20 FOR I=0 TO 11:READ A
30 POKE 4096+I,A:NEXT
40 FOR I=1 TO LEN("B.BAS")
50 A=ASC(MID$("B.BAS",I,1))
60 IF A-31 THEN POKE 2188+I,A
70 NEXT
80 POKE 2188+I,0:REM 将文件名写入$088d
90 OPEN "B.BAS" FOR RANDOM AS#1=LOF(1):CLOSE #1
100 POKE 2249,128:REM 只读
110 POKE 2246,L-INT(L/256)*256
120 POKE 2247,INT(L/256) :REM 读B.BAS的长度
130 POKE 224,0
140 POKE 225,32:REM 读入$2000
150 CALL 4096:CALL 4100:CALL 4104
160 GOTO 10:REM 读B.BAS
--------------B.BAS
10 :REM 如果将这行改为GOTO 30就报错
20 BOX 1,1,160,80
30 LINE 1,1,160,80
40 END
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
B.BAS 中不能使用GOTO 和 GOSUB 这是为什么?这是NC3000 GVBASIC+的BUG吗?
请各位高手指教!
以下是A.BAS和B.BAS的打包文件。
|
|