首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qbasic:*行号*中的非法文件号

Qbasic:*行号*中的非法文件号
EN

Stack Overflow用户
提问于 2019-01-10 08:31:16
回答 3查看 181关注 0票数 2

我在用GW-BASIC写一个程序。由于某些原因,我有以下错误:

"Numéro de fichier illégal en 4712“

可以用英文翻译,

“4712非法文件号”

下面是我代码的一部分:

代码语言:javascript
复制
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上,更改#并不能解决问题。

希望我说得够清楚,

非常感谢您的建议!

:)

EN

回答 3

Stack Overflow用户

发布于 2019-01-10 12:19:12

Intdrcrc.doc文件似乎不存在(但如果不查看您的其余代码,我就无法确定这一点)。

你能尝试的是,

  • OPEN "Intdrcrc.doc" FOR APPEND AS #3替换为OPEN "Intdrcrc.doc" FOR OUTPUT AS 3,如果出现错误,请尝试。当然,这只是为了测试。您应该稍后返回到APPEND。我们想知道错误是否与OUTPUT一起消失了。如果是这样的话,这可能意味着文件不存在,正如您所期望的那样。

其次,您需要在error-handling命令之后实现一些OPEN

你能做的就是这样,

代码语言:javascript
复制
 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 ...

这样我们才能知道,如果一个错误发生了更多的事情。

票数 0
EN

Stack Overflow用户

发布于 2019-01-10 13:23:48

所以我写了这个:

代码语言:javascript
复制
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窗口中写到:“文件未找到-按返回以继续”

然后创建文件"intdrcrc.doc“。但是它是空的,好像“打印3”不起作用。

票数 0
EN

Stack Overflow用户

发布于 2019-02-13 06:03:21

为什么不尝试:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54124592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档