нажми win e в адрес введи shell:startup там создай файл cp.cmd в нем chcp 1251 перегрузись
Ваять "костыли" да еще на чужом ПК? Я ищу решение это сделать программно. Непосредственно из МОЕЙ программки. Никто не знает столько, сколько не знаю я.
Удалась возможность разжиться ПК с Виндовс. И столкнулся с непонятным. Кодировка СР1251. В консоли выбран шрифт Lucida Console, т. е. той же кодировки. Текст отображается правильно. Но тот текст, который я ввожу - крякозябрами. Т. е. в DOS'овской кодировке? СР866?
Добавлено (20 Июня 2019, 11:32) --------------------------------------------- Самое смешное - в Линуксе у консоли в настройках указал кодировку СР1251. И все нормально. Никаких иероглифов.
Итак, решение: 1) подключаем модуль windows
Код
uses windows;
2) в начале главной программы пишем
Код
SetConsoleCP(1251); SetConsoleOutputCP(1251);
Спасибо всем "за помощь" Тему можно закрывать. Никто не знает столько, сколько не знаю я.
Сообщение отредактировал camac - Четверг, 20 Июня 2019, 20:24
Бодрого дня, господа. Подскажите, пожалуйста, как в программе можно считать комбинацию клавиш? Т. е., например, Ctrl+N, Alt+Q и прочая. При этом в то же самое время может быть и только одна клавиша, например, F1 или F2 и т. д.
PS. FreePascal. Никто не знает столько, сколько не знаю я.
По поводу Си. Его бардачности и прочая.. Взял классику - Керниган и Ричи. Книжки в разных форматах и с разных сайтов. И повсюду разнобой. Уже на первых же примерах: - у одних ВСЁ заглавными:
gcc -Wall -o "proba" "proba.c" (в каталоге: /opt) proba.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main () ^~~~ proba.c: In function ‘main’: proba.c:7:10: warning: unknown escape sequence: '\N' printf("\N"); ^~~~ Сборка прошла успешно.
та же \n в одинарных кавычках, что вызывает ошибку
Цитата
gcc -Wall -o "proba" "proba.c" (в каталоге: /opt) proba.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main () ^~~~ proba.c: In function ‘main’: proba.c:7:10: warning: passing argument 1 of ‘printf’ makes pointer from integer without a cast [-Wint-conversion] printf('\n'); ^~~~ In file included from proba.c:1:0: /usr/include/stdio.h:318:12: note: expected ‘const char * restrict’ but argument is of type ‘int’ extern int printf (const char *__restrict __format, ...); ^~~~~~ proba.c:7:3: warning: format not a string literal and no format arguments [-Wformat-security] printf('\n'); ^~~~~~ Сборка прошла успешно.
и при попытке выполнить (Сборка, ведь, прошла успешно) получаем:
Цитата
Segmentation fault (core dumped)
- у третьих дано printf("\n");, что дает, наконец-то, нужный результат. Но в большинстве литературы упорно пишут printf('\n');, вводя людей в заблуждение. И так практически почти по всем примерам. По Си стОящей литературы фактически еще меньше, чем по Паскалю. Никто не знает столько, сколько не знаю я.
Сообщение отредактировал camac - Четверг, 13 Июня 2019, 13:57
Бодрого дня. Сразу расставлю все запятые над буквой зю. Программирование я начал пытаться изучать недавно. И в очень сильно не молодом возрасте. Так сказать, чтоб было, чем на пенсии заняться. И, при этом, я гуманитарий (в прямом смысле этого слова). Занимаюсь по различной литературе, какую смогу найти. Нормальной ничтожно мало. В основном - макулатура. Начинал как раз с Си. Результат - стойкое отвращение. Ужасный, бардачный и абсолютно не логичный язык программирования. А вот паскаль пошел просто на ура. Ну разве объявление переменных, где приспичит или взбредет, это нормально?
Так, с лирикой покончили. Как говорится - на том его и порешили.
По теме. Сегодня попробовал подключить снова ncurses - все нормально. Подключилось. Теперь бы еще понять, как это пользовать. А вот про ncurses ругается -
Цитата
qwerty.pas(2,6) Fatal: Can't find unit ncursesw used by qwerty
Но, вроде бы, установлено. Никто не знает столько, сколько не знаю я.
В данном непосредственном случае я просто совершил очепятку. Нужно было ncurses. И только сейчас заметил, что в файлике, который я пытался есть еще и uses menu;. Файлик называется menu_demo.pp из примеров. Завтра попробую нормально. А вот про ncursesw не знал. Можно подробней? Что за "широкие символы"? Никто не знает столько, сколько не знаю я.
Любая попытка подключить ncurses завершается одинаково. Поэтому и пытаюсь найти хоть что-то, что укажет - как же это мерзость пользовать. Никто не знает столько, сколько не знаю я.
Сообщение отредактировал camac - Вторник, 11 Июня 2019, 09:45
Нигде не нашел информации об использовании ncurses в паскале. Есть малость для Си. Но это для меня сложно. Есть ли где-то какая-нибудь информация именно для паскаля? Никто не знает столько, сколько не знаю я.