问题标签 [gw-basic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
exit - 如何退出 Microsoft GW-BASIC、IBM BASICA 或其他类似的 BASIC 旧方言?
Microsoft BASIC、GW-BASIC和BASICA都使用如下所示的提示:
我不知道如何退出其中任何一个。打字END
不会退出它们。EXIT
, QUIT
, Q
, Ctrl+C, 以及我能想到的所有其他东西也不起作用。
我确信有办法做到这一点。我无法想象每个在 DOS 上使用 BASICA 的人每次想要退出开发环境时都必须重新启动他们的机器。
那么,如何退出旧的 BASIC 编辑器提示符呢?
basic - 显式行号和执行顺序
GW-BASIC 和许多其他旧的 BASIC 方言(如 C64 BASIC)允许您执行以下操作:
这将在RUN
执行命令/语句时产生以下输出:
命令/语句将LIST
列出程序:
换句话说,这些 BASIC 方言将自动重新排序执行以符合您使用的行号指定的顺序,而不管您最初在另一个编辑器中键入/保存它们的顺序(例如 EDLIN.EXE)。但是,QuickBASIC 和 BASCOM2 未能做到这一点。
我可以在网上找到的最古老的 QuickBASIC 版本是 QuickBASIC 2.0,它在那里不起作用,只是忽略了行号以按我写的顺序打印它们(即“World Hello”)。
BASCOM2——我能找到的最古老的 MS/IBM BASIC 编译器——显然也不支持该功能,而是因错误而失败(SQ = 乱序?):
虽然我当然知道行号是多余的,但支持以显式行号顺序(20、10、30 => 10、20、30)而不是隐式行号顺序(20、10、 30 => 20、10、30)。
有人知道为什么这种传统的 BASIC 行为被忽略了吗?
printing - 修改与 gwbasic 一起使用的基本文件
我有一个批处理文件,它在 gwbasic 的帮助下启动其他 .bas 文件。这是批处理文件的代码:
然后我可以通过键入 1 或 2 等 + ENTER 来选择我要运行的程序。这些程序与我的批处理文件位于同一目录中。这些程序是 xxx.BAS 文件。
问题是:我有一个用 GWBASIC 编写的软件,目前设置为仅在本地打印到 LPT1。当我断开本地打印机时,软件(我猜是gwbasic)会自动将要打印的东西发送到网络打印机。结果是很多 A4 纸只写了几行就出来了。在本地打印机上,打印机仅在我退出批处理程序时打印。在网络打印机上,它就像它的不间断同步,不仅在我退出批处理程序时。
我看到了 2 个解决方案:
设法在网络打印机上设置打印速度(例如每 2 分钟刷新一次)
或尝试在 .BAS 文件中添加一行,以将文本保存在 .pdf 文件的 .txt 中,而不是打印它.. 或将其打印在 pdf 文件中。
即使经过一些研究,我也几乎不知道 gwbasic 是如何工作的。此外,我还没有设法查看(和修改).BAS 文件的代码
对不起,我的英语不好,
如果有人有任何想法,那将对我有很大帮助!
非常感谢 :)
qbasic - CLEAR 语句是否有第一个参数?
在 GW-BASIC 和 QuickBASIC 中,语句都是传递参数,其中一些是可选的,可以根据语句省略:
在 GW-BASIC 中,该CLEAR
语句相当不寻常,因为它的第一个“参数”总是被省略:
在 QuickBASIC 中,basicMem
由于解释器/运行时管理自己的内存,该参数变为可选:
我想知道的是,在 GW-BASIC 之前,第一个“论点”是否曾用于任何事情,即类似这样的东西实际上是有用的:
也就是说,在第一个逗号之前是否有过有目的的非空参数?
如果有人有任何想法,我很想知道!
save - 为什么功能 CHDIR 在网络上不起作用?Qbasic BasicA
我有一个使用 GWBASIC.EXE 运行的 .bas 文件
.bas 文件使用位于路径中的其他文件:\srv120 (T:)\Basic
(GWBASIC.EXE和.bas文件也在同一个目录T\Basic)
在目录 T\Basic 中,我创建了另一个名为“Calcultext”的文件夹 (T:\Basic\Calcultext)
我的问题是:
.bas 文件包含以下代码(它只是文件的一部分)
当我运行程序时,在第 1131 行出现错误。
如果我删除第 1131 行(和 1135),一切正常,在以下路径中创建一个新的文本文件(“Gisement.txt”):T:\Basic
但是,我无法更改目录以将文本文件保存在文件夹 T:\Basic 中的文件夹“Calcultext”中。
我希望一切都足够清楚,
谢谢您的回答 !
directory - 如何测试qbasic中是否存在目录?
我正在用 Qbasic 编写一个程序。我想知道如何测试文件夹是否存在。
这个想法是:
我希望我足够清楚,
非常感谢您的建议!
:)
syntax-error - Qbasic:*行号*中的非法文件号
我正在用 GW-BASIC 编写程序。由于某些原因,我有以下错误:
"Numéro de fichier illégal en 4712"
可以翻译成英文,
“ 4712 中的非法文件号”
这是我的代码的一部分:
我在前几行中遇到了同样的问题,所以我更改了# after "APPEND"
,但是在这里,在line 4712
,更改 # 并不能解决问题..
我希望我足够清楚,
非常感谢您的建议!
:)
file - 如何读取具有“行缓冲区溢出”的受保护 .bas 文件?
我有一个旧文件,我想阅读它的代码。
该文件没有扩展名。右键单击+用记事本打开给了我类似的东西:
1 N¦öêS, `šØ¢¾Œ2 € € 3 ôI¿Õ^J, á
所以我已经重命名并为这个文件添加了扩展名“.BAS”
我试过用 PC-BASIC 打开它。
我已经打开 PC-BASIC + 写了“LOAD”NFTRANS.BAS” + Enter(NFTRANS 是我文件的原始名称)
然后我收到以下错误:
行缓冲区溢出
想法是打开它,然后以这种方式保存它:
保存“NFTRANS”,一个
摆脱保护并能够使用记事本读取代码。
所以我的问题是我面临一个行缓冲区溢出错误,它不允许我保存我的文件!
如何处理问题?!
谢谢您的回答 !
list - GWBASIC 中的命令
我正在使用 GWBASIC 并且无法弄清楚一些事情。就像,当我用 F4 运行程序后保存程序时,它说:File not found
.
其次,当我使用自动命令时,它会显示*
行号。
最后,如果我想将程序及其输出打印在纸上,我该怎么办?
for-loop - 如何在 gwbasic 中编写一个程序来将 1 到 100 的自然数相加?
我正在尝试编写一个程序来将自然数从 1 添加到 n (1 + 2 + 3 + ... + n)。但是,当我使用if
语句时,总和显示为 1。当我使用for-next
语句时,会出现我不理解的语法错误。
if
:
for-next
:
- 当我取 n = 10 时,
if
语句代码给出的结果为 1,但它应该是 55。 - 当我尝试使用该
for-next
语句时,它没有给出 30 中存在语法错误的结果。
为什么会这样?