FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
Apostila de Programação IV
Módulo V
Fundação Educacional Machado de Assis
Escola Técnica Machado de Assis
Curso Técnico em Informática
Prof. José Luís Schiavo
Santa Rosa, Maio de 2011.
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
1
FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
SUMÁRIO
1
Criando Relatórios
1.1
Introdução 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 Possíveis de Bandas
6
1.6
Ordem de Impressão das Bandas
7
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
2
FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
1
Criando Relatórios
1.1 – Introdução ao QuickReport
O QuickReport é um conjunto de componentes Delphi concebidos para permitir a
criação de relatórios com rapidez e facilidade, possibilitando inclusive a visualização
dos relatórios sem a necessidade de impressão o que evita o desperdício de papel em
muitas situações nas quais a impressão é desnecessária, e ainda, exportar dados para
outros formatos de arquivo, tais como texto ASCII, valores separados por vírgulas
(CSV), Microsoft Excel, PDF, Rich Text e HTML.
O QuickReport é escrito em Delphi e portanto, possui também compatibilidade com o
modelo Delphi para acesso a bancos de dados, permitido assim a criação de relatórios
a partir de dados com origem em qualquer formato ou padrão de banco de dados,
sejam os padrões nativos Paradox e dBase, os padrões cliente/servidor como o
Interbase, Oracle, DB2, Informix, Sybase ou ainda, de qualquer fonte de dados
compatível com ODBC.
1.2 - 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.
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
3
FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
A seguir são apresentados dois componentes da guia Dialogs do Delphi, responsáveis
pela manipulação das caixas de diálogo padrão para configuração de impressoras e
impressão de documentos:
PrintDialog
PrintSetupDialog
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.
1.3 - 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 novo formulário à
sua aplicação e em seguida inserir neste formulário o componente QuickReport. Desta
forma, o formulário se tornará um Formulário de Relatório; a seguir,
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.
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
4
FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
Componentes da guia QReport:
A seguir, a descrição dos principais componentes:
COMPONENTE:
QuickReport
QRSubDetail
QRBand
QRChildBand
QRGroup
QRLabel
QRDBText
QRExpr
QRSysData
QRMemo
QRRichText
QRDBRichText
QRShape
QRImage
DESCRIÇÃO:
É o principal componente na execução da impressão. Transforma
um formulário comum em um formulário de relatório.
Usado para criar qualquer tipo de relatório Master/Detail (umpara-vários).
Um relatório é construído em Bandas (regiões). Estas regiões
podem ser: cabeçalho, detalhes, rodapé, etc.
Se você tem Bandas com componentes expandidos movidos 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
uma característica em comum.
Mostra um texto no relatório. Normalmente é utilizado para
representar títulos, tais como Cabeçalho de Colunas.
Mostra o conteúdo de um determinado campo do DataSet
(Tabela ou Query). Também imprime campos Memo.
Avalia e imprime qualquer expressão QuickReport. Permite
também usar campos de banco de dados em expressões.
Exibe informações do sistema, tais como: data, hora, número de
página, título do relatório, etc.
Usado para imprimir um texto com múltiplas linhas. Normalmente
usado para áreas longas de texto estático.
Exibe um componente Memo do tipo RichText. Pode ser ligado a
um componente RichText no formulário e imprimir o conteúdo.
Tal qual QRRichText, só que para Campos de banco de dados
(Data-Aware).
Adiciona objetos de desenho (retângulo, circunferência, linhas
horizontais e verticais) ao formulário.
Usado para mostrar uma imagem estática no relatório.
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
5
FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
QRDBImage
QRPreview
QRChart
Usado para imprimir imagens armazenadas em Campos Binários
(BLOB).
Possibilita que você crie seu próprio formulário de Preview
(Visualização) de impressão.
Liga os componentes TChart ou TDChart com oQuickReport.
1.4 - 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.
1.5 - 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 única
diferença de que ela é impressa no topo de cada coluna, num relatório de várias
colunas 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.
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
6
FEMA – Fundação Educacional Machado de Assis
LINGUAGEM DE PROGRAMAÇÃO III
________________________________________________________________________ Técnico em Informática
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.
1.6 - 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 (caso haja um)  Summary (última página)  PageFooter
(para todas as páginas).
_____________________________________________________________________________
Escola Técnica Machado de Assis
José Luís Schiavo
7
Download

Apostila de Programação IV Módulo V