5

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

const Tab = #09;
...
Writeln(X, Tab, F(X));

但是,当我尝试通过call 和 used模块添加类似pause功能时,处理后的输出中断,上面说明的语句开始编写通用 Tab 字形,而不是在制表位处形成列。ReadKeyCrt

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

我如何扭转任何事情AssignCrt?据我从文档中了解到,该Crt模块无法提供恢复正常输出的方法。

4

1 回答 1

9

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

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

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

分配Crt(输出);

于 2012-06-11T17:41:50.613 回答