Relatório Simples com Rave Report

Por Marcos P. Gomes

Nesse pequeno artigo iremos mostrar de forma simples e objetiva como montar um relatório usando o Rave Report que foi incorporado a partir da versão 7 do Delphi

Em primeiro lugar, criaremos nossa conexão com o banco de dados. Adicione uma TQuery e configure as seguintes propriedades.

Objeto TQuery

DatabaseName

DbDemos

Name

QryClients

SQL

select * from clients

Após isso, vá até a guia Rave e adicione o componente RvQueryConnection. Esse componente é responsável pela troca dos dados entre os objetos de conexão com o banco de dados e os dados que serão impressos através do Rave, como você pode perceber o Rave trata os dados de forma diferente do Quick Report, pois o Quick Report acessava os dados diretamente através dos componentes de conexão (Ttable, TQuery, ...).

Agora configure as seguintes propriedades :

Objeto TRvQueryConnection

Name

RvQryClients

Query

qryClients

Agora devemos colocar o componente RvProject, esse componente é responsável pelo gerenciamento de todos os relatórios que estão em nosso projeto Rave (.RAV).

Dê um duplo clique nesse componente, isso fará com que o Rave abra sua área de Design para que possamos desenhar nosso relatório.


Ambiente Design do Rave Report

Agora dentro do Rave, Vá em File | New Data Object | Direct Data View e selecione o RvQryClients na área Active Data Connection, os itens que aparecem nessa área são as conexões que colocamos em nosso formulário do Delphi.

Isso fará com que seja adicionado mais um item na seção Data View Directory que se encontra no Tree Panel, nesse local ficará todas as conexões com as tabelas que serão usadas nesse relatório.


Tree Panel

Vá até a guia Report e adicione um componente chamado Region Component. Todas bandas devem estar obrigatoriamente dentro de um Region e esse Region deve ocupar toda a área de impressão.

Adicione o componente Band, clique em BandStyle e marque as opções Body Header, First (1) e New age (P).

Ainda dentro do Band1, na guia Standard, adicione três Text Component e altere o Text dos mesmos para Nome, Endereço, Cidade

Após isso, volte para a guia Report e adicione o componente DataBand, ligue a propriedade DataView ao DataView1.

Depois disso tudo nossas bandas já estão quase finalizadas o que resta é apenas adicionar os campos que deverão ser impressos.

Para isso, fique pressionado CTRL, clique no campo DataView1FIRST_NAME e arraste ele para dentro de nossa DataBand1, repita esse processo para o campo de endereço e cidade.

Selecione o Band1 e ligue a propriedade ControllerBand ao DataBand1 e nosso trabalho dentro do Rave está finalizado, teremos algo semelhante a figura abaixo:

Visão final de como deve ficar os objetos no Rave

Salve esse projeto como ListaRave.RAV e volte para o Delphi, faremos nossa aplicação Delphi iniciar a impressão desse relatório.

Dentro do Delphi, adicione um TButton e coloque a seguinte codificação :

  RvProject1.Execute;

No componente RvProject1, aponte a propriedade ProjectFile para o projeto Rave que acabamos de criar ListaRave.RAV.

Nosso aplicativo Delphi terá a seguinte aparência :

Aplicação Delphi

Conclusão

O Rave é um gerador de relatórios fantástico, onde podemos ter vários relatórios centralizados em um único projeto Rave.

Além disso, também podemos mandar nossos relatórios separados da aplicação ou podemos incorporar os relatórios no próprio executável.

Clique aqui e faça download desse sistema.

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
Renata - 17/04/2003 - 16:42:00
Legal! é bom que seja falado mais sobre este assunto (Rave) já que todos n?s ainda estamos cheios de dúvidas...
Mas seria legal um exemplo c/ um relatório com mais funcoes, algo com header, detail, footer, etc...
O que acham???

[]'s
................................................
Marcos P. Gomes - 17/04/2003 - 16:44:58
Em breve... estaremos disponibilizando mais material sobre o assunto...

Fiquem atentos :)


