标签: qbasic

老程序员的两个问题

所以我今天一直在使用QBASIC64 ......为了旧学校的缘故.

我在想:

a)您编写的最复杂的QBASIC代码是什么,
以及
b)您编写的最有用的代码是什么

(例子很好,但不是必要的^ _ ^ - 这是社区维基,只是为了好玩)

qbasic

5
推荐指数
1
解决办法
1121
查看次数

是否有任何与BASIC兼容的免费软件QBASIC IDE?

除Visual Basic之外,还可以使用哪些免费的IDE?

是否有任何与BASIC兼容的免费软件QBASIC IDE?

basic qbasic

5
推荐指数
2
解决办法
3320
查看次数

是否存在与QBasic语法兼容的当代编程环境?

我有一本关于学习BASIC编程的旧书.它写得很好,很有趣,并且在教授计算机编程的第一步方面做得很好.这也是我的第一本关于编程的书,它开始为我所有.:)

现在还有一个人想要学习编程,(因为我不能自己去教他)我想不出一本更好的书来推荐他.当然,这种语言已经过时,但编程的基础并没有改变,而且这本书写得非常好,以至于我还没有看到一个等价物(不是我看过的,不可否认).

只有一个问题 - 因为这本书已经很老了,所以它写的是BASIC的一些方言,大约25年前曾在大型机上流行(或者我收集).这是必须的行编号,没有适当的文本编辑器(所有编辑都通过行号在命令行上发生)等等.当我第一次拿到这本书时,这已经严重过时了.

对我(和其他人)来说幸运的是,我发现语法几乎完全与Microsoft QBasic兼容.我记得的唯一区别是,在书中,字符串变量必须以¤QBasic所需的为后缀$.不知何故,他们两个都在旧键盘上的同一个键上结束,所以我自己发现了这个.

现在,我可以推荐获得QBasic或QuickBasic,但我想知道是否有更好,更现代的东西.Textmode屏幕,有限的慢速图形和64K的可用RAM是一种教育,但......

有什么建议?

qbasic quickbasic

5
推荐指数
1
解决办法
1322
查看次数

快速基本结肠线分离器

我正在研究一些旧的qbasic代码.所有Goto语句都是混乱的.我是否正确,以下行将永远返回?

IF FLAG = 0 THEN TARGET = X: GOSUB 55000: TEMP = XI - TEMP2: RETURN 
Run Code Online (Sandbox Code Playgroud)

因此,如果我理解正确,冒号就会在同一行上分隔语句.在if仅适用于TARGET = X的GOSUB,TEMP =,和RETURN将总是执行.正确?

我的一部分困惑是因为下一行是读

IF FLAG = 1 THEN STEP = X: GOSUB 115000
Run Code Online (Sandbox Code Playgroud)

因为第二个语句的标签从未在GOTO中使用过,所以我看不到它会被执行.

qbasic

5
推荐指数
1
解决办法
1465
查看次数

QBasic 中从 0 到 100 的随机数

我需要一个从 0 到 10 或从 0 到 100 的完全随机数作为在 QBasic 中完成的随机抽取程序的值“NUM”。我目前有这个:

RANDOMIZE TIMER: A = INT((RND * 100)): B = INT((RND * 10)): C = (A + B)
NUM = INT(C - (RND * 10))
Run Code Online (Sandbox Code Playgroud)

这基本上只是一堆随机数学运算,以获得 1 到 100 之间的随机数。

问题是我经常得到相同或非常相似的数字。有更可靠的方法来做到这一点吗?

random qbasic quickbasic

5
推荐指数
1
解决办法
1万
查看次数

是否有CLEAR声明的第一个参数?

在GW-BASIC和QuickBASIC中,语句都是传递参数,其中一些是可选的,可以根据语句省略:

REM Move the text cursor to the specified column and row.
LOCATE row%, column%

REM Move the text cursor to the specified column without changing the row.
LOCATE , column%
Run Code Online (Sandbox Code Playgroud)

在GW-BASIC中,该CLEAR语句相当不寻常,因为它的第一个"参数"总是被省略:

