Добрый день! Объясните, пожалуйста, как в паскале абц работать с русскими символами и с таблицей ascii? Вместо русских символов выводятся знаки вопроса. Конструкции типа begin write(#128); end. тоже выдают либо знак вопроса, либо прямоугольник. Что и где надо прописать? Может есть какая-то директива для компилятора? В free pascal такой проблемы нет, но ученики кривляются когда её видят. Да и мне самому стало интересно.
Относительно недавно стандартной кодировкой стал юникод(если я всё правильно понимаю)
Или в конце концов если вы так прямо любите эту кодировку то:
begin
writeln(ChrAnsi(128));
end.
В PascalABC.NET символы хранятся в формате Unicode:
begin
Print('А'.Code)
end.
Будет выведено 1040 - код русской заглавной буквы А
Free Pascal - устаревшая система, где символы однобайтные.
С Вашими учениками можно попробовать повыводить символы в графические окно - там многие отображаются правильно:
uses GraphABC;
begin
Font.Size := 14;
var n := 8500;
for var i := n to n+500 do
Print(Chr(i))
end.
Здравствуйте. Надеюсь, не вызову нареканий в духе: новый вопрос - новая тема. У меня почти то же, консоль заканчивается символами вопроса вместо фразы “Программа выполнена, нажмите любую клавишу”. PABC.Net v3.3 (1547) и впервые установленная (пара дней) Win10 Pro (1709).
Как справить? СпасибоWindows русская или английская?
Русская Windows10
А попробуйте cmd запустить, будет ли оно русскими буквами писать?
Можно писать и по русски и по английски меняя раскладку.
Кстати, а откуда берётся это “Программа выполнена, нажмите любую клавишу”, его ведь вроде убрали… Нет? У меня его нету, в финализации PABCSystem
есть только закрытие потоков ввода/вывода.
Ну, у нас тоже русская Windows 10 и всё отображается верно. Мы просто вызываем консольное окно - ничего такого не делаем. У Вас вот в cmd шрифт другой установлен. Может, в том шрифте у Вас русских букв нет?
Ну я его тоже вызываю, запуская по Shift+F9, но после выполнения программа просто завершается, ничего не выписывая. Запускал я программу из этого сообщения.
А где находится часть программы которая должна после завершения программы выписывать это и ожидать? Можете скинуть исходники PABCSystem?
ProgrammRunner.pas и Pause.pas
Кхм, ну во первых у меня есть только файлы ProgrammRunner.exe и Pause.exe, а во вторых как именно вы запускаете? В смысле что надо делать чтоб эти файлы как то задействовались? Это какой то другой запуск, не Shift+F9 из редактора?
Ну, я не знаю, как это делается, это делали другие разработчики. Вы спросили где - я написал. Разбирайтесь. Установите Студию. И экспериментируйте. Но непонятно, что делать - у Вас и у меня всё работает
Из всего вами сказанного я не понял, что мне делать? Какие шрифты доустанавливать? Или возвращаться к семерке?
Мы не знаем, почему не работает. А если в это окно программой вывести русский текст - выводит?