Как отменить assignCrt(Output)?

В программе TurboPascal я воспользовался преимуществами обработанного вывода DOS и использовал управляющий символ Tab для формирования столбцов на выходе:

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

Однако, когда я попытался добавить pause-подобную функциональность через вызов ReadKeyи использовал модуль Crt,Обработанный выводсломался, и оператор, проиллюстрированный выше, начал писать общий глиф Tab вместо формирования столбцов на табуляторах.

Как я выяснил, источником этого явления является вызов AssignCrt(Output)при инициализации модуля, который переопределяет то, как работает Writeln- он больше не использует DOS для вывода, а вместо этого либо видео BIOS, либо прямой доступ к видеопамяти (в зависимости от значения DirectVideo.

Как мне повернуть вспятьвсе, что делает AssignCrt? Насколько я знаю из документации, там модуль Crtне предоставляет средств для восстановления нормального вывода.

5
задан Damien 10 January 2014 в 08:26
поделиться