Переменные в LAZREPORT

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

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

Переменные в LAZREPORT

Сообщение Luxor » 01.07.2013 11:56:42

Как мне программно создать переменную в lazreport?
Есть массив в виде [имя переменной, значение переменной]
Надо, чтобы я отобразив поле в отчете - мог вывести в него значение переменной. (по такому же принципу, как отображение поля базы данных). Как правильно создавать переменные программно?
Luxor
новенький
 
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43

Re: Переменные в LAZREPORT

Сообщение SeZuka » 02.07.2013 08:13:28

Используй событие OnGetValue, в него передается имя переменной, обратно возвращаешь ее значение.
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: Переменные в LAZREPORT

Сообщение alexs » 02.07.2013 15:57:04

frValues['имя переменной']:=значение переменной.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Переменные в LAZREPORT

Сообщение Luxor » 03.07.2013 14:02:41

alexs писал(а):frValues['имя переменной']:=значение переменной.

Чего-то не получается...
Делаю так:
Код: Выделить всё
DM.frReport1.Variables.Add('CAT_01');

затем
Код: Выделить всё
if FrmEnterParamsReport.Components[m] is TDateEdit then
                begin
                  Params.Items[j].Value :=
                    (FrmEnterParamsReport.Components[m] as TDateEdit).Text;
                  DM.frReport1.Variables.Add(' '+Params.Items[j].Name);
//? здесь присваивать значение?
                end;

Получается список переменных
Теперь надо присвоить значения этим переменным. Я так понимаю это надо делать после того, как добавили переменную.
Как присвоить значение?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Luxor
новенький
 
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43

Re: Переменные в LAZREPORT

Сообщение SeZuka » 03.07.2013 15:42:01

Код: Выделить всё
procedure TDM.frReport1GetValue(const ParName: String; var ParValue: Variant);
begin
  ParValue := Params.Values[ParName];
end;
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: Переменные в LAZREPORT

Сообщение Luxor » 06.07.2013 18:20:33

Спасибо. Всё заработало.
Luxor
новенький
 
Сообщения: 72
Зарегистрирован: 10.06.2010 19:30:43


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru