Вы находитесь на странице: 1из 9

Profª Rosane de Fátima Aparecida da Silva Miguel

Etec Profª Helcy M. M. Aguiar


Curso Técnico em Informática

Desenvolvimento de Software

QuickReport

1
Profª Rosane de Fátima Aparecida da Silva Miguel
Profª Rosane de Fátima Aparecida da Silva Miguel

2
Profª Rosane de Fátima Aparecida da Silva Miguel

Usando o QuickReport

Implementar o recurso de Impressão no DELPHI é uma tarefa fácil, tendo em vista que ele
possui uma grande quantidade de componentes, caixas de diálogo, funções e ferramentas
relacionadas a Impressão.

O QuickReport permite que você projete visualmente Relatórios. Você constrói relatórios
com bandas, adicionando títulos, cabeçalhos e rodapés de página, detalhes, sumários,
cabeçalhos e rodapés de grupo, etc. O QuickReport possui um conjunto de componentes
nativos que permite ao desenvolvedor desenhar relatórios dentro de um Form do Delphi.
Estes componentes executam toda a tarefa de vizualização e impressão de relatórios. Os
relatórios podem ser tão complexos e sofisticados quanto for necessário.

COMPONENTE: DESCRIÇÃO:
Exibe uma caixa de diálogo padrão Imprimir, onde o usuário
PrintDialog poderá escolher qual impressora quer imprimir, o número de
cópias, etc.
Exibe a caixa de diálogo Configurar Impressora para que o
PrintSetupDialog usuário configure a impressora antes de imprimir. Também pode
ser chamada a partir da caixa de diálogo Imprimir.

Os Componentes do QuickReport

O DELPHI possui uma página na sua paleta de componentes chamada QReport. Nesta
página está uma série de componentes relativos à criação de Relatórios baseados em
tabelas de um banco de dados.

Para usar os componentes do QReport você terá que adicionar um formulário em branco à
sua aplicação, em seguida inserir neste formulário o componente QuickReport. Desta
forma, o formulário se tornará um Formulário de Relatório; ligar o componente QuickReport
à origem de dados através da sua propriedade de DataSet, inserir bandas no formulário, e
dentro delas colocar os componentes relativos a dados. Finalmente, para imprimir o
relatório, executar os Métodos Preview ou Print.

A grande vantagem do QuickReport é a forma de criar um relatório, ela é muito similar à


criação das janelas de uma aplicação. Ou seja, você cria um relatório com o QuickReport
da mesma maneira que uma janela no DELPHI, visualmente.

3
Profª Rosane de Fátima Aparecida da Silva Miguel
Componentes da página QReport:

COMPONENTE: DESCRIÇÃO:
É o principal componente na execução da impressão. Transforma
QuickReport
um formulário comum em um formulário de relatório.
Usado para criar qualquer tipo de relatório Master/Detail (umpara-
QRSubDetail
vários).
Um relatório é construído em Bandas (regiões). Estas regiões
QRBand
podem ser: cabeçalho, detalhes, rodapé, etc.
Se você tem Bandas com componentes expandidos movidos
QRChildBand para baixo adequadamente, você pode criar uma banda fina e os
componentes que serão movidos nela.
Permite que se agrupe os registros em blocos, com pelo menos
QRGroup
uma característica em comum.
Mostra um texto no relatório. Normalmente é utilizado para
QRLabel
representar títulos, tais como Cabeçalho de Colunas.
Mostra o conteúdo de um determinado campo do DataSet
QRDBText
(Tabela ou Query). Também imprime campos Memo.
Avalia e imprime qualquer expressão QuickReport. Permite
QRExpr
também usar campos de banco de dados em expressões.
Exibe informações do sistema, tais como: data, hora, número de
QRSysData
página, título do relatório, etc.
Usado para imprimir um texto com múltiplas linhas. Normalmente
QRMemo
usado para áreas longas de texto estático.
Exibe um componente Memo do tipo RichText. Pode ser ligado a
QRRichText
um componente RichText no formulário e imprimir o conteúdo.
Tal qual QRRichText, só que para Campos de banco de dados
QRDBRichText
(Data-Aware).
Adiciona objetos de desenho (retângulo, circunferência, linhas
QRShape
horizontais e verticais) ao formulário.
QRImage Usado para mostrar uma imagem estática no relatório.
Usado para imprimir imagens armazenadas em Campos Binários
QRDBImage
(BLOB).
Possibilita que você crie seu próprio formulário de Preview
QRPreview
(Visualização) de impressão.
QRChart Liga os componentes TChart ou TDChart com oQuickReport.

4
Profª Rosane de Fátima Aparecida da Silva Miguel
Bandas de Dados

O QuickReport gera relatórios usando bandas. Você constrói seus relatórios adicionando o
componente TQRBand ( um tipo especial de TPanel ) ao TquickReport. Cada banda do seu
relatório possui uma finalidade diferente no resultado final. Um relatório pode ter várias
bandas de tipos diferentes e/ou iguais.

Os Tipos Possíveis de Bandas

Title : Representa o título do relatório. É impressa apenas uma vez durante todo o relatório:
no início da primeira página. Você pode ter várias bandas deste tipo: elas serão impressas
uma após a outra, no início da primeira página.

PageHeader : Essa banda é impressa uma vez a cada início de página. Para cada página
do relatório existe uma impressão de uma banda deste tipo. Na primeira página
esta banda também é impressa. Você pode ter várias bandas deste tipo no relatório,que
elas serão impressas uma após a outra automaticamente.ColumnHeader : Esta banda se
assemelha bastante com a PageHeader, com a únicadiferença de que ela é impressa no
topo de cada coluna, num relatório de váriascolunas na mesma página.

