Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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


Ответ
 
Опции темы
Старый 19.06.2019, 23:48   #1
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию [РЕШЕНО] Что с кодировкой?

Удалась возможность разжиться ПК с Виндовс.
И столкнулся с непонятным. Кодировка СР1251. В консоли выбран шрифт Lucida Console, т. е. той же кодировки. Текст отображается правильно. Но тот текст, который я ввожу - крякозябрами. Т. е. в DOS'овской кодировке? СР866?

Итак, решение:
1) подключаем модуль windows
Код:
     uses windows;
2) в начале главной программы пишем
Код:
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
Изображения
Тип файла: png Безымянный_cr.png (48.7 Кб, 162 просмотров)

Последний раз редактировалось camac; 20.06.2019 в 21:13. Причина: Решение найдено
camac вне форума Ответить с цитированием
Старый 20.06.2019, 01:36   #2
Вадим Мошев

 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,591
По умолчанию

Попробуйте подключить модуль windows, в основной программе в начале написать:
Код:
SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
Вадим Мошев на форуме Ответить с цитированием
Старый 20.06.2019, 12:13   #3
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию

Самое смешное - в Линуксе у консоли в настройках указал кодировку СР1251. И все нормально. Никаких иероглифов.
Эти процедурки в модуле Windows?

Последний раз редактировалось camac; 20.06.2019 в 12:19.
camac вне форума Ответить с цитированием
Старый 20.06.2019, 13:00   #4
Alex11223
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так вводите и выводите-то как?
Alex11223 на форуме Ответить с цитированием
Старый 20.06.2019, 13:30   #5
Вадим Мошев

 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,591
По умолчанию

Цитата:
Сообщение от camac Посмотреть сообщение
Эти процедурки в модуле Windows?
Да. Подключите модуль.
Вадим Мошев на форуме Ответить с цитированием
Старый 20.06.2019, 13:32   #6
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию

Ввожу текст?
Это самописное творение. Ваяю потихоньку в качестве самообразования.
Запускаю программулину. Выбираю пункт "ввести данные"... Давайте лучше я свое творение тут выложу - пощупаете. Заодно и подскажете - что/как не так. Совет/критика профи всегда ценна.
Вложения
Тип файла: zip proba_bazy_win.pas.zip (2.0 Кб, 19 просмотров)
camac вне форума Ответить с цитированием
Старый 20.06.2019, 14:30   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от camac Посмотреть сообщение
Ввожу текст?
вводите. с клавиатуры.

сделал, как советовал Вадим Мошев ( https://programmersforum.ru/showpost...18&postcount=2 )
Код:
uses crt,dos,windows;
....

begin

  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);

repeat
  clrscr;
{  writeln('#################################################################');
  writeln('#                                                               #');
  writeln('#                        МЕНЮ ПРОГРАМЫ                          #');
  writeln('#                                                               #');
  writeln('#################################################################');

bz.png

а создание базы у Вас кривой алгоритм. Если файла на диске нет, то создать его невозможно. и выйти невозможно из процедуры repeat until ...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2019, 15:01   #8
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию

Про создание точно. Что-то не то сделал. Спасибо.
Про подключение модуля - мне до ПК с Виндовс добраться надо. А это не всегда возможно. Попробую сегодня вечером.
camac вне форума Ответить с цитированием
Старый 20.06.2019, 15:12   #9
Alex11223
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем вам целый пк для виндовс? Давно ж существуют виртуалки.
Alex11223 на форуме Ответить с цитированием
Старый 20.06.2019, 15:12   #10
camac
Пользователь
 
Регистрация: 28.07.2011
Сообщений: 11
По умолчанию

Подправил. Заработало. С проверкой не то сделал. Спасибо.
camac вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баг с кодировкой Ghaydn О форуме и сайтах клуба 8 01.03.2019 01:51
CSV с кодировкой UTF-8 strannick Microsoft Office Excel 4 07.10.2013 15:03
траблы с кодировкой megostudent PHP 1 04.03.2013 04:27
[РЕШЕНО][Assembler] Правильно ли решено уравнение? fuzo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 29.12.2010 05:12