我在我的QB应用程序中播放命令,如下所示:
PLAY "MSe8f#4f#8f#8g8a8b4.a4.g4.f#4.o0b8o1e8e8e4d8e2."
Run Code Online (Sandbox Code Playgroud)
我想将这些转换成现代应用程序可以使用的东西.有什么想法吗?我正在搞乱FreeBasic中的应用程序.
我有一本关于学习BASIC编程的旧书.它写得很好,很有趣,并且在教授计算机编程的第一步方面做得很好.这也是我的第一本关于编程的书,它开始为我所有.:)
现在还有一个人想要学习编程,(因为我不能自己去教他)我想不出一本更好的书来推荐他.当然,这种语言已经过时,但编程的基础并没有改变,而且这本书写得非常好,以至于我还没有看到一个等价物(不是我看过的,不可否认).
只有一个问题 - 因为这本书已经很老了,所以它写的是BASIC的一些方言,大约25年前曾在大型机上流行(或者我收集).这是必须的行编号,没有适当的文本编辑器(所有编辑都通过行号在命令行上发生)等等.当我第一次拿到这本书时,这已经严重过时了.
对我(和其他人)来说幸运的是,我发现语法几乎完全与Microsoft QBasic兼容.我记得的唯一区别是,在书中,字符串变量必须以¤QBasic所需的为后缀$.不知何故,他们两个都在旧键盘上的同一个键上结束,所以我自己发现了这个.
现在,我可以推荐获得QBasic或QuickBasic,但我想知道是否有更好,更现代的东西.Textmode屏幕,有限的慢速图形和64K的可用RAM是一种教育,但......
有什么建议?
我需要一个从 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 之间的随机数。
问题是我经常得到相同或非常相似的数字。有更可靠的方法来做到这一点吗?
在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)
也就是说,在第一个逗号之前是否有过有目的的非空论证?
如果有人有任何想法,我很想知道!
我有一个用 QuickBasic 编写的应用程序(游戏)。我拥有它的权利,但没有编写原始代码。我面前有源代码,但我在试图理解这一切时有点绞尽脑汁。有什么方法可以让逆向工程变得更容易吗?现在我正在使用 FbEdit,只是尝试将应用程序分解为各个组成部分。
因此,我正在尝试将一些非常古老且值得尊敬的工程分析QBasic 4.5代码移植到C.我试图准确地匹配结果,并且我发现我无法理解QB如何进行数学运算.
例如,这两行
DIM a AS SINGLE
DIM d2 AS SINGLE
DIM e2 AS SINGLE
a = 32.174
d2 = 1! / (2! * 32.174 * 144!)
e2 = 1! / (2! * a! * 144!)
Run Code Online (Sandbox Code Playgroud)
d2变为1.07920125E-4(浮点0x38e2532d)
e2变为1.0792013E-4(浮点0x38e2532e)
这有点不同.谁能帮我理解为什么?非常感谢.
我正在使用 CADCAM 软件并编写宏代码。这是我的基本宏代码。
OPEN "C:\Area ratio\etch.txt" FOR INPUT as #1
DO WHILE NOT EOF (1) =1
LINE INPUT #1, REC$
if REC$="" then goto jump2
'PRINT REC$
y2#=Y2#-200
Addtext@ x2#,y2#,0,0,REC$
jump2:
LOOP
CLOSE #1
Clearmarkers@
end@
Run Code Online (Sandbox Code Playgroud)
此代码将正常工作。但它会逐行读取文本并打印。
我需要一次打印读取整个文本文件。
我想学习“老派”编程。一位朋友建议使用 Q BASIC。但另一个人告诉我快速基本。我想在旧的 Dos 操作系统中练习编程。
Q Basic 和 Quick Basic 这两个有什么区别?