fpc 2.6.4

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

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

Re: fpc 2.6.4

Сообщение Дож » 25.03.2014 15:38:58

Ага, по принципу у меня работает всё что надо, что не работает мне не надо...

С такой жизненной позицией вообще не нужно было бы следить за развитием fpc.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: fpc 2.6.4

Сообщение qivi » 25.03.2014 16:58:17

Дож писал(а):С такой жизненной позицией вообще не нужно было бы следить за развитием fpc.


Вот здесь не совсем Вас понял, я собственно интерпретировал в форме дружеского стёба Ваши слова... Что Вы имеете ввиду этим?

А если серъёзно, я только со строками в режиме ожидания уже ~год... этого мало? Мне не важно каие там стоят версии что на FPC, что на Lazaruse, если бы всё время не находится в состоянии ожидания некоторых "не существенных" вещей, я бы даже не вспоминал когда там релизы, не то что интересовался тем, что происходит в проекте, какие обновления произошли в SVN и т. д. Писать код всё время спотыкаясь о несогласованность двух проектов, об несоответствие развития современных ОС, писать с оглядкой на костыли как норму или просто зная, что рано или поздно, придётся возвращаться к этому и перекрыживать, - это не то что бы непреодолимая проблема, но это точно не сильная сторона средств разработки. Поэтому задержка выхода релиза FPC ветки, что разрабатывается уже ~3 года (если не ошибаюсь) и содержит "незначительные изменения"... когда от проекта Lazarus ни слово не сказано об официальной позиции в части поддержки этих "незначительных изменений"... да возможно я в чём то не прав, не до конца объективен, не вижу всей поляны, - но в одном я точно уверен, такая схема развития взаимосвязанных проектов губит их же самих.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: fpc 2.6.4

Сообщение Cheb » 30.06.2014 16:28:16

но в одном я точно уверен, такая схема развития взаимосвязанных проектов губит их же самих.

Ну, фри паскаль отродясь был языком - слоупоком, но мне это не мешало его любить и использовать... для хобби-проектов или утилит командной строки под Линукс.
А для кого-то отсутствие возможности использовать юникодные имена файлов под Виндовс - и неизвестно, когда будет - становится причиной для выбора против. Иначе, например, заказчик не поймёт. Или просто позор в наши дни писать неюникодные проги.

Так что вредит очень сильно. :x
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: fpc 2.6.4

Сообщение hinst » 30.06.2014 22:31:22

Cheb писал(а):А для кого-то отсутствие возможности использовать юникодные имена файлов под Виндовс


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

Re: fpc 2.6.4

Сообщение Cheb » 01.07.2014 00:46:35

А где такая возможность отсутствует?


Код: Выделить всё
constructor TFileStream.Create(const AFileName: string; Mode: Word);

Или скажете, string под виндовс - это не алиас для AnsiString ?
И опа, все файловая часть RTL прибита к 8-битной кодировке виндовс.
Что будет если прогой, скомпилённой на фпц, захочет воспользоваться Вася Пупкин, задавшийсебе имя типа "/人◕ ‿‿ ◕人\" ? Такое даже Вынь XP позволяет с лёгкостью.
Я отвечу, что. Прога полезет сохранять файл в домашнюю папку пользователя, как положено, и сразу лососнёт тунца. Потому что путь к My Documents содержит символы, непредставимые в 8-битной кодировке.

Вывод: программы для виндовс, созданные посредством Free Pascal - НЕПОЛНОЦЕННЫЕ. Потому что могут читать не все файлы, а только те, имена которых соответствуют доисторическим стандартам Вин 98. Что даже близко не гарантированно в реальной жизни.

Это истинно для последних... Так, когда там XP вышла? -- 12 лет.

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

Доказательство:
Код: Выделить всё
{$mode objfpc}
{$longstrings on}
{$codepage utf-8} //говорит компилятору в какой кодировке исходники
program t;
uses windows;
var
  s: string;
  w: WideString;   
begin
  s:= 'Абв /人◕ ‿‿ ◕人\';
  w:= s;
  MessageBoxW(0, @w[1], '1', MB_OK); //Выдаёт "Абв ??? ?? ???"
  w:= 'Абв /人◕ ‿‿ ◕人\';
  MessageBoxW(0, @w[1], '2',  MB_OK); //Выдаёт строку в исходном виде
end.   
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: fpc 2.6.4

Сообщение sign » 01.07.2014 05:45:59

Что вам можно ответить...
Следите за изменениями и будет вам счастье.
Код: Выделить всё
uses LazUTF8Classes, LazHelpIntf;

procedure TForm1.Button4Click(Sender: TObject);
var F: TFileStreamUTF8;
    S: String;
begin
  S := FilenameToURLPath('D:\Документы\Пример.txt');
  F := TFileStreamUTF8.Create(S, fmOpenReadWrite);
  F.Free;
end;
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: fpc 2.6.4

Сообщение Cheb » 01.07.2014 11:35:36

Спасибо, посмотрю. Это было бы полезно.
Дело в том, что я практически не использую лазарус (только как редактор кода или в маленьких проектиках)
Для компиляции мой программы достаточно FPC, не хотелось бы добавлять зависимость от лазаряи. Вероятно, скопипащу оттуда нужные мне классы и переделаю на WideString, т.к. моя программа уже заточена под этот тип.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: fpc 2.6.4

Сообщение Tango » 11.08.2014 15:27:00

LazUTF8Classes, ещё один костыль. А можно ножками, ножками??
У меня проект с прозрачной компиляцией в Лазаре и Делфи, со всеми этими UTF8Length, UTF8Pos, я теряю объём не разделённого кода.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30

Пред.

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

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

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

Рейтинг@Mail.ru