Marcos P. Gomes
Moderador - DelphiBR
................................................
Walter Felipe - Olin - 18/04/2003 - 21:08:59
Muito legal de sua parte disponibilizar algo em torno do RAVE, pois como muitos de nos somos oriundos do QuickReport fica um pouco difácil entender a funcionalidade desta nova ferramenta. Assim sendo dou o maior apoio tanto a você como a outros que venham é disponibilizar algum material sobre esta nova forma de gerar relatórios. Inclusive recomendo a aqueles que tenham conhecimento técnico suficiente que pensem quanto ao lançamento de um livro que aborde de forma prítica a manipulação do RAVE.
................................................
Hook me up - 19/04/2003 - 20:46:52
RAVE é perda de tempo.
................................................
Carlos Silveira - 22/04/2003 - 18:10:50
Não entendo porque ainda tem gente que perde tempo só pra denegrir o trabalho dos outros. Rave é perda de tempo? Pode ser, desde que você apresente argumentos plaus?veis que sustente sua idéia.

Meu amigo "Hook me up" seja um formador de opini?es e não apenas mais uma "maria vai com as outras".

Um debate saudúvel de pontos de vistas antagínico só agregar? novos valores e conhecimentos preciosos.

Vamos ser construtivos?
................................................
Marcos P. Gomes - 23/04/2003 - 10:21:37
O Carlos Silveira falou tudo, mas peão que não d? continuidade a esse tépico ("RAVE é perda de tempo").


Marcos P. Gomes
Moderador
................................................
Jackson - 23/04/2003 - 11:42:56
Otima iniciativa esta de iniciar sobre o assunto RAVE, fiz alguns testes mas ainda nao sei como faão para passar o valor de um Edit em um relatorio de dados que fiz do RAVE, por exemplo onde a pessoa possa digitar o titulo do relatorio.
Caso possam me ajudar..
................................................
Marcos P. Gomes - 23/04/2003 - 14:41:48
Jackson dúvidas tecnicas sobre o Rave, estamos respondendo na lista-delphi@yahoogrupos.com.br

Para se cadastra : lista-delphi-subscribe@yahoogrupos.com.br

Marcos P. Gomes
Moderador
................................................
Harlinton - 27/04/2003 - 09:35:25
Muito bom o exemplo sobre um relatório criado com o rave, eu faão minhas as palavras da Renata que solicitou algums outros exemplos com + fun??es e quem sabe até com a utilização do código de barra.
................................................
Ricardo Ferreira - 28/04/2003 - 10:41:22
Ao Sr. Jackson,

Bem, com relação a sua duvida de querer poder escrever a partir de um edit, o titulo de um relatório você pode proceder da seguinte forma:

Digamos que no seu relatório Rave, o label do titulo de chame 'TitRep'. Coloque um edit num form e um botão. no evento onclick deste botão coloque o seguinte:

procedure TForm1.Button1Click(Sender: TObject);
var
Pag: TRavePage;
Tit: TRaveText;
begin
with RvProj.ProjMan do
begin
Pag := FindRaveComponent ('Report1.Page1', nil) as TRavePage;
Tit := FindRaveComponent('TitRep', Pag) as TRaveText;
Tit.Text := Edit1.Text;
end;
end;

Onde, RvProj é o componente ReportProject, Pag é uma vari?vel que ir? representar a página do seu relatório e tit
será uma referáncia ao objeto text que reside dentro do relatório.

No Rave, não se pode acessar diretamente as insténcias dos objetos Rave, mas uma vez que eles estéo em mem?ria (Heap), podemos criar referáncias (ponteiros) pra eles. Desde que essas referáncias sejam do tipo requerido (Por isso o typecasting) no final da chamada a FindRaveComponent.

E declare as bibliotecas: RvClass, RvProj e RvCsStd na cl?usula uses da unit.

OK?
................................................
Poliana - 02/05/2003 - 14:54:33
J? foi publicado algum livro que fale sobre o Rave?
................................................
Poliana - 02/05/2003 - 14:55:02
J? foi publicado algum livro que fale sobre o Rave?
................................................
sandra - 02/05/2003 - 15:11:40
como usar em uma aplicação clx. Tentei fazer o mesmo que fiz numa aplicação normal, mas não funciona
................................................
Letécia - 02/05/2003 - 17:35:46
último o artigo, especialmente pra iniciantes como eu.
Agrade
................................................
Vargas - 05/05/2003 - 11:20:24
tem como criar um gerenciador de relatórios no RAVE, o report builder possibilita essa op?
................................................
Hermano Bessa - 11/05/2003 - 14:47:11
Tenho que fazer vários relatórios e já estou pesquisando vários dias sobre o R.A.V.E e não consigo fazer estes relatórios, portanto vou voltar para o QuickRep. Mais Agradeão assim mesmo.
................................................
Daniel - 14/05/2003 - 17:32:51
Não sei se porque estou começando a programação agora, mas gostei do Rave, só que tenho muitas duvidas. Mas acho que vale a pena.
................................................
Willians - 16/05/2003 - 15:16:59
Gostei muito do rave, mas gostaria de sabe como eu posso fazer uma conexão direta com rave utilazando componente do interbase ?
................................................
Daniel - 20/05/2003 - 12:21:59
Achei o Rave fantéstico, embora estou começando no desenvolvimentos de sistemas a pouco tempo, tenho certeza que é melhor que os geradores de relatórios das vers?es anteriores, até pelo fato do Rave ser independente do Projeto.
Agradeão todas os meus esclarecimentos de duvidas.
................................................
Ricardo Ferreira - 27/05/2003 - 12:37:52
Ao Sr. Julio,

