Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2010, 00:06   #1
Роман К.
 
Регистрация: 08.11.2010
Сообщений: 3
По умолчанию Порекомендуйте свободный IDE с поддержкой DOS-кодировок...

Здравствуйте, уважаемые...

С++ я знаю не намного лучше, чем никак... Изредка пописываю элементарнейшие консольные программки под собственные нужды. Пописываю под Линуксом, но, порой, возникает необходимость и под Винду их пересобрать. Здесь и начинается проблема.

С обеих сторон (как под Кубунтой, так и под XP) - CodeBlocks. Под Линуксом он создаёт файлы в ANSI, а после их сборки под Виндой - получается несовпадение кодировки отправляемого на вывод текста с кодировкой Виндовой консоли. Известная проблема, в общем...

Спасаюсь AkelPad'ом: тупо пересохраняю им .cpp-файл с перекодированием из ANSI в OEM. Однако, собирать его приходится вслепую - в Виндовой консоли крякозябры исчезают, но в редакторе CodeBlocks - появляются. Не умеет она работать с OEM 866 и учиться не собирается - даже плагинов для этого нет. В связи с этим, вопрос:

подскажите, пожалуйста, свободную IDE, умеющую сохранять, читать и редактировать .cpp-файлы в OEM 866.

Покорнейше прошу не предлагать отказаться от русского языка в комментах, а на вывод подавать символы кодами. Варианты с изменением исходников в зависимости от целевой ОСи также считаю для своих задач нецелесообразными. Хочу именно подобрать соответствующую задаче IDE и работать в одной кодировке, не путая себя и других...
Роман К. вне форума Ответить с цитированием
Старый 09.11.2010, 07:44   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Тогда другой вариант . Напишите тулзу для перекодировки .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 09.11.2010, 20:28   #3
Роман К.
 
Регистрация: 08.11.2010
Сообщений: 3
По умолчанию

А смысл её писать?.. Они есть... И я для этого для этого использую AkelPad... Я ж писал об этом.

Только, таким образом, я получаю два .cpp файла, один из которых можно читать и редактировать, а второй - после сборки под Виндой работает корректно, но непригоден для обработки редактором IDE.

Тут мне на другом форуме подсказали, что русский досовский текст можно прочесть в IDE, поменяв шрифт редактора на Konsole. Однако, полностью это проблемы не решает - правится такой русский текст, всё равно, крякозябрами...
Роман К. вне форума Ответить с цитированием
Старый 09.11.2010, 22:50   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Прошу выслушать моё мнение, хоть я и ни разу в жизни не видел CodeBlocks, да и в программировании на C++ я полный ноль. Однако, мнение своё хочу высказать. Если глупость говорю, просто проигнорируете мой пост. Возможно, всё же, что то полезное в нём и почерпнёте.

имхо, Вашу задачу можно решить кучей разных способов.

1) я на 100% уверен, что для Вашего компилятора есть директивы условной компиляции. Вот, например, как выглядит подобное в Delphi:
Код:
uses
  {$IFDEF UNIX}
  Types, Libc,
  {$ENDIF UNIX}
  {$IFDEF MSWINDOWS}
  Windows,
  {$ENDIF MSWINDOWS}
  Classes, SysUtils,
  JclBase;
подобный код будет компилироваться без изменения исходников.
Достаточно Вам указать, что при компиляции под Windows для вывода текста на консоль использовать AnsiToOemBuff (ну или что там у Вас есть для обёртки на Win API шной функцией преобразования).

2) использовать досовские редакторы для редактирования. А компиляцию осуществлять через командные файлы.
В редакторе MultiEdit (царство ему небесное) это было сделано просто ГЕНИАЛЬНО. Там, в зависимости от расширения файла (ASM, PAS, C), подключались различные обработчики, ну, в частности подсветка синтаксиса, макросы форматирования и дополнения кода и т.д., ну и была такая фишка - как компиляция прямо из исходника. Т.е. не выходя из редактора, нажималась горячая клавиша, исходник сохранялся, запускался компилятор (в скрытом режиме), ему подсовывался исходник. Результат компиляции (лог) сохранялся в файл, MultiEdit парсил этот файл на предмет ошибок и отображал их в редакторе. Таким образом, получалась работа в IDE, причем в качестве IDE выступал продвинутый редактор текста.

3) абсолютно не сложно написать небольшую программку, которая бы на лету конвертировала файл из ANSI кодировки в OEM и скармливала полученный исходник компилятору. Т.е. Вы правите исходный текст в ANSI. запускаете батник - получаете откомплированный результат.

всё в ваших руках...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.11.2010, 01:54   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

2)сейчас есть подобный редактор это Edit Pad Pro, надо лишь настроить Tools(причем можно и для разных типов файлов)
поддерживает фолдинг + можно создавать свои стили подстветки и фолдинга.

1)можно включить выбор нужной локали той же условной компиляцией.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.11.2010, 22:27   #6
Роман К.
 
Регистрация: 08.11.2010
Сообщений: 3
По умолчанию

Serge_Bliznykov, Пепел Феникса, спасибо за отклик...

Всё отчётливее до меня доходит мысль, что, несмотря на свою очевидность, идея работать в DOS-кодировке не так уж проста.

Видимо, придётся-таки разбираться с условной компиляцией, но это уже, наверное, должна быть другая тема...
Роман К. вне форума Ответить с цитированием
Старый 11.11.2010, 15:11   #7
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Есть такой вариант : в линуксах сделать shell скрипт, который из DOS'овской в UTF-8 перекодирует все исходники и наоборот в винде( .bin файл ).
В итоге :
+ Исходники одни.
- Нужно запускать эти скрипты( можно как-то автоматизировать процесс ).
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 17.12.2010, 22:11   #8
Dequick
 
Регистрация: 11.09.2010
Сообщений: 9
По умолчанию

Я не знаю как с этим дело состоит у NetBeans, но стоит попробовать)
Dequick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таблица кодировок Shouldercannon Общие вопросы Delphi 2 10.01.2010 15:19
Помогите с программой на С++ "текстовый редактор с поддержкой нескольких кодировок" alwa Помощь студентам 1 05.06.2008 19:48
Проблема кодировок!!! chekanoff Общие вопросы Delphi 4 04.12.2007 00:03
Смена кодировок в тексте r-sol Общие вопросы Delphi 3 06.04.2007 11:55