Detail : Esta banda é repetida para cada registro de dados do seu relatório. Usualmente
existe somente uma banda Detail em cada relatório, embora seja possível colocar mais de
uma.

PageFooter : A banda PageFooter é impressa no final de cada página do relatório.


Funciona como a PageHeader , com a diferença que é impressa embaixo da página.

Summary : É impressa na última página depois de todas as bandas de detalhe.

SubDetail : É um tipo de banda especial usada pelo componente TQRSubDetail. Serve


para efetuar relatórios Master / Detail. Não configure este tipo de banda manualmente.

GroupHeader : Este tipo de banda é usualmente usada para a agrupar valores ( em


relatórios Master/Detail ) e você pode efetuar um somatório em pequenos grupos de
valores, dependendo de uma certa condição.

GroupFooter : É um tipo que serve como finalizador para a banda GroupHeader.

Child : É um tipo especial de banda, usada pelo componente TQRChilBand. Não configure
este tipo manualmente.

Ordem de Impressão das Bandas

Não importa que ordem as banda aparecem em tempo de desenvolvimento no seu


relatório. Elas sempre aparecerão na ordem correta na hora da impressão. Vamos aqui
mostrar qual é a ordem seguida pelo QuickReport.

PageHeader (para todas as páginas) ÆTitle (primeira página) ÆColumnHeader (para todas
as colunas) ÆDetail (repetida para todos os registros principais do relatório) ÆSubDetail

5
Profª Rosane de Fátima Aparecida da Silva Miguel
(caso haja um) ÆSummary (última página) ÆPageFooter(para todas as páginas).

Exemplo de Relatório

Para exemplificar, criaremos um relatório utilizando o QuickReport:

1 Insira um Novo Formulário à aplicação.


2 Adicione um componente Table ao formulário, selecione DBDEMOS para
DatabaseName, COUNTRY.DB para TableName, e tabPaises para Name
3 Adicione ao formulário um componente QuickRep.
4 Configure a propriedade DataSet do componente QuickRep para tabPaises.
5 Expanda a propriedade Bands do QuickRep.
6 Configure para True as seguintes subpropriedades: HasDetail, HasSummary e
HasTitle.
7 Insira os componentes de acordo com a janela abaixo:

Configure as propriedades destes componentes da seguinte forma:

COMPONENTE: PROPIREDAE: CONFIGURANDO:


Caption Relatório
Tform1
Name frmRelatorio
Active True
DatabaseName DBDEMOS
Table1
Name tabPaises
TableName COUNTRY.DB
Bands.HasDetail True
Bands.HasSummary True
Bands.HasTitle True
QuickRep1
DataSet tabPaises
Name qrpRelatorio
Zoom 75
BandType rbTitle
Frame.Color clBack
QRBand1 Frame.DrawTop True
Frame.DrawBottom True
Name qrbCabecalho

6
Profª Rosane de Fátima Aparecida da Silva Miguel
BandType rbDetail
QRBand2
Name qrbDetalhes
BandType rbSummary
QRBand3
Name qrbRodape
Alignment taCenter
AlignToBand True
Caption PAÍSES DA AMÉRICA
QRLabel1 Font.Name Arial
Font.Size 12
Font.Style [fsBold]
Name qrlTitulo
Top 0

Caption País

Font.Style [fsBold]
QRLabel2 Left 7
Name qrlPais
Top 18
Caption Capital
Font.Style [fsBold]
QRLabel3 Left 135
Name qrlCapital
Top 18
Alignment tabLeftJustify
Caption População
Font.Style [fsBold]
QRLabel4
Left 245
Name qrlPopulacao
Top 18
Alignment tabLeftJustify
Caption Área
Font.Style [fsBold]
QRLabel5
Left 385
Name qrlArea
Top 18
Alignment tabLeftJustify
Caption Densidade
Font.Style [fsBold]
QRLabel6
Left 480
Name qrlDensidade
Top 18
AutoSize True
DataField Name
DataSet tabPaises
QRDBText1 Font.Name Arial
Left 7
Name qdbPais
Top 1
AutoSize True

7
Profª Rosane de Fátima Aparecida da Silva Miguel
DataField Capital
DataSet tabPaises
QRDBText2 Font.Name Arial
Left 135
Name qdbCapital
Top 1

Alignment taRightJustify
AutoSize True
DataField Population
DataSet TabPaises
QRDBText3 Font.Name Arial
Left 245
Mask ##,###.###
Name QdbPopulacao
Top 1
Alignment taRightJustify
AutoSize True
DataField Area
DataSet TabPaises
QRDBText4 Font.Name Arial
Left 385
Mask #,###.###
Name QdbArea
Top 1
Alignment TaRightJustify
AlignToBand True
AutoSize True
Expression TabPaises.Population /
QRExpr1 tabPaises.Area
Font.Name Arial
Mask #0.00
Name QreDensidade
Top 1
Caption População Total
Font.Name Arial
Font.Style [fsBold]
QRLabel7
Left 135
Name QrlPopTotal
Top 5
Alignment TaRightJustify
AutoSize True
Expression SUM(tabPaises.Populatio
n)
Font.Name Arial
QRExpr2 Font.Style [fsBold]
Left 251
Mask #,###.###
Master qrpRelatorio
Name qrePopTotal

8
Profª Rosane de Fátima Aparecida da Silva Miguel
Top 5

Clique com o botão direito do mouse sobre o componente QuickRep e escolha a


opção Preview no SpeedMenu que a janela de visualização será exibida.

Вам также может понравиться