Использование переменных из программы
Safonov
Воронеж
Привет, всем !
А можно ли в скрипте использовать переменные из основной программы ?
ЗЫ. подозреваю, что я не первый задаю этот вопрос, но ответ мне найти не удалось
А можно ли в скрипте использовать переменные из основной программы ?
ЗЫ. подозреваю, что я не первый задаю этот вопрос, но ответ мне найти не удалось
Комментарии
но можно передавать их через обработчик OnGetValue
_________________________________________________________
Как передать значение из программы в отчет?
Есть несколько способов. Первый: использовать глобальный объект frVariables
(описан в FR_Class):
frVariables := 10;
создает переменную My variable со значением 10. Это способ подходит, если в отчет нужно передать статическую информацию (т.е. не меняющуюся в течение построения отчета).
Второй способ: использовать событие TfrReport.OnGetValue. Этот способ подходит для передачи в отчет информации, которая может меняться от записи к записи:
CODE
procedure TForm1.frReport1GetValue(ParName: String; var ParValue: Variant);
begin
if ParName = 'MyField' then
ParValue := Table1MyField.Value;
end;
И, наконец, третий способ: программно заполнить список переменных.
CODE
with frReport1.Dictionary do
begin
Variables := 'CustomerData.Customers."CustNo"';
Variables := '10';
end;
(а можно ли передать значение из отчета обратно в программу?)
Можно - используйте объект frVariables. Если в отчете написать в скрипте
одного из объектов:
MyVariable := 10
то в программе значение MyVariable можно достать так:
v := frVariables;
___________________________________________________________
Delphi
frxReport1.Variables := '100';
Script
begin
s := <MYVAR>;
ShowMessage(s);
end;
В документации все это очень подробно описано.