Цитата:
Сообщение от MaiX
А как с помощью Rave взять какое нить значение переменной "х" из программы и вывести это значение в отчете:
|
Есть несколько способов сделать это. Приведу два из них.
1. Использовать компонент
TRvCustomConnection. Он работает наподобие других компонентов соединения с данными, но управлять строками отчета придется вручную (события
OnGetCols,
OnGetRows - читай документацию к Rave).
2. Непосредственно изменять свойства объектов, имеющихся в отчете. Для работы с проектом и его объектами реализовано несколько классов -
TRaveProjectManager,
TRaveReport,
TRavePage и т. д.
В общем алгоритм такой:
- Активируем отчет (TRvProject.SelectReport)
- Получаем доступ к нужному объекту в отчете (TRaveProjectManager.FindRaveComponent)
- Меняем свойства нужного объекта
Пример.
- создаем новый отчет в Rave Designer;
- кидаем на страницу компонент Text (вкладка Standart);
- сохраняем проект отчета;
- кидаем на форму необходимые компоненты (TRvProject, TRvSystem и т. д.), связываем с сохраненным файлом, делаем необходимые настройки;
- пишем следующий код:
Код:
...
uses ..., RvClass, RvProj, RvCsStd;
...
var RaveComponent : TRaveComponent;
...
begin
with Form1 do
begin
//Активируем отчет "Report1"
RvProject1.SelectReport('Report1',true);
//Получаем доступ к компоненту "Text1", который находится на 1-й странице
RaveComponent :=
RvProject1.ProjMan.FindRaveComponent('Text1',
RvProject1.ProjMan.ActiveReport.FirstPage);
//Меняем свойство текст компонента "Text1"
(RaveComponent as TRaveText).Text := 'New text';
//запускаем отчет
RvProject1.Execute;
end; //with Form1
end;
Свойства объектов отчета можно посмотреть в инспекторе объектов в Rave Designer.
Думаю достаточно понятно все изложил ))