Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Для упрощенной работы с консолью |
Автор: Alex 22.1.2005, 10:58 | ||
Многие кто писал консольные приложения наверное сталкивался с такой проблеммой: В окне консоли используется кодировка OEM, т.е. DOS-кодировка. Поэтому, если в программе написать:
то в консольно окне мы увидим "кракозябры" вместо русских букв. Это потому, что в Delphi программе естественно используется кодировка Windows. Есть еще одна проблема: Если в консольной программе возникает исключительная ситуация (Exception), то это вызывает малопонятное для клиента окно сообщения о системной ошибке в приложении. Мне приходилось часто писать консольные приложения. Так вот, что бы не заниматься постоянной перекодировкой и не заботиться об необработанных программой исключениях, я написал свой модулек awConsole. Просто добавление этого модуля в проект вызывает несколько изменений в поведении программы: 1. Весь консольный ввод/вывод осуществляется в кодировке OEM; Достигается это подменой "драйвера" обслуживания консольных файлов Input, Output, ErrOutput. 2. Исключения не обработанные программой вызывают окно сообщения вместо системной ошибки. Ну и есть там еще несколько полезных и не очень полезных функций. http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&target=download_file&articleid=2240&attachid=1 |