powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Русские буквы в консоли - частично не русские. Почему?
9 сообщений из 9, страница 1 из 1
Русские буквы в консоли - частично не русские. Почему?
    #39704686
Devillio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день !!

Хотел тут сыну поумничать показать как программировать
наваял с ним Программу (windows 10, delphi 10.1)
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

var
  S,W: String;

begin
  try
    ReadLn(S);
    ReadLn(W);

    WriteLn(S);
    WriteLn(W);
    WriteLn(S+' '+W);

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  ReadLn(S); //пауза
end.



А она вот так вот со мной (почему?):
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704743
Гирлионайльдо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кодировка системы по п
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704754
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте вместо "Вова" ввести "Владимир"
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704759
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
//from JclWin32.pas
function MAKELCID(LangId, SortId: WORD): DWORD;
begin
  Result := (DWORD(SortId) shl 16) or DWORD(LangId);
end;


//Uses Windows
SetThreadLocale(MAKELCID(LANG_RUSSIAN, SORT_DEFAULT));
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704761
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Devillio,

Потому, что консоль в Винде не уникодовая, как в том же Линуксе. А строки в Delphi - уникодовые.
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704762
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это потому, что RTL только после попытки чтения проставляет кодовую страницу консольного ввода.
Добавьте в начало проекта
Код: pascal
1.
Reset(System.Input);
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704776
Devillio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cobalt747это потому, что RTL только после попытки чтения проставляет кодовую страницу консольного ввода.
Добавьте в начало проекта
Код: pascal
1.
Reset(System.Input);


Похоже вот это оно! Благодарю! Вечером пойдем умничать обучаться дальше
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704940
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonПотому, что консоль в Винде не уникодовая, как в том же Линуксе. А строки в Delphi - уникодовые.
Да неужели?
Код: pascal
1.
2.
SetConsoleOutputCP(CP_UTF8);
WriteLn('ΦΆΔμζφλφέή'); // тут были греческие символы, но форум не 'уникодовый' :D
...
Рейтинг: 0 / 0
Русские буквы в консоли - частично не русские. Почему?
    #39704992
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

ну так ставить нужно страницу. по умолчанию 866 там.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Русские буквы в консоли - частично не русские. Почему?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]