LazReport: баги и вопросы...

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

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

Re: LazReport: баги и вопросы...

Сообщение xcod » 10.05.2012 13:45:52

Еще как вариант можно воспользоваться глобальной переменной
Код: Выделить всё
frVariables['ИмяПеременной'] := 'Ваше значение'

и тогда отпадет необходимость в
Затем в отчете добавляем переменные в Файл -> Список переменных...
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: LazReport: баги и вопросы...

Сообщение alaken » 18.10.2012 10:48:40

Столкнулся с проблемой вывода символов "[", "]" в отчете, выдает ошибку, пытается произвести вычисления.
В отчете обязательно должны фигурировать именно квадратные скобки.
Кто нибудь сталкивался с данной проблемой?
Буду рад любым идеям.
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: LazReport: баги и вопросы...

Сообщение xcod » 18.10.2012 11:53:16

можно подробней и желательно с примером
как Вы пытаетесь эти символы вывести в отчёте?
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: LazReport: баги и вопросы...

Сообщение alaken » 18.10.2012 12:13:49

Символы уже в текстовом файле.

Код: Выделить всё
FTextFile.LoadFromFile(  FileName  );
frRpt :=  TfrReport.Create( Nil );
frRpt.Pages.Add();
Page := frRpt.Pages[ frRpt.Pages.Count - 1 ];
frView := frCreateObject( gtMemo, '' );
frView.SetBounds( FPrintRect.Left, FPrintRect.Top, FPrintRect.Right, FPrintRect.Bottom );
( frView as TfrMemoView ).Font := FFont;
Page.Objects.Add( frView );

Count := FTextFile.Count - 1;

  for
    idx := 0
  to
    Count
  do
  begin

    if
      FTextFile.Strings[idx] <> ''
    then
      frView.Memo.Add( FTextFile.Strings[idx] )
    else
      frView.Memo.Add( ' ' ); 

  end;

frRpt.PrepareReport;



Добавлено спустя 38 минут 51 секунду:
Выход я нашел, но он ресурсоемкий.
Идея в том чтобы текст с квадратными ковычками подготовить и в место квадратных ковычек вписать переменные LazReport'а и обрабатывать эти переменные. Жуть.
Код: Выделить всё
  frRpt :=  TfrReport.Create( Nil );
  frRpt.OnGetValue := frRptGetValue;
  frRpt.DoublePass := True; 
...
for
    idx := 0
  to
    Count
  do
  begin

    if
      FTextFile.Strings[idx] <> ''
    then
      frView.Memo.Add
      (
        StringReplace
        (
          StringReplace
          (
            StringReplace
            (
              StringReplace
              (
                FTextFile.Strings[ idx ],
                '[',
                '#SBL#',
                [ rfReplaceAll ]
              ),
              ']',
              '#SBR#',
              [ rfReplaceAll ]
            ),
            '#SBL#',
            '[SBL]',
            [ rfReplaceAll ]
          ),
          '#SBR#',
          '[SBR]',
          [ rfReplaceAll ]
        )
      )
    else
      frView.Memo.Add( ' ' );
  end;


Код: Выделить всё
procedure TPrintStatement.frRptGetValue(const ParName: String; var ParValue: Variant);
begin

  if
    ParName = 'SBL'
  then
    ParValue := '[';

  if
    ParName = 'SBR'
  then
    ParValue := ']';

end;


Добавлено спустя 1 минуту 59 секунд:
И кстате
frRpt.DoublePass := True;
- не работает, TOTALPAGES = 0.
Тоже проблема.
Жду идей =)
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: LazReport: баги и вопросы...

Сообщение alexs » 18.10.2012 22:05:08

alaken
Лучше не ждать - а зарегистрировать проблему на багтрекере. Тогда её точно исправят.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: LazReport: баги и вопросы...

Сообщение jsa » 24.07.2019 10:33:41

Printer.SetPrinter

Не понимаю откуда вы берете такие свойства и методы у Printer я там в упор не вижу их.
jsa
постоялец
 
Сообщения: 261
Зарегистрирован: 28.11.2017 13:46:04

Re: LazReport: баги и вопросы...

Сообщение slyubez » 03.08.2019 13:07:47

Не понимаю откуда вы берете такие свойства и методы у Printer я там в упор не вижу их.

Вы бы хоть на дату сообщений посмотрели.
slyubez
постоялец
 
Сообщения: 173
Зарегистрирован: 31.03.2015 08:44:07

Re: LazReport: баги и вопросы...

Сообщение jsa » 09.08.2019 09:36:35

slyubez писал(а):Вы бы хоть на дату сообщений посмотрели.

Что вы хотите этим сказать?
В старых темах нет смысла писать, и задавать вопросы, нужно каждый раз новые плодить?
Какой срок устаревания темы? полгода? год? 3? 5? как определять?
jsa
постоялец
 
Сообщения: 261
Зарегистрирован: 28.11.2017 13:46:04

Re: LazReport: баги и вопросы...

Сообщение brick08 » 10.09.2019 10:26:19

возникла необходимость вставлять в отчет типа гиперссылки (например ссылку на файл на сетевом ресурсе). Кто-нибудь уже делал что-то подобное?
Как это проще реализовать? По OnClick по-моему не получится.
И еще вопрос, можно ли в пределах одного Memo показывать текст разными шрифтами?
brick08
новенький
 
Сообщения: 12
Зарегистрирован: 05.09.2016 15:39:08

Re: LazReport: баги и вопросы...

Сообщение alexs » 16.09.2019 09:56:59

1. Готовой гиперсылки нет - надо вручную у компоненты frReport обработать соответствующее событие.
2. Такого пока нет. Хотя через обработчик у frReport реализовать можно.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru