apostila d7 modulo 5
DESCRIPTION
Apostilha com exemplo Quick ReportTRANSCRIPT
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
Apostila de Programao IV
Mdulo V
Fundao Educacional Machado de Assis
Escola Tcnica Machado de Assis
Curso Tcnico em Informtica
Prof. Jos Lus Schiavo
Santa Rosa, Maio de 2011.
_____________________________________________________________________________ Escola Tcnica Machado de Assis 1 Jos Lus Schiavo
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
SUMRIO
1 Criando Relatrios1.1 Introduo ao QuickReport 3
1.2 Usando o QuickReport 3
1.3 Os Componentes do QuickReport 4
1.4 Bandas de Dados 5
1.5 Os Tipos Possveis de Bandas 6
1.6 Ordem de Impresso das Bandas 7
_____________________________________________________________________________ Escola Tcnica Machado de Assis 2 Jos Lus Schiavo
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
1 Criando Relatrios
1.1 Introduo ao QuickReport
O QuickReport um conjunto de componentes Delphi concebidos para permitir a
criao de relatrios com rapidez e facilidade, possibilitando inclusive a visualizao
dos relatrios sem a necessidade de impresso o que evita o desperdcio de papel em
muitas situaes nas quais a impresso desnecessria, e ainda, exportar dados para
outros formatos de arquivo, tais como texto ASCII, valores separados por vrgulas
(CSV), Microsoft Excel, PDF, Rich Text e HTML.
O QuickReport escrito em Delphi e portanto, possui tambm compatibilidade com o
modelo Delphi para acesso a bancos de dados, permitido assim a criao de relatrios
a partir de dados com origem em qualquer formato ou padro de banco de dados,
sejam os padres nativos Paradox e dBase, os padres cliente/servidor como o
Interbase, Oracle, DB2, Informix, Sybase ou ainda, de qualquer fonte de dados
compatvel com ODBC.
1.2 - Usando o QuickReport
Implementar o recurso de Impresso no DELPHI uma tarefa fcil, tendo em vista que
ele possui uma grande quantidade de componentes, caixas de dilogo, funes e
ferramentas relacionadas a Impresso.
O QuickReport permite que voc projete visualmente Relatrios. Voc constri
relatrios com bandas, adicionando ttulos, cabealhos e rodaps de pgina, detalhes,
sumrios, cabealhos e rodaps de grupo, etc. O QuickReport possui um conjunto de
componentes nativos que permite ao desenvolvedor desenhar relatrios dentro de um
Form do Delphi. Estes componentes executam toda a tarefa de vizualizao e
impresso de relatrios. Os relatrios podem ser to complexos e sofisticados quanto
for necessrio.
_____________________________________________________________________________ Escola Tcnica Machado de Assis 3 Jos Lus Schiavo
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
A seguir so apresentados dois componentes da guia Dialogs do Delphi, responsveis
pela manipulao das caixas de dilogo padro para configurao de impressoras e
impresso de documentos:
COMPONENTE: DESCRIO:
PrintDialogExibe uma caixa de dilogo padro Imprimir, onde o usurio
poder escolher qual impressora quer imprimir, o nmero de
cpias, etc.
PrintSetupDialogExibe a caixa de dilogo Configurar Impressora para que o
usurio configure a impressora antes de imprimir. Tambm pode
ser chamada a partir da caixa de dilogo Imprimir.
1.3 - Os Componentes do QuickReport
O DELPHI possui uma pgina na sua paleta de componentes chamada QReport. Nesta
pgina est uma srie de componentes relativos criao de Relatrios baseados em
tabelas de um banco de dados.
Para usar os componentes do QReport voc ter que adicionar um novo formulrio
sua aplicao e em seguida inserir neste formulrio o componente QuickReport. Desta
forma, o formulrio se tornar um Formulrio de Relatrio; a seguir, ligar o
componente QuickReport origem de dados atravs da sua propriedade de DataSet,
inserir bandas no formulrio, e dentro delas colocar os componentes relativos a dados.
Finalmente, para imprimir o relatrio, executar os Mtodos Preview ou Print.
A grande vantagem do QuickReport a forma de criar um relatrio, ela muito similar
criao das janelas de uma aplicao. Ou seja, voc cria um relatrio com o
QuickReport da mesma maneira que uma janela no DELPHI, visualmente.
_____________________________________________________________________________ Escola Tcnica Machado de Assis 4 Jos Lus Schiavo
PrintDialog PrintSetupDialog
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
Componentes da guia QReport:
A seguir, a descrio dos principais componentes:
COMPONENTE: DESCRIO:
QuickReport o principal componente na execuo da impresso. Transforma
um formulrio comum em um formulrio de relatrio.
QRSubDetailUsado para criar qualquer tipo de relatrio Master/Detail (um-
para-vrios).
QRBandUm relatrio construdo em Bandas (regies). Estas regies
podem ser: cabealho, detalhes, rodap, etc.
QRChildBandSe voc tem Bandas com componentes expandidos movidos para
baixo adequadamente, voc pode criar uma banda fina e os
componentes que sero movidos nela.
QRGroupPermite que se agrupe os registros em blocos, com pelo menos
uma caracterstica em comum.
QRLabelMostra um texto no relatrio. Normalmente utilizado para
representar ttulos, tais como Cabealho de Colunas.
QRDBTextMostra o contedo de um determinado campo do DataSet
(Tabela ou Query). Tambm imprime campos Memo.
QRExprAvalia e imprime qualquer expresso QuickReport. Permite
tambm usar campos de banco de dados em expresses.
QRSysDataExibe informaes do sistema, tais como: data, hora, nmero de
pgina, ttulo do relatrio, etc.
QRMemoUsado para imprimir um texto com mltiplas linhas. Normalmente
usado para reas longas de texto esttico.
QRRichTextExibe um componente Memo do tipo RichText. Pode ser ligado a
um componente RichText no formulrio e imprimir o contedo.
QRDBRichTextTal qual QRRichText, s que para Campos de banco de dados
(Data-Aware).
QRShapeAdiciona objetos de desenho (retngulo, circunferncia, linhas
horizontais e verticais) ao formulrio.QRImage Usado para mostrar uma imagem esttica no relatrio.
_____________________________________________________________________________ Escola Tcnica Machado de Assis 5 Jos Lus Schiavo
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
QRDBImageUsado para imprimir imagens armazenadas em Campos Binrios
(BLOB).
QRPreviewPossibilita que voc crie seu prprio formulrio de Preview
(Visualizao) de impresso.QRChart Liga os componentes TChart ou TDChart com oQuickReport.
1.4 - Bandas de DadosO QuickReport gera relatrios usando bandas. Voc constri seus relatrios
adicionando o componente TQRBand ( um tipo especial de TPanel ) ao TQuickReport.
Cada banda do seu relatrio possui uma finalidade diferente no resultado final. Um
relatrio pode ter vrias bandas de tipos diferentes e/ou iguais.
1.5 - Os Tipos Possveis de Bandas
Title : Representa o ttulo do relatrio. impressa apenas uma vez durante todo o relatrio: no incio da primeira pgina. Voc pode ter vrias bandas deste tipo: elas
sero impressas uma aps a outra, no incio da primeira pgina.
PageHeader : Essa banda impressa uma vez a cada incio de pgina. Para cada pgina do relatrio existe uma impresso de uma banda deste tipo. Na primeira pgina
esta banda tambm impressa. Voc pode ter vrias bandas deste tipo no relatrio,
que elas sero impressas uma aps a outra automaticamente.
ColumnHeader : Esta banda se assemelha bastante com a PageHeader, com a nica diferena de que ela impressa no topo de cada coluna, num relatrio de vrias
colunas na mesma pgina.
Detail : Esta banda repetida para cada registro de dados do seu relatrio. Usualmente existe somente uma banda Detail em cada relatrio, embora seja possvel
colocar mais de uma.
_____________________________________________________________________________ Escola Tcnica Machado de Assis 6 Jos Lus Schiavo
-
FEMA Fundao Educacional Machado de AssisLINGUAGEM DE PROGRAMAO III________________________________________________________________________ Tcnico em Informtica
PageFooter : A banda PageFooter impressa no final de cada pgina do relatrio. Funciona como a PageHeader , com a diferena que impressa embaixo da pgina.
Summary : impressa na ltima pgina depois de todas as bandas de detalhe.
SubDetail : um tipo de banda especial usada pelo componente TQRSubDetail. Serve para efetuar relatrios Master / Detail. No configure este tipo de banda
manualmente.
GroupHeader : Este tipo de banda usualmente usada para a agrupar valores ( em relatrios Master/Detail ) e voc pode efetuar um somatrio em pequenos grupos de
valores, dependendo de uma certa condio.
GroupFooter : um tipo que serve como finalizador para a banda GroupHeader.
Child : um tipo especial de banda, usada pelo componente TQRChilBand. No configure este tipo manualmente.
1.6 - Ordem de Impresso das BandasNo importa que ordem as banda aparecem em tempo de desenvolvimento no seu
relatrio. Elas sempre aparecero na ordem correta na hora da impresso. Vamos aqui
mostrar qual a ordem seguida pelo QuickReport.
PageHeader (para todas as pginas) Title (primeira pgina) ColumnHeader (para todas as colunas) Detail (repetida para todos os registros principais do relatrio) SubDetail (caso haja um) Summary (ltima pgina) PageFooter (para todas as pginas).
_____________________________________________________________________________ Escola Tcnica Machado de Assis 7 Jos Lus Schiavo
Apostila de Programao IV Fundao Educacional Machado de Assis1Criando Relatrios1Criando Relatrios
1.6 - Ordem de Impresso das Bandas