加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何解除AssignCrt(输出)?

发布时间:2020-12-15 09:36:23 所属栏目:大数据 来源:网络整理
导读:在TurboPascal程序中,我利用DOS处理输出并使用Tab控件字符在输出中形成列: const Tab = #09;...Writeln(X,Tab,F(X)); 但是,当我尝试通过ReadKey调用添加类似暂停的功能并使用Crt模块时,已处理的输出中断,并且上面说明的语句开始编写通用Tab字形,而不是在制
在TurboPascal程序中,我利用DOS处理输出并使用Tab控件字符在输出中形成列:

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

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

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

我如何反转AssignCrt的作用?据我所知,Crt模块没有提供恢复正常输出的方法.

解决方法

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

Assign(Output,”); // Restores standard dos output

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

AssignCrt(Output);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读