CLEAR , basicMem
CLEAR , basicMem, basicStack
CLEAR , , basicStack
Run Code Online (Sandbox Code Playgroud)

在QuickBASIC中,basicMem由于解释器/运行时管理自己的内存,参数变为可选:

CLEAR , , basicStack
Run Code Online (Sandbox Code Playgroud)

我想知道的是,第一个"参数"是否曾用于GW-BASIC之前的任何东西,即这样的东西实际上是有用的:

CLEAR missingArg, basicMem, basicStack
REM   ^^^^^^^^^^
REM      here
Run Code Online (Sandbox Code Playgroud)

也就是说,在第一个逗号之前是否有过有目的的非空论证?

如果有人有任何想法,我很想知道!

gw-basic qbasic quickbasic

5
推荐指数
1
解决办法
64
查看次数

什么ON在QBasic?

我一直在研究一个项目,我在其中使用一个旧程序并创建它的新版本....事情是它是用Quick Basic编写的,它有一行我不明白的代码

ON FLAG% GOTO 1730, 1900
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这是什么??? 顺便说一句,我正在研究VisualBasic

qbasic

4
推荐指数
1
解决办法
119
查看次数

如何测试qbasic中是否存在目录?

我在Qbasic写一个程序.我想知道如何测试文件夹是否存在.

这个想法是:

IF "c:\user\basic\blablabla\" exists (?? how to programm the "exist" test?)
THEN CHDIR "c:\user\basic\blablabla\"
ELSE 
MKDIR "c:\user\basic\blablabla\"
CHDIR "c:\user\basic\blablabla\"
ENDIF
Run Code Online (Sandbox Code Playgroud)

我希望我很清楚,

非常感谢你的建议!

:)

directory exists gw-basic qbasic

4
推荐指数
1
解决办法
161
查看次数

如何对 QuickBasic 应用程序进行逆向工程?

我有一个用 QuickBasic 编写的应用程序(游戏)。我拥有它的权利,但没有编写原始代码。我面前有源代码,但我在试图理解这一切时有点绞尽脑汁。有什么方法可以让逆向工程变得更容易吗?现在我正在使用 FbEdit,只是尝试将应用程序分解为各个组成部分。

basic reverse-engineering qbasic quickbasic

3
推荐指数
1
解决办法
605
查看次数

将QBasic CHR $(13)+ CHR $(10)转换为C#

我试图通过我的串口传递一个直接的ASCII文本命令,如下所示:

string cmd = "<ID00><PA>Hello World. ";
template.Serial.WriteLine(cmd);
Run Code Online (Sandbox Code Playgroud)

Serial是SerialPort属性引用.我也试过'Write(cmd)',但即使串口打开,命令也似乎永远不会通过.我发现我应该在消息的末尾添加一个回车符(cr)和一个换行符(lf),但我不知道如何在C#中将所有内容转换为字节但是它需要从我对协议的理解中作为ASCII文本传递.

我发现某人的QBasic源代码如下:

100 OPEN "COM1:9600,N,8,1,CS,DS,CD" AS 1
200 PRINT #1,"<ID00>";:REM SIGN ADDRESS, 00 FOR ALL
210 PRINT #1,"<PA>";:REM PAGE "A" (MESSAGE NUMBER, A-Z)
220 PRINT #1,"<FQ>";:REM OPTIONAL DISPLAY MODE, (FA-FZ), "APPEAR"
230 PRINT #1,"<CB>";:REM OPTIONAL COLOR CHANGE, (CA-CZ), "RED"
240 PRINT #1,"Hello World";:REM TEXT
250 PRINT #1, CHR$(13)+CHR$(10);:REM MUST END IN CARRIAGE RETURN/LINE FEED
Run Code Online (Sandbox Code Playgroud)

那么如何将CHR $(13)+ CHR $(10)转换为附加到c#代码中字符串行末尾的字符,以便通过串口发送?

c# string ascii serial-port qbasic

3
推荐指数
1
解决办法
1万
查看次数