Verifique se você colocou os nomes corretos dentro do projeto Rave. No meu exemplo. coloquei o nome do report como Report1, e a página dentro do report como Page1. Verifique tamb?m o nome do label que deve ser TitRep. Ok?

Dica.: No site do fabricante do Rave (Nevrona) tem excelentes tutoriais de como trabalhar com a ferramenta, bem como criar relatórios com ele.

www.nevrona.com
................................................
Julio - 27/05/2003 - 13:05:34
A Ricardo Pereira, obrigado pelo seu exemplo, mas nao esta dando certo, parece a mensagem "Access violation at address .... Read of address 00000000" = que pode estar acontecendo?
................................................
Julio - 27/05/2003 - 13:32:00
A Ricardo Pereira, obrigado pelo seu exemplo, mas nao esta dando certo, parece a mensagem "Access violation at address .... Read of address 00000000" = que pode estar acontecendo?
................................................
Julio - 27/05/2003 - 13:44:00
Me desculpa pelas muitas mensagens, mas parece que a velocidade da minha linha esta com problemas. Conferi os nomes e estao certos, mas nao tem nada a ver os nomes do DataViewRegion e DataViewTitleBand? Usando F7 aparece que o valor de Tit é nil, ta certo? Obrigado
................................................
Julio - 27/05/2003 - 13:47:02
Nao consigo ter acesso a www.nevrona.com, se for possivel se comunicar direto com julio.telot@umcc.cu, vou ficar grato. Obrigado
................................................
Carlos Eduardo - 27/05/2003 - 16:04:01
Gostaria de saber como fazer para conectar o RAVE com o banco de dados mysql?
................................................
Marcos P. Gomes - 28/05/2003 - 07:36:59
Pessoal esta ?rea não é para dúvidas !!! ? apenas para que você possa expressar sua opinião sobre o material que acabou de ver acima.

As dúvidas tecnicas estamos respondendo na lista-delphi@yahoogrupos.com.br

Para se cadastra : lista-delphi-subscribe@yahoogrupos.com.br

Marcos P. Gomes
Moderador
................................................
Esta merda não funci - 27/06/2003 - 14:24:21
Esse rave é perca de tempo, é mais rápido desenvover no canvas do q esquentar a cabeça com este componente ^_^

