LazReport
Модератор: Модераторы
Проблема с экспортом в PDF через CAIRO решилась: поле Picture без картинки грохает программу с ошибкой. Поэтому если в базе нет картинки, я гружу картинку с изображением "нет изображения" и все нормально потом происходит дальше.
Кстати, никто не решил проблему с крупными шрифтами при экспорте cairo? Из-за шрифта текст залезает друг на друга... А текст динамически у меня собирается, я не могу заранее перевод строки расставить((
Кстати, никто не решил проблему с крупными шрифтами при экспорте cairo? Из-за шрифта текст залезает друг на друга... А текст динамически у меня собирается, я не могу заранее перевод строки расставить((
Господа, нужна помощь. Для работы с lrCodeReport мне понадобилось установить пакет Cairo, после чего Лазарь перестал запускаться - ругается на отсутствие разных DLL. Найдешь одну, пихнешь в каталог Лазаря - всё равно не пускается, мол, подай ему другую DLL. Наконец, остановился на либе с загадочным названием z.dll - нигде найти не могу. Может быть, подскажете, как правильно устанавливать такие пакеты?
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
http://w7site.ru/fpc/fbm/fbmanager-win3 ... 52.tar.bz2
В папке DLL все что нужно для работы cairo в win32
В папке DLL все что нужно для работы cairo в win32
alexs, большое спасибо. Жалко что этих либ нет в поставке Лазаря под форточки.
Вроде в целом разобрался с динамическим формированием отчета. Теперь могу обойтись без компонента lrCodeReport. Сейчас, занимаясь переделкой своего модуля с FR, наткнулся на еще один камень. Свойство Angle у TfrMemoView почему-то сделано типом byte, что не позволяет повернуть текст на 270 градусов - в моих программах этот угол применяется очень часто. Хочу сейчас поковырять исходники LR и подумать, что можно такое придумать. Однозначно понадобится менять тип свойства, а также искать, где и как там что отрисовывается. Можно, конечно, и с канвой поиграться, рисуя текст самому.
Нужен еще такой совет. Мне нужно вычислять ширину текста в объекте "Текст" для последующего автоуменьшения размера шрифта. Как лучше делать такие вещи?
Нужен еще такой совет. Мне нужно вычислять ширину текста в объекте "Текст" для последующего автоуменьшения размера шрифта. Как лучше делать такие вещи?
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
slyubez писал(а):Свойство Angle у TfrMemoView почему-то сделано типом byte, что не позволяет повернуть текст на 270 градусов
Это в принципе косяк. Надо в мантис запостить.
slyubez писал(а):Мне нужно вычислять ширину текста в объекте "Текст" для последующего автоуменьшения размера шрифта. Как лучше делать такие вещи?
А в чём сложность? На канвасе расчитать ширину текста... Главное знать параметры шрифта.
Это в принципе косяк. Надо в мантис запостить.
Если Вам не трудно - прошу запостить. У меня никак не проходит регистрация на багтрекере.
А в чём сложность? На канвасе расчитать ширину текста... Главное знать параметры шрифта.
То есть: мне надо взять канву страницы, задать ей фонт и воспользоваться функцией TextWidth? Так?
На Дельфи я использовал костыль: кидал на форму невидимый TLabel, задавал ему AutoSize и нужный шрифт, и при установке Caption этот Label у меня автоматом растягивался, после чего я вытаскивал его Width. В LCL такое не катит.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
slyubez писал(а):То есть: мне надо взять канву страницы, задать ей фонт и воспользоваться функцией TextWidth? Так?
Да
Добавлено спустя 17 минут 7 секунд:
slyubez писал(а):TfrMemoView почему-то сделано типом byte, что не позволяет повернуть текст на 270 градусов
Сейчас пересмотрел код. Там в принципе эта операция не получится. Мемо умеет себя рисовать либо горизонтально либо на с поворотом на 90 градусов. По другому никак. Тут надо хорошо доработать метод вывода текста.
alexs, спасибо. Сделал так. Сорцы тоже посмотрел и пришёл к такому же выводу. Если нетрудно, Вы не могли бы подсказать, в каком из модулей LR реализована именно отрисовка мемо под 0 и 90 градусов? Хочу попробовать поковырять - вдруг получится. Где находятся GetAngle и SetAngle, я уже нашел. А вот отрисовку на странице никак не найду.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
slyubez писал(а):в каком из модулей LR реализована именно отрисовка мемо под 0 и 90 градусов?
Код: Выделить всё
unit LR_Class;
...
procedure TfrCustomMemoView.ShowMemo;
...
if Angle <> 0 then
OutMemo90
else
OutMemo;
...- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
Нужна помощь по Lazreport. Проблема в следующем: на основе lazbarcodes сделал обертку для Lazreport для печати матричных 2d штрихкодов. На принтере печатается, проблема с экспортом в PDF, вместо штрихкода черное пятно. Я не селен в особенностях Lazreport, делал как говорится с божьей помощью по аналогии с frBarCodeObject, но последний экспортируется в PDF без проблем. Даже если я в методе Draw отключаю вывод штрихкода, всеравно черное пятно, т.е. проблема не в штрихкоде а в том что я видимо не умею "готовить" компонент под Lazreport. Времени разбираться нет, может кто-нибудь помочь?
Комопнент:
http://visual-t.ru/files/lrbarcode2d.zip
Тестовое приложение:
http://visual-t.ru/files/lr_datamatrix.zip
Сперва нужно установить lazbarcodes из lazarus_ccr, затем lrbarcode2d. После можно запускать тестовое приложение.
Комопнент:
http://visual-t.ru/files/lrbarcode2d.zip
Тестовое приложение:
http://visual-t.ru/files/lr_datamatrix.zip
Сперва нужно установить lazbarcodes из lazarus_ccr, затем lrbarcode2d. После можно запускать тестовое приложение.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Нормально экспортится.
Linux alexs.optorg.local 4.5.7-200.fc23.x86_64 #1 SMP Wed Jun 8 17:41:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Lazarus 1.7 r52481:52590M FPC 3.1.1 x86_64-linux-gtk 2
Linux alexs.optorg.local 4.5.7-200.fc23.x86_64 #1 SMP Wed Jun 8 17:41:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Lazarus 1.7 r52481:52590M FPC 3.1.1 x86_64-linux-gtk 2
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
alexs писал(а):Нормально экспортится.
Linux alexs.optorg.local 4.5.7-200.fc23.x86_64 #1 SMP Wed Jun 8 17:41:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Lazarus 1.7 r52481:52590M FPC 3.1.1 x86_64-linux-gtk 2
Странно, а у меня вот такая фигня:
http://visual-t.ru/files/22.pdf
