我能否将整个控制台保存为字符串变量?

4

我试图在程序结束时将整个控制台文本保存为字符串变量,随后再将该字符串变量保存为文本文档。如何最好地解决这个问题?谢谢!


1
老实说,我不知道除了 SCREEN 函数 之外是否有其他方法可以做到这一点。您需要知道屏幕的文本列和行的大小,并且您可能会发现 SCREEN 语句 的文档有所帮助。如果您使用自定义的非等宽字体或 _NEWIMAGE 而不是传统的屏幕模式,则需要处理屏幕宽度和高度是以像素而不是等宽字符单元来测量的事实,我不知道如何帮助您解决这个问题。 - MemReflect
请从这里开始阅读:https://www.qb64.org/wiki/BSAVE - Sir Jo Black
@SirJoBlack 这不是用来保存图片而不是文本吗? - MemReflect
找到了解决方案... :) - Sir Jo Black
1个回答

2

我认为这个解决方案可能有助于解决您的问题。

下面的Qbasic代码需要读取一个文本文件,它读取并在屏幕上打印文件的前九行,然后将第一十行的内容复制到控制台的后半部分,从屏幕内存中读取字符。

SCREEN 0

INPUT "File name: ", fname$

OPEN fname$ FOR INPUT AS #1

x = 9
WHILE NOT EOF(1) AND x <> 0
  INPUT #1, x$
  PRINT x$
  x = x - 1
WEND
CLOSE #1

PRINT "----------------------------------"

REM HERE THE PROGRAM READS THE SCREEN
LOCATE 12, 1
FOR y = 1 TO 10
  FOR x = 1 TO 80
    PRINT CHR$(SCREEN(y, x, 0));
  NEXT x
NEXT y

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接