Trabalhando com parâmetros no Rave Report

Por Marcos P. Gomes

Quando utilizamos o Quick Report torna-se fácil acessar nossas variáveis, pois os componentes do Quick Report interagem diretamente com o nosso código Delphi. Já no Rave Report não é passível acessar uma variável que foi declarada dentro do nosso projeto Delphi.

Calma, não fique apavorado. Para contornar essa dificuldade, assim como no Crystal Report, o Rave Report nos disponibiliza um recurso muito legal. Devemos passar esse valor como parâmetro.

Caso prático

Imagine que temos uma variável global em nosso sistema, onde é gravada a versão do sistema e nos relatórios você tem que imprimir o número da versão ou seja temos que imprimir o conteúdo dessa variável que foi declara lá dentro do projeto Delphi.

O conteúdo dessa variável deve ser passado como parâmetro na hora de imprimir o relatório e o Rave “enxerga” essa variável como se fosse uma variável interna dele.

No Delphi

Crie uma nova aplicação e deixe-a conforme a figura abaixo.

Agora dê um duplo clique no RvProject e o Rave Visual Design será aberto, na guia Report, selecione o componente Region, dimensione ele de forma que ocupe toda a área que será impressa.

No Tree Panel em Report Library e escolha o relatório Report1, após isso clique em Parameters no Object Inspector  digite o nome de nosso parâmetro que será Versao

Adicione um Band Component e marque a opção Body Header que esta localizada na opção Band Style.

Adicione um DataText e clique na opção DataField, no Project Parameters selecione o parâmetro que acabamos de criar que foi o versão, após selecionar clique em Insert Parameter

O Resultado final será conforme a figura abaixo.

Salve seu projeto, como Project1 mesmo, agora volte lá no Delphi e no RvProject associe a propriedade ProjectFile ao projeto que acabamos de criar

Adicione o seguinte código no Button.

procedure      TForm1.Button1Click(Sender: TObject);
begin
  //Seta o Parametro versão com o conteúdo do Label1
  RvProject1.SetParam('Versao',Label1.Caption);

  //Executa o relatorio
  RvProject1.ExecuteReport('Report1');
end;

Agora é só compilar, e testar e nosso resultado final será semelhante a imagem abaixo.


Preview do Rave com o Valor do parâmetro que foi recebido

 
Faça download desse exemplo

Sobre o Autor

Marcos P. Gomes trabalha como desenvolvedor de sistemas em uma empresa do ramo automobilístico, desenvolve sistemas em diversas linguagens e é um dos fundadores do site http://www.delphibr.com.br.

Também faz parte do grupo de moderadores da lista de discussão lista-delphi@yahoogrupos.com.br
Pode ser contatado pelo e-mail marcos@delphibr.com.br.

COMENTÁRIOS
Danilo Lorenzi - 10/09/2003 - 17:58:43
Sógostaria de agradecer o Getting Started! Muito últil para poder me virar a partir daqui.
................................................
Andr - 11/09/2003 - 13:50:25
São dicas como esta que a comunidade delphi se mostra unidade e com o mesmo objetivo. Obrigado pelo artigo, vc sabe exatamente o que é necessírio.
................................................
Wagner Chiaparini R. - 12/09/2003 - 07:56:21
Marcos adorei este artigo, pois vei no momento exato em que estou postando os relatórios no sistema da empresa, cada vez fico mais surpreso com esta incr?vel ferramenta.
................................................
JoSóLuiz - 08/10/2003 - 23:43:10
O Rave me parece realmente promissor e
estou migrando para ele. Como ainda não domino bem a forma de desenhar relatórios atrav?s de bandas, gostaria que tivesse um exemplo de relatório escrito manualmente (atrav?s de codificação) com banco de dados.

Grato é todos.
................................................
Paulo Herbert - 11/10/2003 - 23:32:04
ja estava procurando na net outro meio de fazer relatorio sem o Rave, por que não conseguia resouver o problema que o artigo mostrou. Obrigado, pela Dica.
................................................
Breno A. M. Pav - 31/10/2003 - 08:00:15
Muito show esse artigo, ajudou demais.
Valeu mesmo Marcos

................................................
Cl?udio Francisco - 01/02/2004 - 21:44:24
Muito bom esse tipo de parametro, mas como eu estou engatinhando no Rave, gostaria que alguem mostrasse um exemplo pra mim de como executar c?lculos entre clounas no Rave. Exemplo do tipo pegar duas colunas somar cada uma e depois pegar o resultado e dividir um pelo outro!!
Alguém pode me ajudar!!!!

claudio.seragro@jpessoa.com.br
................................................
Thiago - 26/02/2004 - 16:23:10
Muito loko o artigo soh gostaria de saber o seguinte, se eu imprimir em impressoras Matriciais ele vai respeitar as medidas exatas que eu coloquei??
Valew e parabens!!
................................................
Robertoc35br - 23/03/2004 - 11:29:23
última sua dica. consegui o que estava tentando a 3 dias. Mas gostaria de saber como usar o group do Rave, sem ter que agrupar atrav?s da Query.

robertoc35br@yahoo.com.br
................................................
TUTORIAL RAVE REPORT - 29/04/2004 - 20:53:10
Caros amigos,
estou fazendo 1 programa no DELPHI 7, e procuro artigos e apostilas, que falem sobre Rave Reports. Qto mais completo, melhor. Gostaria, pra quem tem esse material disponível, qualquer informação a respeito, que mandasse, por favor!!!!!!!

denerluiz@terra.com.br
................................................
C?sar Augusto - 29/06/2004 - 10:40:34
Qual é o seu e-mail p/ + informa??es?!?!?!

O meu ?: ttx@zipmail.com.br

Obrigado!!!
................................................
Cicero Lessa - 20/07/2004 - 18:57:25
A dica é muita boa, este exemplo deu para entender muito bem, agora de que forma eu poderia imprimir, por exemplo um cadastro de clientes, eu teria que declarar todos os campos, de que forma eu poderia fazer isto?

cicerolessa@hotmail.com
................................................
Adriano Cometti - 17/05/2005 - 11:12:20
esse artigo salvo meu dia, Valeu!
................................................
Fernanda - 09/06/2005 - 07:58:44
Este artigo, mesmo simples, resolveu muitos dos meus problemas.
Veio exatamente no momento das minhas necessidades.

Muito Obrigada
................................................
Jean - 29/06/2005 - 10:55:30
Parabéns, este é um artigo de grande utilidade.

Agrade
................................................
Janderson - 13/07/2005 - 09:41:00
Pra quem esté aprendendo a usar o Rave é uma última ajuda, agradeão pelo artugo foi grande utilidade
................................................
Marcus CEsar - 03/10/2005 - 12:55:06
Dica muito boa, para quem não sabe..

Value..
................................................
Carlos Oliveira - 30/12/2005 - 15:51:13
Marcos parabens pelo artigo, tbem estou migrando para rave só que ainda não consegui filtrar determinado parametro passado o rave não esta obedecendo(ou estou fazendo alguma coisa erra) precisava imprimir no rave um relatorio da ficha de um cliente determinado no meu select esta "select * from processo" onde uso para incluir, excluir e alterar e preciso imprimir a ficha deste processo ...se alguem puder me ajudar, ja passei o parametro para o rave com o codigo e criei o parametro no rave...
................................................
O Envio de Comentários está suspenso temporáriamente