jb.holambra@uol.com.br
................................................
onival.torres@terra. - 15/07/2003 - 09:25:03
Considero o RAVE uma última ferramenta para impressão de relatórios. Possui um conjunto de classes, m?todos e propriedades fáceis de usar e aprender.
Estava querendo imprimir código de barras e usei a solução RAVE. é muito bom... não precisei instalar nenhum componente, esté tudo dentro do RAVE.
Acredito que nas próximas vers?es do Delphi O RAVE esteja mais maduro e que tenha mais exemplos para que possamos explorar toda a capacidade dessa ferramenta, que ao meu modo de ver é muito boa.
................................................
Rafael - 24/07/2003 - 18:05:59
Mudando de assunto, pois foi o primeiro artigo que encontrei um campo p/ comentério, se alguém pudesse me ajudar, gostaria de saber como indexar uma tabela por um campo LookUp no Delphi 7. já que a propriedade IndexFieldNames não aceita um campo LookUp. Obrigado.
................................................
jose eliton - 30/07/2003 - 15:20:58
G
................................................
Marcelo - 20/08/2003 - 16:51:05
Gostaria de obter algum tutorial, apostila ou livro que fale sobre Rave! Por favor me ajudem! Estou fazendo um relatórios porém não consigo imprimir os parametros data que foi usado para pesquisa no relatório. Como posso capturar estes parametros e jogar para o relatório no Rave?
................................................
Celso - 30/09/2003 - 16:48:19
? possível colocar o quick report no delphi 7?
................................................
Como Bicudo - 10/10/2003 - 19:37:33
Naum consigo gravar o projeto do rave em pasta espec?fica e sim so na raiz, porque ?
................................................
Rodrigo Sinegalia - 29/10/2003 - 14:38:12
o Rave é uma ferramenta rapidissíma, mas ainda um pouco obscura para quem acaba de sair do QR. é bem parecido com o Crystal Reports. última ferramenta, volto a frisar.
................................................
Viviane - 31/10/2003 - 11:34:29
Ola, fiz td o q vc falou mas o relatório esté aparecendo em branco.
Outra coisinha, sempre q eu chamar o project sempre tem q aparecer a op?ão de print e preview?? Não tem como deixar isso transparente ao usuário não?
Grata Viviane.
................................................
Viviane - 31/10/2003 - 11:40:26
Ola, fiz td o q vc falou mas o relatório esté aparecendo em branco.
Outra coisinha, sempre q eu chamar o project sempre tem q aparecer a op?ão de print e preview?? Não tem como deixar isso transparente ao usuário não?
Grata Viviane.
................................................
Sergio Falco Daniel - 19/11/2003 - 18:52:40
No Rave tem algum componente que faz grosstable se tem como eu configuro ele
................................................
Peterson Raydan Font - 11/12/2003 - 00:29:24
Muito boa essa introdução que foi dada ao Rave. Tenho um sistema e não consigo lincar os relatórios que desenvolvi no Rave com o projeto. No formulário adicionei os componentes RaveProject, RaveSystem e RVDataSetConection. Falta algum outro componente pra que eu possa relacionar o projeto com os relatorios?
................................................
CARLOS MORAES SILVEI - 08/03/2004 - 10:32:25
Para aqueles que não conseguem gravar um projeto, não sendo na raiz, a solução do problema é retirar o rave do delphi, e instalalo novamente.

cms_system@ig.com.br
................................................
Franklin - 02/08/2004 - 09:37:56
Na realidade o comentério q tenho a fazer é q é uma última ferramenta, mas tenho uma grand problema, quando seleciona para imprimir apenas uma pagina do relatorio, o rave imprime todo o relatório, alguem já teve esse problema ou sabe como solucinar.
Agradeão desde j
................................................
Priscila - 26/08/2004 - 14:22:58
Prezado Marcos;
Li o seu artigo sobre como gerar relatório Simples com Rave Report e lhe parabenizo pois é uma excelente referáncia para quem deseja conhecer esta ferramenta e desenvolver relatórios utilizando Rave Report.
No entanto, tenho necessidade em obter maiores informa??es sobre como conseguir baixar e instalar o programa Rave Report 5.0 Guide for Windows, como esté ilustrado no artigo e se h? uma versão freeware.
Atenciosamente,
Priscila Fernandes.
e-mail: cilarocha@hotmail.com

................................................
Priscila - 26/08/2004 - 14:24:00
Prezado Marcos;
Li o seu artigo sobre como gerar relatório Simples com Rave Report e lhe parabenizo pois é uma excelente referáncia para quem deseja conhecer esta ferramenta e desenvolver relatórios utilizando Rave Report.
No entanto, tenho necessidade em obter maiores informa??es sobre como conseguir baixar e instalar o programa Rave Report 5.0 Guide for Windows, como esté ilustrado no artigo e se h? uma versão freeware.
Atenciosamente,
Priscila Fernandes.
e-mail: cilarocha@hotmail.com

................................................
ROSANESANTOS2003@IG. - 22/11/2004 - 08:28:52
Preciso desenvolver um aplicativo que permita o cadastro completo e a consulta(via comandos SQL) As tabelas Funcion?rios e Dependentes além da geração de relatórios de impressão. O relatório deverá conter os campos das tabelas, data e hora do sistema e o número total de elementos cadastados.Será que vocês podem me dar uma orientação de como fazerá
Atenciosamente,
Rosane Santos
................................................
relatórios Customiza - 23/05/2005 - 11:22:44
Bom dia...

Gostaria de saber se com o RAVE é possível que um cliente monte um relatório customizado... isto ?... sem a necessidade de fazer os connections... tipo usuário mesmo...

Aguardo respostas...
Meu e-mail: ffpradella@gmail.com

Obrigada,
Fernanda
................................................
O Envio de Comentários está suspenso temporáriamente