Страница 2 из 3
Re: Кодировка в окне ide
Добавлено: 21.09.2011 12:48:31
Vadim
informat писал(а):Нужно написать функцию конвертер. Пусть называется toAnsi(string). И использовать её в выводе write(toAnsi('Руский текст')).
Все трудности можно превратить в задачи, что будет способствовать более глубокому пониманию.
Боюсь, это Вы не поняли проблему.

У человека проблема была
именно в отсутствии символов псевдографики, которые рисуют рамочки. В кодировке ANSI таких символов псевдографики нет. Если не верите - проверьте сами.
Re: Кодировка в окне ide
Добавлено: 22.09.2011 06:52:36
informat
Vadim писал(а):informat писал(а):Нужно написать функцию конвертер. Пусть называется toAnsi(string). И использовать её в выводе write(toAnsi('Руский текст')).
Все трудности можно превратить в задачи, что будет способствовать более глубокому пониманию.
Боюсь, это Вы не поняли проблему.

У человека проблема была
именно в отсутствии символов псевдографики, которые рисуют рамочки. В кодировке ANSI таких символов псевдографики нет. Если не верите - проверьте сами.
Видимо я действительно не совсем понял,зачем человеку так мучиться, если этот код
Код: Выделить всё
Const
r1=#201;
r2=#205;
r3=#187;
r4=#200;
r5=#188;
begin
writeln('╔═╗');
writeln('╚═╝');
writeln(r1,r2,r3);
writeln(r4,r2,r5);
end.
выдаёт рамочки.
Re: Кодировка в окне ide
Добавлено: 22.09.2011 07:48:18
kirill
Н-да.. Видимо без скриншотов никак.
Написал программу в FP. Все русские буквы выглядят красиво.
Отлично.. Теперь собираем и проверяем, как она работает... Ой, что это? Что я тут должен ввести?
Н-да.. С кодировками что-то не так... Ладно, в фаре кодировку файла меняем с 866 (DOS) на 1251 (ANSI). Запускаем FP. Н-да.. Теперь не понятно, что у меня написано во writeln
Так, пойдем по-другому пути. А если в консоли перед запуском FP поменять кодовую страницу на ANSI?!.... Отлично.. Я теперь могу прочитать, что написано во writeln, но что с псевдографикой ide?! Правильно! Ее нет не в кодовой странице 866.
И вопрос стоит кто как решает эти танцы с бубном. Пока последний вариант самый действенный, который решает проблему с русским языком, но минус - ломает псевдографику в IDE.
Re: Кодировка в окне ide
Добавлено: 23.09.2011 06:47:47
informat
kirill писал(а):Н-да.. Видимо без скриншотов никак.
Написал программу в FP. Все русские буквы выглядят красиво.
...
И вопрос стоит кто как решает эти танцы с бубном. Пока последний вариант самый действенный, который решает проблему с русским языком, но минус - ломает псевдографику в IDE.
А рамки на первом снимке какие?
Это и должно быть сигналом, что есть проблемы.
Вот цитата первого поста:
...
Когда пишу текст по-русски в ide (fp) он сохраняется в досовской кодировке (cp866). При этом весь текст в консоле выводится в cp1251 (виндовой ansi кодировке).
Зачем так делать?
Раз ide (fp) все делает в досовской кодировке (cp866), то для чего Вам cp1251?
Re: Кодировка в окне ide
Добавлено: 23.09.2011 07:45:59
kirill
informat писал(а):Раз ide (fp) все делает в досовской кодировке (cp866), то для чего Вам cp1251?
Чтобы не получилось как на третьем рисунке, когда при запуске программы не понятно что выводится.
Re: Кодировка в окне ide
Добавлено: 23.09.2011 09:11:57
Vadim
kirill писал(а):Чтобы не получилось как на третьем рисунке, когда при запуске программы не понятно что выводится.
Если у Вас консоль работает в кодировке CP866, то и тексты в CP866 всегда будут выводиться
понятными.
Честно говоря, Ваша проблема с множеством перекодировок мне представляется надуманной. Типа, как в анекдоте - сами себе выдумываем трудности, а потом их сами преодолеваем.

