[Решено] Вопросы по Lazreport

Вопросы программирования и использования среды Lazarus.

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

Ответить
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

[Решено] Вопросы по Lazreport

Сообщение ronin »

Первый раз коснулся данной темы, есть пару вопросов:

1) Как русифицировать дизайнер?, в IDE всё ок, в режиме дизайна отчёт всё по русски, в рантайм дизайнер английский... посмотрел в папке с исходниками лежат файлы интернационализации, там есть lr_const.ru.po но как подключить po файл самостоятельно для дизайнера? почему он автоматом не цепляется?
2) Компонент TfrReport имеет свойство Dataset в котором устанавливается компонент TfrDBDataset, который привязан к нужному мне датасету... а как быть если мне надо импользовать несколько датасетов в отчёте? или можно не привязывать к конкретному датасету?

p.s. планирую сделать возможность в рантайме клепать отчёты, без использования среды... за нубские вопросы сильно не ругать, поиск ничего не выдал по данной теме
Последний раз редактировалось ronin 19.03.2013 20:47:39, всего редактировалось 3 раза.
xcod
постоялец
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Сообщение xcod »

1. http://wiki.lazarus.freepascal.org/Translations_/_i18n_/_localizations_for_programs
я использую способ "Compiling po files into the executable" описанный в конце статьи

2. по этому вопросу, мне непонятно, опиши решаемую задачу :)
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Сообщение ronin »

1. спасибо уже нашёл, читаю
2. надо в рантайме подключать датасеты к отчёту, перед загрузкой, я программно задаю, их в отчёте в дизайнере не видно, в смысле если бэнд пытаться на датасете сделать

Добавлено спустя 57 минут 17 секунд:
блин сделал всё по мануалу, на создание формы использую

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

...
TranslateUnitResourceStrings('LR_Desgn', PODirectory + 'lr_const.%s.po', Lang, FallbackLang);
...


а сейчас думаю, а можно так делать для внешних модулей, которые не в проекте? не работает данная конструкция, всё равно дизайнер lazreport на английском... :(

Добавлено спустя 25 минут 47 секунд:
1 вопрос решён, надо было указать lr_const а не LR_Desgn
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Сообщение ronin »

2 тоже, достаточно создать TfrDBDataset и дать ему имя, потом его видно в отчёте при привязке дата бэнда

p.s. зашёл на сайт FastReport и был приятно удивлён

Версия 4.13
+ добавлена поддержка Lazarus(бета версия) включено в редакцию Professional и выше
ronin
постоялец
Сообщения: 174
Зарегистрирован: 26.01.2010 23:14:46

Сообщение ronin »

Ещё наткнулся на неприятность, русифицировать дизайнер получилось, а вот работать с отчётом в нём не получается, при попытке поставить программно Title для отчёта, название пишет знаками вопроса, функцию UTF8ToSys пробовал не помогло, и не даёт сохранить файл, при сохранении выдаёт знаками вопросов в имени файла, хотя при загрузке файла я использую SysToUTF8 для пути, создаётся ощущение что сам дизайнер работает в системной кодировке в рантайме... хотя если открывать дизайнер в lazaruse всё ок, и буквы все по русски и сохранить отчёт с русским именем даёт... что я ещё не учёл? как заставить lazreport работать в UTF8?

вот код вызова дизайнера, на всякий случай

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

MainForm.frReport1.LoadFromFile(UTF8ToSys(ReportPath + TMenuItem(Sender).Caption)+'.lrf');
     MainForm.frReport1.Title:=TMenuItem(Sender).Caption;
     MainForm.frReport1.DesignReport;


Добавлено спустя 6 минут 29 секунд:
Отставить, забыл что ReportPath + TMenuItem(Sender).Caption) уже в UTF, лишний раз преобразовывал
YaroslavSh
новенький
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41

Сообщение YaroslavSh »

ronin писал(а): русифицировать дизайнер получилось

Добрый день, понимаю, что прошло много лет но все же... Не могли бы вы подробно описать процесс русификации Lazreport. Не совсем понятно, как это правильно сделать. Заранее благодарю.
Ответить