Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
QuickReport
O QuickReport foi desenvolvido e é mantido pela empresa QuSoft (www.qusoft.com). Na versão 7 do Delphi, o QuickReport deixou de ser a
ferramenta padrão para geração de relatórios, dando lugar ao Rave Reports. Apesar de não estar instalado por padrão na IDE do Delphi, o
QuickReport continua sendo distribuído com a instalação do Delphi.
O QuickRep funciona como um container para os demais componentes da paleta QReport. Este capítulo apresenta os componentes e suas
principais características e propriedades.
Neste capítulo conheceremos na prática os componentes da paleta QReport. Faremos alguns exemplos de relatórios sem acesso a banco de
dados, a fim de mostrar algumas funcionalidades disponíveis nos componentes padrões do QuickReport.
Figura 3. Relatórios com dados oriundos de arquivos texto
Em 99% dos casos, relatórios são utilizados para imprimir dados armazenados em tabelas de banco de dados. Neste capítulo abordaremos a
criação de relatórios com QuickReport para acessar e trazer dados a partir de uma tabela do banco. Faremos alguns exemplos de relatórios
com acesso a banco de dados, utilizando as tecnologias BDE (Borland Database Engine) e dbExpress. Em todos os exemplos e exercícios
deste capítulo utilizaremos banco de dados InterBase e arquivos XML, que acompanham a instalação do Delphi.
Neste capítulo veremos como criar relatórios para imprimir dados agrupados a partir de um ou mais critérios. Por exemplo, você pode listar
todos os clientes cadastrados no sistema, agrupando os registros de acordo com a cidade onde moram.
Figura 5. Trabalhando com relatórios agrupados no QuickReport
Relatórios mestre/detalhe são usados para imprimir registros relacionados de duas ou mais tabelas. Por exemplo, você pode imprimir todos
os pedidos com seus respectivos itens, onde as informações do pedido seriam as informações mestre, enquanto que os itens seriam o
detalhe.
Neste capítulo veremos algumas técnicas de formatação dos relatórios criados com QuickReport. Normalmente os relatórios de um sistema
precisam seguir um padrão de layout, isso é, devem ser construídos sob um mesmo layout base. Por exemplo, alguns relatórios precisam
imprimir o logotipo da empresa na banda título, como também a data/hora da impressão, número de páginas etc. Você pode criar um
relatório base, com todos os componentes e configurações que serão comuns a todos os relatórios do sistema, e criar os novos relatórios
como descendentes do relatório base, o que chamamos no Delphi de herança visual de formulários.
Figura 7. Relatório zebrado e herança visual com relatórios
Neste capítulo veremos algumas das técnicas disponíveis no componente QRExpr para a criação de expressões em relatórios QuickReport.
Além do QRExpr, o QuickReport possibilita o uso de expressões nos componentes QRExprMemo e QRGroup, a partir da propriedade
Expression. As expressões podem ser usadas para manipular campos de banco de dados, como também para formatações mais avançadas.
As sintaxes utilizadas nas expressões são muito parecidas com o Object Pascal. Uma expressão suporta os tipos boolean, integer, float ou
string.
Neste capítulo veremos como fazer a impressão de dois relatórios desenvolvidos com QuickReport ao mesmo tempo, isso é, imprimir um
relatório atrás do outro em uma única operação. Por exemplo, digamos que você precise imprimir um relatório analítico de vendas e precise
analisar os valores totais gerados por essas vendas a partir de um relatório sintético. Você pode fazer a impressão do relatório sintético logo
após o término do relatório analítico das vendas.
Figura 9. Unindo dois relatórios em um
O QuickReport trás um visualizador de relatórios por padrão, quando invocamos o método Preview do QuickRep. Neste capítulo veremos
como criar nosso próprio visualizador de relatórios. Ganharemos várias vantagens ao criar um visualizador personalizado para os relatórios,
entre elas: adição de novas funcionalidades, como zoom, tradução das opções disponíveis no visualizador para o português etc.
Neste capítulo mostraremos algumas dicas do QuickReport, como: “Alterar Caption e Hint do Preview” e “Criando rapidamente um relatório”.
O Rave Reports é desenvolvido e mantido pela empresa Nevrona Designs (www.nevrona.com). A partir do Delphi 7 o Rave Reports tornou-se
a ferramenta padrão para geração de relatórios pelos desenvolvedores Delphi. A Nevrona desenvolveu uma edição exclusiva para os produtos
Borland, o Rave Reports Borland Edition Version (Rave BEX). Apesar de ser distribuído junto ao Delphi a partir da versão 7, o Rave não é
uma ferramenta nova no mercado. Na verdade, o Rave é uma nova versão do Report Printer, ferramenta que está sendo mantida e
desenvolvida desde a primeira versão do Delphi.
O Rave Reports possui um ambiente totalmente visual para a criação de relatórios, o Rave Reports Visual Designer. A partir do Visual
Designer é possível criar relatórios standalone ou vinculados a uma aplicação Delphi. Relatórios standalone, acessam diretamente o banco
para selecionar os dados a serem impressos, independente de uma aplicação feita em Delphi, por exemplo. Nos exemplos deste módulo do
curso foi utilizada a versão 5.0.8 do Rave, que está para download no site da Borland, para usuários registrados. Você também pode utilizar a
versão que acompanha o Delphi 7 ou a versão Demo (5.1.3), que esta para download no site da Nevrona. Ou seja, você pode utilizar esse
curso em várias versões do Rave (inclusive a versão .NET, guardando é claro, algumas características).
Neste capítulo conheceremos na prática alguns componentes disponíveis na barra de ferramentas do Rave Visual Designer para criação de
relatórios. Faremos alguns exemplos de relatórios sem acesso a banco de dados, a fim de mostrar algumas funcionalidades disponíveis
através dos componentes padrões do Rave Reports.
Neste capítulo veremos exemplos de relatórios, utilizando o Rave Reports, que farão o acesso diretamente de um banco de dados. Todos os
exemplos deste capítulo acessam dados de um banco, a fim de mostrar algumas funcionalidades disponíveis através dos componentes e
objetos do Rave.
O Rave possui um conjunto de componentes para acesso a relatórios a partir de aplicações Delphi. Como o Rave possui uma versão para
Linux, esses componentes estão presentes tanto em aplicações VCL como em aplicações CLX. A instalação do Rave trás consigo o package
dclRave70.bpl. Esse pacote contém os componentes que estão instalados na paleta Rave na IDE do Delphi. Utilizando os componentes da
paleta Rave é possível acessar os relatórios presentes dentro de projetos Rave. Esses componentes permitem que possamos passar
parâmetros aos relatórios, como também manipular seus componentes a partir da aplicação Delphi.
Neste capítulo, veremos como construir relatórios e acessá-los a partir de uma aplicação Delphi. O Rave Reports permite que dados
armazenados e manipulados dentro de aplicações Delphi sejam enviados e impressos em relatórios de forma bastante simples.
Utilizando os componentes da paleta Rave, em conjunto com os objetos e componentes do Rave Visual Designer, temos total acesso e
controle sobre os relatórios criados.
Figura 6. Relatórios com dados oriundos de uma aplicação Delphi, com passagem de parâmetros
Capítulo 7. Construindo relatórios Mestre/Detalhe
Neste capítulo iremos abordar a criação de relatórios Mestre/Detalhe com Rave Reports. Faremos exemplos de relatórios de dois e três níveis,
onde faremos a chamada a esses relatórios a partir de aplicações Delphi. A manipulação e a chamada de relatórios Rave a partir de
aplicações Delphi não sofrem mudança alguma, isso é em um relatório Mestre/Detalhe o que muda é o layout do relatório no Rave Visual
Designer.
O Rave Reports possui a capacidade de exportar seus relatórios para diversos formatos de arquivos diferentes. Através de componentes da
paleta Rave é possível salvar um relatório criado com Rave Reports nos formatos HTML, PDF, RTF e TXT.
Existem várias maneiras de gerar esses formatos de arquivos para um relatório. Neste capítulo veremos como criar esses arquivos a partir de
relatórios criados no Rave Designer.
O Rave Reports permite que componentes do relatório sejam acessados a partir de uma aplicação Delphi. Bandas e campos, por exemplo,
podem ser acessados e terem suas propriedades alteradas utilizando código Delphi. Essa opção pode ser bastante útil, isso é, podemos usar
essa característica do Rave para alterar o comportamento de um determinado relatório em tempo de execução.
Figura 9. Acessando propriedades do Rave em tempo de execução
Neste capítulo veremos como criar um preview customizado para visualização e impressão de relatórios Rave Reports. O preview padrão do
Rave para visualização dos relatórios, trás todas as suas opções em inglês, além de não permitir que novas funcionalidades sejam
adicionadas a sua janela. Criando um preview customizado podemos traduzir todas as opções da janela para o português, além de colocar ou
retirar funcionalidades, de acordo com a necessidade do usuário.
Neste capítulo veremos o uso da linguagem de script Rave Language, para manipulação de eventos e componentes do relatório. Neste
capítulo foi utilizado o Rave Reports Borland Edition Extended 5.1.2. O trial dessa versão pode ser baixado no site da Nevrona em
www.nevrona.com/rave. A versão 5.0.8, que acompanha o Delphi também possuem suporte ao Rave Language, porém com uma estrutura
um pouco mais simples, podendo os exemplos mostrados neste capítulo não serem compatíveis com essas versões.
Capítulo 12. Utilizando parâmetros em relatórios Rave com Driver Data View
Veremos neste capítulo como manipular e definir parâmetros para relatórios criados com Rave Reports utilizando Driver Data View para
acesso direto ao banco de dados. O Driver Data View permite que relatórios Rave façam acesso e consultas diretamente no banco de dados.
Veremos como criar parâmetros e passar valores a eles, a partir de uma aplicação Delphi.
Neste capítulo, veremos como proteger e realizar o controle de acesso aos relatórios da aplicação, utilizando os objetos de segurança do
Rave Reports. O Rave possibilita, através de seus componentes de segurança, definir uma lista de usuários e senhas para especificar os
usuários que poderão visualizar e imprimir os relatórios do sistema. Podemos ainda utilizar uma tabela do banco de dados para armazenar e
verificar o usuário e a senha para validar o acesso ao relatório.
Figura 13. Controlando o acesso com usuário e senha para os relatórios Rave
Neste capítulo mostraremos algumas dicas do Rave, como: “Instalar novos componentes no Rave Designer”, “Importando e Exportando
relatórios Rave”, “Acesso ao Rave Designer em tempo de execução pelo usuário final” entre outras.
QuickReports
Rave Reports
Vídeo Aula 28 - Instalando uma nova versão do Rave, conhecendo seus componentes e o Rave Visual Designer
Mostra como instalar uma versão do Rave e as características do Rave Visual Designer.
Crystal Reports
Vídeo Aula 57 - Acessando os objetos (fórmulas, parâmetros, tabelas, campos) do relatório com o Crpe
Mostra como acessar os objetos de um relatório (aplicações Win32 e .NET).
Vídeo Aula 58 - Relatórios Cross-Tab
Mostra como criar relatórios Cross-tab no Crystal Reports.
Vídeo Aula 59 - Formatações de relatórios (templates, hiperlinks, condições de campos, zebrados, TopN)
Mostra várias configurações de relatórios, como: criar templates, hiperlinks, relatórios zebrados etc.
Aplicação completa, utilizando relatórios com código de barras, stored procedures, TopN e muito mais.