2014-12-30 3 views
2

Я создал таблицу в консоли, и она отлично подойдет, но когда я добавляю "uses crt;", метки, строки и т. Д., Которые я сделал с помощью chr(ord.value);, а также специальные символы языка, как-то изменяет кодировку.Crt library changes console encoding, pascal

Я работаю в Win7,FPC IDE v.2.6.4

Еще странно то, что когда я запускаю программу, она начинается в cmd.exe классической консоли Windows, но после того, как 10 секунд она закрывает себя и новый прогон запущен в другой консоли, расположенной в FPC окно (где оно не закрывается).

wierdest Дело в том, что добавление "uses crt;" ничего с таблицей написанной в cmd.exe классической консоли Windows, не делать ...

Так что мое решение whould либо работать, как изменить кодировку в консоль, расположенная в окне FPC, или как предотвратить закрытие cmd.exe.

Надежда Кто-то может мне помочь, я буду очень признателен.

+0

https://en.wikipedia.org/wiki/Code_page_437 –

+0

@HansPassant спасибо за ответ, но там ничего не написано о библиотеке Crt изменения кодировки. –

+3

Ваше предположение, что оно меняет кодировку, просто неверно. Кодовая страница по умолчанию для консольных приложений - 437. Не такая же кодовая страница, которую может использовать ваш редактор. Crt слишком примитивен, чтобы дать вам возможность изменить его, вам придется вызвать SetConsoleCP() каким-то образом. Или используйте команду CHCP перед запуском приложения. И измените шрифт. –

ответ

0

Если youd не использует Crt, то вывод использует стандартные процедуры DOS. Модуль crt перенаправляет . Вход и . Вывод стандартных текстовых файлов на CRT вместо стандартных входных и выходных файлов DOS. Но вы можете явно присвоить его обратно, выполнив:

Assign(Input, ''); Reset(Input); 
Assign(Output, ''); Reset(Output);