Некорректно отображаются русские символы

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

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

Re: Некорректно отображаются русские символы

Сообщение SSerge » 13.02.2012 05:52:14

BamsikPotapov писал(а):Только сейчас допер. Что шрифты нужно положить в папку с моим exe файлом, а я их ложил в папку где fpc.exe. Все теперь идет, я думал что он их сразу прикрутит к файлу.


Ну, а мы вот только сейчас допёрли, как именно и что за шрифты вами были "установлены". Если бы сразу, четко и ясно, сказали, что нашли русскоязычные шрифты BGI, положили в папку с fpc.exe, получили нужный результат и потеряли результат, когда скопировали вашу откомпилированную программу в другую папку, ответили бы вам наверняка быстрее.

BamsikPotapov писал(а):И еще читал на других форумах что Graph модуль который идет с FPC нефига не Борландовский, а чисто FPC-шный, и он только по синтаксису похож на Борландовский. Это так или все пишут что не так это из-за того что все так говорят или это так и есть.


Так и есть. То есть, код модуля GRAPH с борландовским не совпадает. Но это не меняет методики работы этого модуля с аппаратурой напрямую, в обход средств операционной системы - т.е. использование запрещенного приема для оконных ОС.

BamsikPotapov писал(а):А как скомпилировать программу к примеру под Linux? Я это попытался сделать но появилась ошибка что не найден модуль System, в своем fpc я открыл папку модули и там папка для win32, значит мне туды нужно еще положить и для Linux, если так то как это сделать, или так просто компилировать под разные системы нельзя.


Ну вот. :) Мне все было любопытно, заинтересует вас наконец кроссплатформеннойсть для вашей программы или нет. Увы, заинтересовала. :)

Вот тут первые грабли: под линуксом программа, использующая unit GRAPH, может быть запущена только из чисто консольного режима работы и только из под пользователя root. Но и в этом случае дальнейшую работу никто не гарантирует.

Грабли номер 2: все нынешние линуксы имеют локаль Ru_ru.UTF-8, в коей символы русского алфавита в кодировке, где одному символу соответствует более одного байта. А rtl и ваш модуль graph вообще то unicode ни в каком виде не поддерживают. Еще отобразить текст возможно, а вот ввести с клавиатуры или из файла с системной кодировкой - будет большущей проблемой.

Кросс компиляция, как бы сказать, формально существует, но на порядок проще просто пересобрать проект непосредственно на машине под Linix. В ином случае вам надо заново собрать RTL и все остальные библиотеки компилятора с Target=LINUX, а также и сам кросс-компилятор собрать; что не так то просто. Если сильно хотите помаяться, можете взять готовый комплект - CodeTyphon, c http://www.pilotlogic.com, у него надстройка, которая и есть CodeTyphon, может в автоматическом режиме собирать кросс-компиляторы fpc и лазарусы для большинства распространённых операционных систем и процессоров.

И переходите наконец от fpc на lazarus; объективно говоря, там многие бытовые вещи сделать на порядок проще, чем на "базисной платформе".
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Некорректно отображаются русские символы

Сообщение BamsikPotapov » 13.02.2012 12:01:39

Я пробовал Lazarus, и че толку, куча текста. Чуть что случись с этими классами(к примеру я часто что-нибудь в тексте удаляю случайно когда забываю тач-пад отключить) и я окажусь в полном ступоре. Только из-за этого я и не пользуюсь Lazarus-ом. А где про них почитать не могу найти чтобы автор попроще написал.
На сколько мне понятно fpc кроссплатформенный, но его стандартные библиотеки плоховато работают под всеми поддерживаемыми им системами? А как в Lazarus рисовать, опять нужно какую-нибудь чудо библиотеку с описанием только на английском читать или просто? Сегодня попробую простую программу с модулем graph запустить на Linux и Mac OS. Ну и буду думать. Я просто никогда не лезу туда где ничего не понимаю.
Аватара пользователя
BamsikPotapov
новенький
 
Сообщения: 54
Зарегистрирован: 31.12.2011 19:30:39
Откуда: Меня в капусте нашли

Re: Некорректно отображаются русские символы

Сообщение SSerge » 13.02.2012 13:15:59

BamsikPotapov писал(а):А как в Lazarus рисовать, опять нужно какую-нибудь чудо библиотеку с описанием только на английском читать или просто?


Всё есть в стандартной библиотеке. Для самой простой реализации построений какой-то графики на форму кладется компонент TImage (вкладка Additional), от него получаете Canvas, и используя этот полученный дескриптор, рисуете.

Описание есть в книжке http://www.freepascal.ru/download/book/tutorial_fpc&lazarus.pdf

Если тут будет непонятно, принципы работы с графикой на формах можно заимствовать из любой нормально написанной книжки по Delphi.

BamsikPotapov писал(а):его стандартные библиотеки плоховато работают под всеми поддерживаемыми им системами?


Неверно. Некоторые библиотеки есть с сильной системной зависимостью, и их портирование под другие операционные системы ограничено, либо вообще отсутствует. GRAPHICS - системно зависимый модуль операционной системы DOS, строго говоря, не относящийся к стандартным. Все СТАНДАРТНЫЕ библиотеки реализованы правильно и корректно для разных операционных систем, хотя код может и не быть универсальным.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Пред.

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

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

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

Рейтинг@Mail.ru