Вопрос № 122839: Всем привет.
1. Существует ли какой-нибудь способ вывода на экран символов из кодовых таблиц Windows и Unicode в консоли?
2. Для чего нужен символ 7 в кодовой таблице ASCII? У меня в учебнике написано "07 - Bel - звуковой сигнал"....Вопрос № 122895: Здравствуйте! Я хотел бы задать 2 вопроса: 1. Как в консольном приложении в текстовом режиме выводить кириллицу. 2. Каким образом можно спрятать каретку после вывода текста (чтобы не мигал курсор)? Использую компилятор Borland C++ 3.1, тип приложения...
Вопрос № 122.839
Всем привет.
1. Существует ли какой-нибудь способ вывода на экран символов из кодовых таблиц Windows и Unicode в консоли?
2. Для чего нужен символ 7 в кодовой таблице ASCII? У меня в учебнике написано "07 - Bel - звуковой сигнал".
Отправлен: 12.02.2008, 16:51
Вопрос задал: X-men (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: kool
Здравствуйте, X-men!
1)Конечно существует, например, можно вывести
их в шестнадцатеричном виде
2)7-это и есть звуковой сигнал, т.е. при его выводе на консоль будет
выдан звуковой сигнал.
Удачи!
--------- I am.
Ответ отправил: kool (статус: Практикант)
Ответ отправлен: 12.02.2008, 20:16 Оценка за ответ: 4 Комментарий оценки: Хотелось бы по подробнее узнать о первом вопросе. Большое вам спасибо.
Отвечает: Сандров Алекс
Здравствуйте, X-men!
2. printf("7"); //будет пищать динамиком.
Вот табличка символов и где и как они использовались/используются:
http://www.intuit.ru/department/calculate/infotheory/13
Ответ отправил: Сандров Алекс (статус: 4-ый класс)
Ответ отправлен: 13.02.2008, 05:55 Оценка за ответ: 4
Вопрос № 122.895
Здравствуйте! Я хотел бы задать 2 вопроса: 1. Как в консольном приложении в текстовом режиме выводить кириллицу. 2. Каким образом можно спрятать каретку после вывода текста (чтобы не мигал курсор)? Использую компилятор Borland C++ 3.1, тип приложения DOS Standart, поэтому функции вроде AnsiToOem() невозможно использовать. Заранее благодарен.
Отвечает: Терсков Сергей
Здравствуйте, Востриков Павел Алексеевич!
1. Эта проблема решаема. Вот здесь вы найдете описание ее решения с помощью русификатора keyrus.com. (Во времена учебы в университете я решал ее точно так же)
2. В заголовочном файле conio.h есть функция void _setcursortype(int cur_t). Вот ее описание из справки BC++ 3.1.
Selects cursor appearance
Declaration: void _setcursortype(int
cur_t);
Remarks: Sets the cursor type to one of the following: _NOCURSOR (turns off the cursor) _SOLIDCURSOR (solid block cursor) _NORMALCURSOR (normal underscore cursor)
Таким образом вызвав эту функцию с параметром _NOCURSOR вы уберете курсор с экрана. Эта функция работает только для DOS. Пример работы с ней в приложении.
Приложение:
Ответ отправил: Терсков Сергей (статус: Практикант)
Ответ отправлен: 13.02.2008, 04:27 Оценка за ответ: 4 Комментарий оценки: Спасибо! Второй ответ действительно очень мне помог, в первом же случае выявляются побочные эффекты, о которых я напишу на мини-форуме.
Отвечает: Dr_Andrew
Здравствуйте, Востриков Павел Алексеевич!
Как вариант - а почему бы не использовать для набора кода программы сторонний редактор? Ultra Edit, или скажем, ту же Edit for MS DOS? В первой программе есть функция ANSI to OEM (и соответственно, OEM to ANSI), вторая - изначально сохраняет тексты в кодировке ibm866.
Ответ отправил: Dr_Andrew (статус: 6-ой класс)
Ответ отправлен: 13.02.2008, 07:56 Оценка за ответ: 2 Комментарий оценки: Использование стороннего редактора не помогает, т.к. версия компилятора сама не распознает кириллицу, и при использовании функций типа cprintf(параметры) все выводит теми же иероглифами.
Отвечает: X-men
Здравствуйте, Востриков Павел Алексеевич!
Раз функцию AnsiToOem изпользовать нельзя, то можно ее написать собственноручно.
В приложении - текст программы для BC 3.1.
Правда, если открыть исходный текст в текстовом редакторе, то все будет выведено нормально, а если в BC - будут закорючки.
Вот можете посмотреть здесь (загружается не сразу).
Приложение:
Ответ отправил: X-men (статус: 1-ый класс)
Ответ отправлен: 14.02.2008, 09:18