在TurboPascal程序中,我利用DOS 处理输出并使用Tab 控制字符在输出中形成列:
const Tab = #09;
...
Writeln(X, Tab, F(X));
但是,当我尝试通过pause
调用并使用ReadKey
模块添加类似Crt
的功能时,已处理的输出已损坏,并且说明的语句上面开始编写通用Tab字形,而不是在制表位上形成列。
正如我所知,这种现象的来源是AssignCrt(Output)
调用模块初始化,重新定义了Writeln
如何工作 - 它不再使用DOS输出,而是视频BIOS或直接视频内存访问(取决于DirectVideo
值)而不是。
我如何反向 AssignCrt
做什么?据我所知,文档中Crt
模块没有提供恢复正常输出的方法。
答案 0 :(得分:9)
Crt
文本文件驱动程序不支持tab
中的turbo-pascal
字符。
要恢复标准dos
驱动程序,请执行以下操作:
分配(输出,'&#39); //恢复标准dos输出
您可以稍后通过以下方式恢复Crt驱动程序:
AssignCrt(输出);