unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, RpDefine, RpRave;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    RvProject1: TRvProject;
    DateTimePicker1: TDateTimePicker;
    procedure FormDestroy(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  RvProject1.Open;
  RvProject1.GetReportList(Listbox1.Items,true);

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  RvProject1.Close;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var k:integer;
    zm: string;
begin
  k:=100; //zmienna liczbowa wyświetlana na wydruku 2
  zm:='Raport trzeci';

  //wypełnienie listy nazwami raportów dostepnych w pliku Project1.RAV
  //nazwa ta przypisana została własciwości ProjectFile obiektu TRvProject
  RvProject1.SelectReport(Listbox1.Items[Listbox1.ItemIndex],true);

  //przypisywanie parametrom wartości w zależności od wybranego raportu
  case ListBox1.ItemIndex of
   0:Rvproject1.SetParam('Tytul_raportu1','Raport pierwszy');
   1:Rvproject1.SetParam('licznik',InttoStr(k));
   2:Rvproject1.SetParam('Nazwa_rap',zm);
  end;
  //Tytul_raportu1 to parametr(zmienna), w którym przekazywany jest tekst do komponentu Report1

  //licznik to parametr(zmienna), w którym przekazywana jest liczba w postaci tekstu do komponentu Report1
  //parametr licznik wyswietlono pod katem 45 stopni

  //Nazwa_rap to parametr, w którym przekazywany jest tekst do komponentu Report2
  //w zmiennej zm typu string

  //uruchomienie raportu
  RvProject1.Execute;


end;

end.
