如何解除AssignCrt(输出)?

5 delphi pascal crt turbo-pascal

在TurboPascal程序中,我利用DOS 处理输出并使用Tab 控件字符在输出中形成列:

const Tab = #09;
...
Writeln(X, Tab, F(X));
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试pause通过ReadKey调用和使用Crt模块添加类似功能时,已处理的输出中断,并且上面说明的语句开始编写通用Tab字形,而不是在制表位上形成列.

正如我所知,这种现象的来源是AssignCrt(Output)在模块初始化时调用,它重新定义了Writeln工作原理 - 它不再使用DOS输出,而是使用视频BIOS或直接视频内存访问(取决于DirectVideo值).

我要如何扭转什么AssignCrt呢?据我所知,文档中没有Crt提供恢复正常输出的方法.

LU *_* RD 9

Crt文本文件驱动程序不支持的tab字符turbo-pascal.要恢复标准dos驱动程序,请执行以下操作:

分配(输出, ''); //恢复标准dos输出

您可以稍后通过以下方式恢复Crt驱动程序:

AssignCrt(输出);