除Visual Basic之外,还可以使用哪些免费的IDE?
是否有任何与BASIC兼容的免费软件QBASIC IDE?
我喜欢转换旧的BASIC游戏 - 我碰到了一个有这个奇怪公式的游戏.目前我在Pascal写作,但我可以用任何语言写.在通过代码搜索后,我无法找到这个var是否在使用,但仍然想知道BASIC当天使用的数学快捷方式是什么样的.
d1 = 1-(( 0.23 + random / 10 ) * (-(d <= 50 )))
d1是虚拟var,d= sub的深度
我将其分解为步骤,发现该部分(-(d <= 50))导致我的编译失败.
有人可以对它有所了解吗?
我从C64用户手册的第5章开始运行'More Bouncing Balls'Basic程序,并从本章的最后一页添加.代码如下:
10 PRINT CHR$(147):REM SHIFT CLR/HOME
20 POKE 53280,7 : POKE 53281,13
30 X=1:Y=1
40 DX=1:DY=1
50 POKE 1024 + X + 40*Y, 81
60 FOR T=1 TO 10: NEXT T
70 POKE 1024 + X + 40*Y, 32
80 X=X+DX
90 IF X=0 OR X=39 THEN DX=-DX
100 Y=Y+DY
110 IF Y=0 OR Y=24 THEN DY=-DY
120 GOTO 50
Run Code Online (Sandbox Code Playgroud)
为此添加了最后的行,ɔ:
21 FOR L=1 TO 10
25 POKE 1024+INT(RND(1)*1000),160
27 NEXT L
85 IF PEEK(1024+X+40*Y)=160 THEN DX=-DX:GOTO 80 …Run Code Online (Sandbox Code Playgroud) 当程序需要操作系统提供服务时,该程序通常会发出软件陷阱。操作系统的通用异常处理程序确定陷阱的原因并做出适当的响应。
汇编指令 trap 和 BASIC 中的 TRAP 指令一样吗?答案似乎是肯定的。你能接受还是拒绝我的结论?
“不中断”的代码是根据我的指示:
noint:
PUSH r8
movia r8,0x003b683a # machine code for TRAP
ldw et,-4(ea) # read instr closest to return
cmpeq et,et,r8 # compare
POP r8
bne et,r0,TrapHandler # if equal, jump to traphandler
Run Code Online (Sandbox Code Playgroud)
更新
AFAIK 在 BASIC 中你可以写例如
10 TRAP 20
Run Code Online (Sandbox Code Playgroud)
使第 20 行成为处理错误的行。
我目前被 GW-BASIC 的以下错误消息所困扰:
Syntax error in 450
Ok
450 STEP=0
Run Code Online (Sandbox Code Playgroud)
这是上下文:
400 ON KEY(13) GOSUB 590 ' right arrow key makes direction clockwise
410 ON KEY(12) GOSUB 610 ' left arrow key makes direction counter-clockwise
420 ON KEY(11) GOSUB 630 ' up arrow makes faster
430 ON KEY(14) GOSUB 670 ' down arrow makes slower
440 '
450 STEP=0
460 OUT DATAPORT, 0
Run Code Online (Sandbox Code Playgroud)
我尝试过使用和不使用 LET 关键字的赋值,结果相同。我看不出我的代码有什么问题。
谢谢。
我有一个用BASIC编写的项目.我不确定确切的原因,但除了从FAT-16文件系统运行之外,应用程序将无法运行.
我宁愿尝试在现代操作系统(Vista/XP)中设置和支持此应用程序的环境,而不是重写它.
有没有人知道如何通过某种代码更改(对BASIC代码)或FAT-16"模拟器"(如果存在这样的东西)在XP/Vista中运行这样的应用程序?
我有一个用 QuickBasic 编写的应用程序(游戏)。我拥有它的权利,但没有编写原始代码。我面前有源代码,但我在试图理解这一切时有点绞尽脑汁。有什么方法可以让逆向工程变得更容易吗?现在我正在使用 FbEdit,只是尝试将应用程序分解为各个组成部分。
据我了解,BASIC 有行号,因为当时您必须使用行编辑器来输入程序。它允许你做这样的事情:
20 END
10 PRINT "HELLO WORLD"
Run Code Online (Sandbox Code Playgroud)
该程序将打印"HELLO WORLD". 我的问题是 BASIC 如何允许您以这种方式输入行?它们是如何存储在内存中的?我想这是一个行号和指向行本身的指针的映射,每次输入一行时都会更新。LIST但在运行/命令之前必须对该映射进行排序RUN。是这样吗?如果不是,那么 BASIC 到底是如何在内存中存储命令的呢?
Sub Macro1()
‘Remove all except validated
ActiveSheet.Range("$A$1:$H$5202").AutoFilter field:=8, Criteria1:<>"Validated"
Activesheet.Range("$A$2:$O$99999").SpecialCells(xlCellTypeVisible).Select
Selection.EntireRow.Delete
ActiveSheet.ShowAllData
End sub
Run Code Online (Sandbox Code Playgroud)
如何替换VBA中的“不等于”?<> 不起作用。
所以我找到了一本旧的 usborne 书,名为 Weird Computer Games,它列出了 Commodore 64 的 BASIC 文本游戏,我想输入并运行这些游戏,并且可能用 C# 或 JS 重写一些游戏。
问题是,我没有 Commodore 64 或任何其他老式机器,所以我使用基于在线 JavaScript 的 Aplesoft BASIC 解释器,并且我遇到了一个我不明白的错误 - 我认为这是由于使用的基本方言不同所致。或者我读错了一些字符。
我得到的错误是: ParseError: Syntax error: Expected ')', saw {"operator":","} in line 610
但我无法找到有关此 TAB 功能的文档。下面是代码
10 GOSUB 700 : GOSUB 620
19 REM 20 Set up variables (See if you can work outwhat they are.)
20 LET NW=4 : LET M=0 : LET FM=50
29 REM Choose new height "NH". "H" is heigh
30 GOSUB …Run Code Online (Sandbox Code Playgroud)basic ×10
qbasic ×2
assembly ×1
c64 ×1
commodore ×1
excel ×1
filesystems ×1
filter ×1
formula ×1
graphics ×1
gw-basic ×1
math ×1
nios ×1
obfuscation ×1
quickbasic ×1
random ×1
vba ×1
windows-xp ×1