Русский текст в консоли

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Сообщение Mortem » 25.03.2006 16:54:48

Есть FPC 2.0.2...
Есть простенькая программка...

Код: Выделить всё
program summer;

{$APPTYPE CONSOLE}

uses
 Windows;

 function rus(aStr : String) : String;
 begin
   SetLength(Result, Length(aStr));
   CharToOem(PChar(aStr), PChar(Result));
 end;

begin
 WriteLn(rus('В поисках лета!'));
 ReadLn;
end.


В итоге в консоле не выводятся некоторые буквы. При попытке набрать в консоле текст по русски так же не выводятся некоторые буквы. При компиляции исходника в Delphi всё замечательно работает.

Что я не так делаю???
Mortem
 

Сообщение Janus » 25.03.2006 17:50:38

У меня все буквы выводит, все прекрасно работает. Все ты так делаешь.
Janus
постоялец
 
Сообщения: 134
Зарегистрирован: 07.11.2005 17:06:49

Сообщение Guest » 25.03.2006 20:58:21

Забавно, но вылечилось вот такой строчкой...

Код: Выделить всё
{$LONGSTRINGS ON}


Janus
Видимо по дефолту у тебя оно включено было. Каким IDE пользуешься?
Guest
 

Сообщение Guest » 25.03.2006 21:25:53

Janus
Можно ещё

Код: Выделить всё
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);


Но шрифт при этом Lucida Console придётся поставить...
Guest
 

Сообщение Janus » 25.03.2006 21:39:35

Без этой директивы программа вообще не компилируется, т.к. shortstring нельзя привести к PChar. По крайней мере в режиме Objfpc. А IDE я не пользуюсь, компилирую из командной строки.

Зарегистрировался бы хоть?
Janus
постоялец
 
Сообщения: 134
Зарегистрирован: 07.11.2005 17:06:49

Сообщение Mortem » 25.03.2006 21:56:36

Зарегался и выяснил следующее...

Код: Выделить всё
{$LONGSTRINGS ON}

Не при чём. Проблема появляется при подключении модуля Crt.

Но вот
Код: Выделить всё
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

проблему вроде сняло без всякой замены шрифтов.

Спасибо всем, вроде помогло... (:
Mortem
незнакомец
 
Сообщения: 3
Зарегистрирован: 25.03.2006 20:59:22
Откуда: Воронеж, Москва, Зеленоград


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru