apostila d7 modulo 5

7
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 1 José Luís Schiavo

Upload: carlosaccorreia

Post on 09-Sep-2015

230 views

Category:

Documents


9 download

DESCRIPTION

Apostilha com exemplo Quick Report

TRANSCRIPT

  • 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