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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

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

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

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

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

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

Цитата:
Сообщение от 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
Просмотров: 39

Размер: 7.9 Кб

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

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

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баг с кодировкой Ghaydn О форуме и сайтах клуба 9 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 2 29.12.2010 05:12


17:26.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru