FPC 3.0 RC1 announced

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

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

Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

В Delphi string = UnicodeString кодировка фиксированная
kazalex
постоялец
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Сообщение kazalex »

hinst писал(а):В Delphi string = UnicodeString кодировка фиксированная

В FPC после {$modeswitch unicodestrings} тоже.
perlpunk
новенький
Сообщения: 90
Зарегистрирован: 26.09.2008 21:19:48

Сообщение perlpunk »

kazalex
постоялец
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Сообщение kazalex »

perlpunk писал(а):а как же мегафича

Классная мегафича :) Я пробовал около года или двух назад - впечатляет. Печалит лишь качество самого компилятора, не под JVM, а вообще. Я недавно с трудом и оговорками смог собрать код прекрасно собирающийся в Delphi 2006 (правда нужно заметить, что пол-года назад он не собирался совсем). Хочу уйти с дельфей, как основной рабочей платформы, но пока получается использовать FPC только для гуя, там сложного кода нет.
Сквозняк
энтузиаст
Сообщения: 1159
Зарегистрирован: 29.06.2006 22:08:32

Сообщение Сквозняк »

SSerge писал(а):
Cheb писал(а):Я совершенно не понимаю зачем это для {$mode objfpc}


Чтобы работал такой код:

Var s:UnicodeString;
s1:cp1251String;

...

s:='Строка на албанском языке';
s1:=' и строка на японском языке';

writeln(s+s1);


причем без изменения кода и перекомпиляции на ОС с разными локалями. Вкупе с извращением "cp866 консоль, cp1251 всё остальное, UTF16 файловая система". Это я про Windows если чсто.

Как раз в вин10 с этим уродским перекодированием звидец подкрался незаметно. Выбирай - или испортится writeln(s+s1); или перекодируется ansistring с путями при запуске внешнего бинарника. Всё вместе не работает, обязательно одна вещь перекодируется, выбирай чем пожертвовать. Хоть бери и удаляй эту дрянь из компилятора перед использованием.
Ответить