Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ c++ builder 2007 русская кодировка под консолью

Автор: Rian 9.11.2010 17:36

вопрос как в билдере под консолью сделать нормальные русские буквы?

на паскаль например типа библиотеки ставилось и все норм читалось.... а тут? как?

Автор: volvo 9.11.2010 17:59

http://www.rsdn.ru/article/qna/ui/concp.xml
(ключевое слово CharToOem присутствует)

Автор: Rian 9.11.2010 18:07

sad.gif неудобно.... использовать винапи? а как тогда в других системах пишут?

может другой компилер использовать?

Автор: TarasBer 9.11.2010 18:14

> неудобно.... использовать винапи? а как тогда в других системах пишут?

В других системах через ВинАПИ пишут вообще всё, радуйся, что формы можно мышкой рисовать.

Автор: Rian 9.11.2010 18:24

Цитата(TarasBer @ 9.11.2010 13:14) *

> неудобно.... использовать винапи? а как тогда в других системах пишут?

В других системах через ВинАПИ пишут вообще всё, радуйся, что формы можно мышкой рисовать.

это в юниксах что ли? или они тоже библиотеку подключают?
мне не надо формы мне консоль голая и всё

Автор: TarasBer 9.11.2010 18:43

А, в других операционках. Я думал, в других средах программирования.
Тебе нужна именно кроссплатформенность?

Автор: volvo 9.11.2010 18:54

Цитата
Тебе нужна именно кроссплатформенность?
Самый тот случай, для кроссплатформы использовать C++ Builder.

P.S. Про Юникод что, только избранные знают? Современные компиляторы С++ прекрасно работают с Юникодом (wcout или wprintf)

Автор: Гость 9.11.2010 20:13

Цитата(volvo @ 9.11.2010 14:54) *

Самый тот случай, для кроссплатформы использовать C++ Builder.

P.S. Про Юникод что, только избранные знают? Современные компиляторы С++ прекрасно работают с Юникодом (wcout или wprintf)


кстати не стала это функция работать(( к ней еще чево то надо?

...мне нужно например ввести в прогу подобный код


#include <stdio.h>
void main()
{int Year;
printf("Сколько лет Коле ");
scanf("%d",&Year);
printf("Коле %d лет \n",Year);
}



"проверить" что он работает... как это можно сделать?
если не билдер, тогда чем?

Автор: volvo 10.11.2010 0:15

Цитата
кстати не стала это функция работать((
Ну, не знаю, у меня wcout под GCC работает на ура. Причем как под Windows (правда для этого придется использовать STLPort, некоторые стандартные вещи из-под MinGW не хотят работать, юникодные потоки - в их числе), так и на Lenny (это Debian 5, если кто не в курсе).

Автор: Rian 10.11.2010 13:22

блин.... танцы с бубном.... вместо приведения типов, приводим кодировки (((((( norespect.gif

Автор: Rian 12.11.2010 16:26

...скачал c++ builder 3.1 и к нему прогу KEYRUS...
есть русские буквы.... но это же все равно не солидно... к тому же эмулятор прихрамывает
в стандартном мышка не работает
dos box иногда подвисает и шрифт сильно мелкий (не знаю настраивается ли)

ну почему win32 нельзя настроить?

Автор: volvo 12.11.2010 16:49

Настроить на что? Чтоб он брал буквы в кодировке Win1251 и переводил их в OEM? Тебе сказали, как это настроить. Ты говоришь "неудобно". Всем удобно (Win32 настраивать через WinAPI - внезапно, да? Не ожидаешь никогда, что взбредет на ум программистам из MS - надо же было додуматься, настройку программ под Win делать через WinAPI... dry.gif ), тебе нет. Ну, так делай так как ТЕБЕ удобно. А КАК это - это у себя спроси, я не телепат. В WinAPI БОЛЕЕ ЧЕМ достаточно средств для решения данной задачи. К тому же я тебе привел пример использования юникодных потоков, которые ко всему еще и кроссплатформенны. Опять неудобно? Ну, извини, что в компиляторах нет режима ForRianOnly.

Автор: Rian 12.11.2010 18:28

дописывать в каждую прогу огромную кусмятину кода?
использовать "конвертер" кодировок fromTo
переписывать все функции в каждом примере? (которая кстати не работала, не знаю почему)

blink.gif это удобно? арррр...
keyrus мне в помощ и DOS forever

Автор: TarasBer 12.11.2010 18:35

Что огромного-то? Напиши свою обёртку, которая конвертирует не char*, а принимает нормальную строку и возвращает нормальную строку, и вместо cout << s пиши cout << mycoolfunc(s)