Есть небольшая шабашка для знатоков Lazarus
Модератор: Модераторы
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
Есть небольшая шабашка для знатоков Lazarus
Добрый день.
Заранее извиняюсь перед модераторами, если нарушаю правила, размещая коммерческое сообщение, но я не нашел специального раздела типа "заказы".
Итак, мне нужно выполнить одну работу за небольшое вознаграждение:
есть каталог с lazarus 0.9.28, там установлены RxFPC, FIBLaz, все остальное - стандарт. Мне нужно
а) внести изменения в исходники так, чтобы все работало на основе кодировки WIN1251, без UTF8.
б) по возможности, оформить это как патч или diff-файл, чтобы можно было применять для более новых версий.
Проверять работу под другие операционные системы - не нужно, достаточно, чтобы работало под Windows.
Сроки не ограничиваю, плачу тысячу авансом + тысячу по завершении работы. Расчет лучше через Яндекс-Деньги или Альфа-карту, но можно и другими способами, нужно договариваться.
Кто возьмется - пишите сюда или на developer@tereshenkov.ru
Заранее спасибо.
Заранее извиняюсь перед модераторами, если нарушаю правила, размещая коммерческое сообщение, но я не нашел специального раздела типа "заказы".
Итак, мне нужно выполнить одну работу за небольшое вознаграждение:
есть каталог с lazarus 0.9.28, там установлены RxFPC, FIBLaz, все остальное - стандарт. Мне нужно
а) внести изменения в исходники так, чтобы все работало на основе кодировки WIN1251, без UTF8.
б) по возможности, оформить это как патч или diff-файл, чтобы можно было применять для более новых версий.
Проверять работу под другие операционные системы - не нужно, достаточно, чтобы работало под Windows.
Сроки не ограничиваю, плачу тысячу авансом + тысячу по завершении работы. Расчет лучше через Яндекс-Деньги или Альфа-карту, но можно и другими способами, нужно договариваться.
Кто возьмется - пишите сюда или на developer@tereshenkov.ru
Заранее спасибо.
NTFS писал(а):есть каталог с lazarus 0.9.28, там установлены RxFPC, FIBLaz, все остальное - стандарт. Мне нужно
а) внести изменения в исходники так, чтобы все работало на основе кодировки WIN1251, без UTF8.
сохранение/выгрузка данных в базу данных или файл в win1251?
NTFS писал(а):Я акцентирую задачу: внести изменения в исходники так, чтобы ВСЕ работало на основе кодировки WIN1251, без UTF8.
Т.е., чтобы нигде не осталось UTF8.
дай определение слову "нигде". что-то я сомневаюсь, что кто-нибудь захочет из LCL выскабливать UTF8
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
Нигде - значит нигде
Пустое множество.
Ну хорошо, упростим задачу. Нужно, чтобы программист, разрабатывающий прикладное приложение на Lazarus 0.9.28 под Windows, не думал о том, что есть какие-то кодировки, отличные от WIN1251. Никаких функций AnsiToUTF8, никаких Charset=UTF8. Никаких странных символов в файлах форм и исходных модулях. Ничего. Нигде.
Возможно, это и сложновато, но так я и не на халяву прошу сделать, а готов спонсировать эту работу, пусть и небольшой суммой.
Ну хорошо, упростим задачу. Нужно, чтобы программист, разрабатывающий прикладное приложение на Lazarus 0.9.28 под Windows, не думал о том, что есть какие-то кодировки, отличные от WIN1251. Никаких функций AnsiToUTF8, никаких Charset=UTF8. Никаких странных символов в файлах форм и исходных модулях. Ничего. Нигде.
Возможно, это и сложновато, но так я и не на халяву прошу сделать, а готов спонсировать эту работу, пусть и небольшой суммой.
Пусть сохраняет все исходные файлы проекта в кодировке WIN1251 и не парится.
для вознаграждения мой wmr: R769669127628 
т.е. код типа:
.FieldByName('MyField').AsString:='Привет';
Будет передаваться в БД в нужной кодировке.
а вот вывод в интерфейс не обойдешь
т.е. код типа:
.FieldByName('MyField').AsString:='Привет';
Будет передаваться в БД в нужной кодировке.
а вот вывод в интерфейс не обойдешь
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
Вы же понимаете, что это не поможет 
Например, мне нужно, чтобы следующий код работал без проблем:
Я уже подымал эту тему, мне надавали кучу советов, долго ковырялся, но не получилось - потому прошу помощи профессионалов.
Например, мне нужно, чтобы следующий код работал без проблем:
Код: Выделить всё
Form1.Memo1.Lines.LoadFromFile('any_file_in_win1251') ;
Я уже подымал эту тему, мне надавали кучу советов, долго ковырялся, но не получилось - потому прошу помощи профессионалов.
Код: Выделить всё
Form1.Memo1.Lines.LoadFromFile('any_file_in_win1251') ;ну так lcl придется переписывать.
могу предложить TurboDelphiExplorer
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
>могу предложить TurboDelphiExplorer
Спасибо, я очень активно его пользую, но Lazarus имеет два преимущества: исходники и развитие.
Собственно, я серьезные проекты пишу на Turbo, а утилиты сопровождения - на Lazarus.
>ну так lcl придется переписывать.
Так в том и задача.
Спасибо, я очень активно его пользую, но Lazarus имеет два преимущества: исходники и развитие.
Собственно, я серьезные проекты пишу на Turbo, а утилиты сопровождения - на Lazarus.
>ну так lcl придется переписывать.
Так в том и задача.
NTFS писал(а):Вы же понимаете, что это не поможет
Например, мне нужно, чтобы следующий код работал без проблем:Код: Выделить всё
Form1.Memo1.Lines.LoadFromFile('any_file_in_win1251') ;
Код: Выделить всё
unit
CrossCLUtils;
uses
{$ifdef FPC}
LConvEncoding
{$endif}
procedure StringsFromFile(st: TStrings; const FileName: AnsiString; const Enc : AnsiString='cp1251');
{$ifdef FPC}
var
c : TStringList;
begin
c:=TStringList.Create;
try
c.LoadFromFile(FileName);
st.Text:=ConvertEncoding(c.Text, Enc, 'utf8');
finally
c.Free;
end;
end;
{$else}
begin
st.LoadFromFile(fileName);
end;
{$endif}
пример использования:
Код: Выделить всё
StringsFromFile(Form1.Memo1.Lines, 'any_file_in_win1251');
так профессионалы и поступают
Добавлено спустя 13 минут 44 секунды:
но на самом деле, если ты действительно хочешь геморроя, то сделай так.
Открой win32defines.inc (он находится в lcl\interfaces\win32\)
внеси в конец этого файла следующие строчки:
Код: Выделить всё
{$DEFINE DisableWindowsUnicodeSupport}
{$UNDEF WindowsUnicodeSupport}
пересобери LCL.
Memo1.LoadFromFile('any_cp1251_file'); - работает без проблем...а вот насчёт остального, я гарантий не дам
-
NTFS
- постоялец
- Сообщения: 388
- Зарегистрирован: 05.11.2007 13:57:50
- Откуда: Краснодар
- Контактная информация:
win32defines я менял. Это помогает при создании нового проекта - но как только я пытаюсь прочитать сохраненный в win1251 файл формы или исходника, приходит пушной зверь 
В общем, камрады, задача описана, цена назначена. Кто хочет подработать - действуйте. Не думаю, что для этого нужно перебирать весь код Lazarus - скорее, исправить пару-тройку ключевых модулей.
Да, и, похоже, у нас разные понятия о профессионализме
Я стараюсь всячески избегать лишнего кодирования - это рутина, и отвлекает от сбора бабла за проекты.
В общем, камрады, задача описана, цена назначена. Кто хочет подработать - действуйте. Не думаю, что для этого нужно перебирать весь код Lazarus - скорее, исправить пару-тройку ключевых модулей.
Да, и, похоже, у нас разные понятия о профессионализме
NTFS писал(а):И? Никому не нужны две тысячи, или задача невыполнима?
