6502 BASIC 删除一个字符
6502 BASIC removing a character
如何在6502 basic中删除一个字符?比如反向打印...
有没有办法将 del 键代码导入程序?我试过查看参考资料,但那里没有任何命令。
正如 OldBoyCoder 所建议的那样,这是可以做到的 - 但角色取决于平台。
10 PRINT "AB";
20 PRINT "C"
Commodore PET 或 Apple II 上的输出:
ABC
对于 Commodore PET 添加:
15 PRINT CHR$(20);
输出:
AC
在 Apple II 上,您需要使用 8 而不是 20,因为 I/O 固件不同。
也可以使用字符串操作命令,例如LEFT$
、RIGHT$
和MID$
,这是一个未经测试的内存示例(针对Commodore PET和其他Commodore 8-位机,可能也适用于 BASIC 的其他变体):
0 A$="ABC"
1 PRINT LEFT$(A$,2): REM PRINTS AB
2 PRINT RIGHT$(A$,2): REM PRINTS BC
3 PRINT MID$(A$,2,1): REM PRINTS B
否则,您可以覆盖字符,只要您知道它们在屏幕上的位置即可。
0 D$=CHR$(17): REM CURSOR DOWN
1 U$=CHR$(145): REM CURSOR UP
2 R$=CHR$(29): REM CURSOR RIGHT
3 L$=CHR$(157): REM CURSOR LEFT
4 PRINT "ABC";L$;" "
为了清楚起见,我在这里使用 CHR$ 代码。如果你用双引号打开一个字符串,你可以按 UP/DOWN 和 LEFT/RIGHT 键,这将显示反字符。打印这些反转的字符与使用光标键移动光标的效果相同。
如何在6502 basic中删除一个字符?比如反向打印... 有没有办法将 del 键代码导入程序?我试过查看参考资料,但那里没有任何命令。
正如 OldBoyCoder 所建议的那样,这是可以做到的 - 但角色取决于平台。
10 PRINT "AB";
20 PRINT "C"
Commodore PET 或 Apple II 上的输出:
ABC
对于 Commodore PET 添加:
15 PRINT CHR$(20);
输出:
AC
在 Apple II 上,您需要使用 8 而不是 20,因为 I/O 固件不同。
也可以使用字符串操作命令,例如LEFT$
、RIGHT$
和MID$
,这是一个未经测试的内存示例(针对Commodore PET和其他Commodore 8-位机,可能也适用于 BASIC 的其他变体):
0 A$="ABC"
1 PRINT LEFT$(A$,2): REM PRINTS AB
2 PRINT RIGHT$(A$,2): REM PRINTS BC
3 PRINT MID$(A$,2,1): REM PRINTS B
否则,您可以覆盖字符,只要您知道它们在屏幕上的位置即可。
0 D$=CHR$(17): REM CURSOR DOWN
1 U$=CHR$(145): REM CURSOR UP
2 R$=CHR$(29): REM CURSOR RIGHT
3 L$=CHR$(157): REM CURSOR LEFT
4 PRINT "ABC";L$;" "
为了清楚起见,我在这里使用 CHR$ 代码。如果你用双引号打开一个字符串,你可以按 UP/DOWN 和 LEFT/RIGHT 键,这将显示反字符。打印这些反转的字符与使用光标键移动光标的效果相同。