Поверьте старому программисту - я очень много пишу утилит для консоли и ни разу у меня проблем с кодировками не было. А всё почему? Потому, что консоль работает в СР866 и тексты программ я пишу в СР866. Вы, почему-то, так делать упорно не хотите, а потом плачете, что в ANSI у Вас рамок нет. И не будет, пока Вы с ANSI не слезете. Этот задрипаный ишак (ANSI-кодировка) уже полный анахронизм, чего Вы за него цепляетесь то?
Re: Кодировка в окне ide
Добавлено: 23.09.2011 12:36:44
kirill
Вадим, да. не цепляюсь я...
Что я сделал.
У меня есть FAR 2.x.
Установил последний FP 2.4.4.
Так как в маленьком окне работать уже не привык, настройки размеров окон не делал.
В FAR'е сделал привязку для файла pas и pp запускать FP IDE.
Создал файл в FAR с кодировкой OEM. Сохранил.
Написал код
Код: Выделить всё
program helloworld;
uses crt;
begin
writeln('Привет, Мир!');
readln;
end.
Собрал (F9), Запустил (Ctrl+F9) кракозяблы. Вышел из IDE. Запускаю exe'шник из фара - те же кракозяблы.
Ок. Предположим проблема в FAR.
Запускаем IDE через ярлык. Собираем (F9), Запускаем (Ctrl+F9) - опять кракозяблы... Откуда у вас в винде (начиная с XP SP3 точно) кодировка 866 ? Если консоль в винде 1251.
Re: Кодировка в окне ide
Добавлено: 24.10.2011 05:48:02
Сквозняк
Может уже и поздно, но не совсем понятно, зачем в винде запускать редактор в фаре и мучаться с двумя восьмибитными кодировками. Из explorer.exe редактор fp.exe, насколько я помню, запускается и одна из восьмибитных кодировок с русскими буквами там работает. Одной вполне достаточно. Если нужно печатать в другой кодировке, то напишите функцию для перекодирования и дело с концом. Я так в линуксе пишу в IBM866 кодировке а в консоль writeln и write выводят utf8.
Если важен текст на всю ширину консоли с кодировкой utf8, а вес бинарника не критичен, то не нужно использовать модуль CRT. Если в консоли 8 битная кодировка, то используйте, никто вам не запрещает - во избежание утечки процессорной мощности обычно нужно использовать delay или sleep а у них ого какие зависимости.
Re: Кодировка в окне ide
Добавлено: 24.10.2011 10:32:47
kirill
Сквозняк писал(а):Может уже и поздно, но не совсем понятно, зачем в винде запускать редактор в фаре и мучаться с двумя восьмибитными кодировками. Из explorer.exe редактор fp.exe, насколько я помню, запускается и одна из восьмибитных кодировок с русскими буквами там работает. Одной вполне достаточно. Если нужно печатать в другой кодировке, то напишите функцию для перекодирования и дело с концом. Я так в линуксе пишу в IBM866 кодировке а в консоль writeln и write выводят utf8.
Если важен текст на всю ширину консоли с кодировкой utf8, а вес бинарника не критичен, то не нужно использовать модуль CRT. Если в консоли 8 битная кодировка, то используйте, никто вам не запрещает - во избежание утечки процессорной мощности обычно нужно использовать delay или sleep а у них ого какие зависимости.
С Линуксом понятно. Там и консоль выполнения написанной программы и сам редактор по-умолчанию работают в utf-8. В windows - зоопарк кодировок: FP работает в кодировке DOS, а написанные в нем приложения (во всяком случае у меня) запускаются в ANSI. Почему?! Не знаю. Это я и хочу узнать.
Почему я из фара запускаю FP - привычка. Так проще создавать pascal файл в нужном каталоге. Создал файл по Shift+F4, и открыл его для редактирования в FP IDE.
Re: Кодировка в окне ide
Добавлено: 24.10.2011 11:18:42
Vadim
kirill писал(а):запускаются в ANSI. Почему?! Не знаю.
Попробуйте CRT из Uses удалить и посмотрите, что будет.

