我正在用GW-BASIC编写程序。由于某些原因,我出现以下错误:
“伊利盖尔河国家博物馆en 4712”
可以通过以下方式翻译成英文,
“ 4712中的非法文件号”
这是我的代码的一部分:
51 Chemin$ = "T:\Basic\Calculs\" + NF$
52 ON ERROR GOTO 60
53 MKDIR Chemin$
54 END
... ( a lot of code not important to solve this problem :) )
4711 CHDIR Chemin$
4712 OPEN "Intdrcrc.doc" FOR APPEND AS #3
4712 PRINT #3, "*---------------------------------------------------------------------------------------------------------------*"
4713 PRINT #3, USING "* Centre ##### \ \#######.### #######.### Intersect Droite Cercler *";IC,NC$,XC#,YC#
4714 PRINT #3, USING "* Point ##### \ \#######.### #######.### R=#######.### *";IP,NP$,XP#,YP#,R#
4715 PRINT #3, USING "* 1er Intersection M1 ##### \ \ #######.### #######.### *";I1,N1$,XM1#,YM1#
4716 PRINT #3, USING "* 2e Intersection M2 ##### \ \ #######.### #######.### *";I2,N2$,XM2#,YM2#
4717 PRINT #3, "*---------------------------------------------------------------------------------------------------------------*"
4718 CLOSE #3
4719 CHDIR "T:\Basic"
我在前几行中遇到了同样的问题,所以我更改了# after "APPEND"
,但是在这里,更改line 4712
并不能解决问题。
我希望我足够清楚
非常感谢您的建议!
:)
答案 0 :(得分:0)
似乎Intdrcrc.doc
文件不存在(尽管如果不查看其余代码,我无法确定)。
您可以尝试的是,
OPEN "Intdrcrc.doc" FOR APPEND AS #3
替换为OPEN "Intdrcrc.doc" FOR OUTPUT AS 3
,然后尝试是否给出错误。当然这只是为了测试。您稍后应恢复为APPEND
。我们想看看错误是否因OUTPUT
而消失了。如果是这样,则可能意味着该文件不存在,正如您期望的那样。第二,您需要在OPEN
命令之后实施一些错误处理。
您可以做的就是这样,
4710 ...
4711 SHARED errorflag
4712 OPEN "Intdrcrc.doc" FOR APPEND AS 1
4713 IF errorflag <> 0 THEN
4714 errorflag = 0
4715 CLOSE
4716 PRINT "File not found - press return to continue."
4717 INPUT "", a$
4718 EXIT SUB
4719 END IF
4720 PRINT #3, "*------------------------------------------*"
4721 ...
我们可能会知道,如果发生错误,还会有更多的事情。
答案 1 :(得分:0)
所以我写了这个:
4702 CHDIR Chemin$
4703 OPEN "Intdrcrc.doc" FOR APPEND AS 3
4704 IF errorflag <> 0 THEN
4705 errorflag = 0
4706 CLOSE
4707 PRINT "File not found - press return to continue"
4708 INPUT "", a$
4709 EXIT SUB
4710 END IF
4712 PRINT 3, "*---------------------------------------------------------------------------------------------------------------*"
4713 PRINT 3, USING "* Centre ##### \ \#######.### #######.### Intersect Droite Cercler *";IC,NC$,XC#,YC#
4714 PRINT 3, USING "* Point ##### \ \#######.### #######.### R=#######.### *";IP,NP$,XP#,YP#,R#
4715 PRINT 3, USING "* 1er Intersection M1 ##### \ \ #######.### #######.### *";I1,N1$,XM1#,YM1#
4716 PRINT 3, USING "* 2e Intersection M2 ##### \ \ #######.### #######.### *";I2,N2$,XM2#,YM2#
4717 PRINT 3, "*---------------------------------------------------------------------------------------------------------------*"
4718 CLOSE 3
4719 CHDIR "T:\Basic"
结果:在gwbasic cmd窗口中输入:“找不到文件-按回车键继续”
然后创建文件“ intdrcrc.doc”。但是它是空的,好像“ PRINT 3”没用
答案 2 :(得分:0)
为什么不尝试:
4702 CHDIR Chemin$
4703 OPEN "Intdrcrc.doc" FOR OUTPUT AS #3
4712 PRINT #3, "*---------------------------------------------------------------------------------------------------------------*"
4713 PRINT #3, USING "* Centre ##### \ \#######.### #######.### Intersect Droite Cercler *"; IC, NC$, XC#, YC#
4714 PRINT #3, USING "* Point ##### \ \#######.### #######.### R=#######.### *"; IP, NP$, XP#, YP#, R#
4715 PRINT #3, USING "* 1er Intersection M1 ##### \ \ #######.### #######.### *"; I1, N1$, XM1#, YM1#
4716 PRINT #3, USING "* 2e Intersection M2 ##### \ \ #######.### #######.### *"; I2, N2$, XM2#, YM2#
4717 PRINT #3, "*---------------------------------------------------------------------------------------------------------------*"
4718 CLOSE #3
答案 3 :(得分:0)
第二行编号为4712替换第一行吗?如果是这样,程序将尝试打印到未打开的文件编号3中。
4712 OPEN "Intdrcrc.doc" FOR APPEND AS #3
4712 PRINT #3, "*---------------------------------------------------------------------------------------------------------------*"