Тема: Отчеты
Показать сообщение отдельно
  #15  
Старый 13.05.2007, 15:01
ilang ilang вне форума
Новичок
 
Регистрация: 11.12.2006
Сообщения: 68
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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.

Думаю достаточно понятно все изложил ))
Ответить с цитированием