Re: Кодировка в окне ide
Добавлено: 25.10.2011 01:35:19
Сквозняк
kirill писал(а):С Линуксом понятно. Там и консоль выполнения написанной программы и сам редактор по-умолчанию работают в utf-8. В windows - зоопарк кодировок: FP работает в кодировке DOS, а написанные в нем приложения (во всяком случае у меня) запускаются в ANSI. Почему?!
Ничего подобного, в линуксе тоже зоопарк кодировок, utf-8, призванная с ним покончить, или работает не везде или не полностью, или в системе нет всех шрифтов, или программа не всеми умеет пользоваться. Редактор работает в консоли в которой может быть utf-8 или другая кодировка, но внутри редактора информация идёт в восьмибитных форматах и его постоянно портят и ломают европейские товарищи. Последняя нормальная версия была в fpc 2.0.2, последующие - в разной степени испорченности. После скачивания релиза паскаля приходится патчить и пересобирать ИДЕ, тогда ей можно нормально пользоваться. Несколько кодировок не мешают писать и выполнять программы. Лучше использовать собственные конвертеры кодировок, системные обычно настроены портить информацию выходящую за диапазон заменяя непонятные символы вопросами.
Re: Кодировка в окне ide
Добавлено: 25.10.2011 09:27:39
kirill
Vadim писал(а):Попробуйте CRT из Uses удалить и посмотрите, что будет.
Большое спасибо. Действительно помогло.
Сквозняк писал(а):Ничего подобного, в линуксе тоже зоопарк кодировок, utf-8, призванная с ним покончить, или работает не везде или не полностью, или в системе нет всех шрифтов, или программа не всеми умеет пользоваться. Редактор работает в консоли в которой может быть utf-8 или другая кодировка, но внутри редактора информация идёт в восьмибитных форматах и его постоянно портят и ломают европейские товарищи. Последняя нормальная версия была в fpc 2.0.2, последующие - в разной степени испорченности. После скачивания релиза паскаля приходится патчить и пересобирать ИДЕ, тогда ей можно нормально пользоваться. Несколько кодировок не мешают писать и выполнять программы. Лучше использовать собственные конвертеры кодировок, системные обычно настроены портить информацию выходящую за диапазон заменяя непонятные символы вопросами.
Спасибо за информацию, не знал, что в linux'е такие же проблемы. А я хотел в классе переделать эти компы на ubuntu.
Re: Кодировка в окне ide
Добавлено: 25.10.2011 14:00:15
AShen
Little_Roo писал(а):Не совсем понятно, какой IDE и, главное, зачем?
Сам в школе работаю, и проблем с
Lazarus не было и нет, за исключением периодического обновления оного...
А зоопарк...так это ж не критично - целерон 366, 128 метров мозга

, ХР - и для решения почти всех школьных задач хватает
А что "Школьный линукс" не используете?
Re: Кодировка в окне ide
Добавлено: 25.10.2011 14:15:42
kirill
AShen писал(а):А что "Школьный линукс" не используете?
Честно говоря не знаю. Как стояла винда на компах, когда жена пришла в школу, так и стоит. Мне времени заниматься этим нету, а она не очень в этом разбирается. Что-то видел в новостях, а подробности не знаю.
Re: Кодировка в окне ide
Добавлено: 25.10.2011 15:14:23
AShen
kirill писал(а):AShen писал(а):А что "Школьный линукс" не используете?
Честно говоря не знаю. Как стояла винда на компах, когда жена пришла в школу, так и стоит. Мне времени заниматься этим нету, а она не очень в этом разбирается. Что-то видел в новостях, а подробности не знаю.
http://freeschool.altlinux.ru/Школьный линукс:
http://www.altlinux.org/%D0%90%D0%BB%D1 ... 1%8B%D0%B9"