FastReport5UserManual Br

237
© 1998-2014 Fast Reports Inc. FastReport VCL 5 User's Manual Manual Version 5.0.0

description

Manual do Gerador de Relatorios Fast Report

Transcript of FastReport5UserManual Br

  • 1998-2014 Fast Reports Inc.

    FastReport VCL 5User's Manual

    Manual Version 5.0.0

  • FastReport VCL 5 User's ManualI

    1998-2014 Fast Reports Inc.

    Table of contents

    Chapter I Designer 2

    ................................................................................................................................... 31 Teclas de controle

    ................................................................................................................................... 32 Controle do mouse

    ................................................................................................................................... 43 Barras de ferramentas

    ......................................................................................................................................................... 4Barra Modo do designer

    ......................................................................................................................................................... 4Barra de ferramentas padro

    ......................................................................................................................................................... 5Barra de ferramentas Texto

    ......................................................................................................................................................... 6Barra de ferramentas Borda

    ......................................................................................................................................................... 7Barra de ferramentas Paleta de Alinhamento

    ................................................................................................................................... 94 Opes do designer

    ................................................................................................................................... 105 Configura o do Relatrio

    ................................................................................................................................... 136 Opes da Pgina

    Chapter II Criar relatrios 17

    ................................................................................................................................... 171 Objetos do relatrio

    ................................................................................................................................... 172 Relatrio de exemplo "Ol, Mundo!"

    ................................................................................................................................... 183 O objeto "Texto"

    ................................................................................................................................... 204 Tags HTML no objeto "Texto"

    ................................................................................................................................... 215 Exibir expresses com a ajuda do objeto "Texto"

    ................................................................................................................................... 226 Bandas no FastReport

    ................................................................................................................................... 247 Bandas de dados

    ................................................................................................................................... 248 O componente TfrxDBDataSet

    ................................................................................................................................... 259 Relatrio "Lista de Clientes"

    ................................................................................................................................... 2810 Exibir campos de BD com a ajuda do objeto "Texto"

    ................................................................................................................................... 2811 Aliases

    ................................................................................................................................... 3012 Variveis

    ................................................................................................................................... 3213 Objeto "Figura"

    ................................................................................................................................... 3314 Relatrio com figuras

    ................................................................................................................................... 3415 Exibir texto com vrias linhas

    ................................................................................................................................... 3616 Divis o de dados

    ................................................................................................................................... 3817 Quebra automtica de linha de objetos

    ................................................................................................................................... 4018 Exibir dados na forma de uma tabela

    ................................................................................................................................... 4219 Imprimir rtulos

    ................................................................................................................................... 4420 Bandas filho

    ................................................................................................................................... 4621 Deslocar objetos

    ................................................................................................................................... 4722 Relatrio com dois nveis de dados (mestre-detalhe)

  • IITable of contents

    1998-2014 Fast Reports Inc.

    ................................................................................................................................... 5023 Cabealhos e rodaps de uma banda de dados

    ................................................................................................................................... 5224 Relatrios com pginas mltiplas

    ................................................................................................................................... 5325 Propriedades RowCount e PageCount

    Chapter III Grupos e agregados 56

    ................................................................................................................................... 561 Relatrio com grupos

    ................................................................................................................................... 582 Outros recursos de grupos

    ................................................................................................................................... 603 Redefinir nmeros de pginas

    ................................................................................................................................... 614 Grupos de drill down

    ................................................................................................................................... 615 Numera o de linhas

    ................................................................................................................................... 626 Funes de agrega o

    ................................................................................................................................... 657 Totais da pgina e do relatrio

    ................................................................................................................................... 668 Inserir funes de agrega o

    Chapter IV Formatar, realar 69

    ................................................................................................................................... 691 Formatar valores

    ................................................................................................................................... 702 Formata o embutida

    ................................................................................................................................... 713 Realce condicional

    ................................................................................................................................... 744 Colorindo fileiras de dados alternadas

    Chapter V Relatrios aninhados (sub-relatrios) 77

    ................................................................................................................................... 771 Relatrios aninhados (sub-relatrios)

    ................................................................................................................................... 772 Sub-relatrios lado a lado

    ................................................................................................................................... 783 Limitaes na utiliza o de sub-relatrios

    ................................................................................................................................... 794 Op o PrintOnParent

    Chapter VI Script 81

    ................................................................................................................................... 811 Um gostinho de script

    ................................................................................................................................... 842 Estrutura de um script

    ................................................................................................................................... 863 Script "Ol, Mundo!"

    ................................................................................................................................... 864 Usando objetos no script

    ................................................................................................................................... 875 Chamando as variveis da lista de variveis do relatrio

    ................................................................................................................................... 886 Referenciando os campos de BD

    ................................................................................................................................... 897 Utilizar funes de agrega o no script

    ................................................................................................................................... 898 Exibir o valor de uma varivel em um relatrio

    ................................................................................................................................... 899 Eventos

    ................................................................................................................................... 9110 Exemplo de uso do evento "OnBeforePrint"

    ................................................................................................................................... 9311 Imprimir um total de grupo no cabealho do grupo

    ................................................................................................................................... 9712 Evento "OnAfterData"

    ................................................................................................................................... 9813 Objetos de servio

    ......................................................................................................................................................... 98Objeto "Report"

  • FastReport VCL 5 User's ManualIII

    1998-2014 Fast Reports Inc.

    ......................................................................................................................................................... 99Objeto "Engine"

    ......................................................................................................................................................... 100Objeto "Outline"

    ................................................................................................................................... 10114 Utiliza o do objeto "Engine"

    ................................................................................................................................... 10315 ncoras

    ................................................................................................................................... 10516 Utiliza o do objeto "Outline"

    ................................................................................................................................... 10817 Evento de pgina "OnManualBuild"

    ................................................................................................................................... 11318 Cria o de objetos no script

    Chapter VII Relatrios tipo tabela de refernciacruzada 116

    ................................................................................................................................... 1171 Constru o de um relatrio de tabela de referncia cruzada

    ................................................................................................................................... 1192 Modificar a aparncia

    ................................................................................................................................... 1213 Utiliza o de funes

    ................................................................................................................................... 1224 Classifica o de valores

    ................................................................................................................................... 1235 Tabelas com cabealhos compostos

    ................................................................................................................................... 1256 Ajustar a largura da clula

    ................................................................................................................................... 1277 Cor da fonte e realce

    ................................................................................................................................... 1298 Gerenciar uma tabela de referncia cruzada em um script

    ................................................................................................................................... 1349 Ajustar o tamanho da fileira/coluna

    ................................................................................................................................... 13510 Preencher uma tabela manualmente

    ................................................................................................................................... 13711 Adicionar objetos externos tabela

    ................................................................................................................................... 13912 Algumas configuraes teis

    Chapter VIII Grficos 143

    ................................................................................................................................... 1461 Limitar o nmero de valores do grfico

    ................................................................................................................................... 1472 Algumas configuraes teis

    ................................................................................................................................... 1473 Grfico com valores inseridos manualmente

    ................................................................................................................................... 1484 Cria o de grficos com um script

    ................................................................................................................................... 1495 Imprimir um grfico criado em Delphi

    Chapter IX Relatrios interativos 151

    ................................................................................................................................... 1511 Hiperlink

    ................................................................................................................................... 1512 Configura o de um hiperlink

    ................................................................................................................................... 1523 Link para a URL

    ................................................................................................................................... 1534 Link para o nmero da pgina

    ................................................................................................................................... 1535 Link para uma ncora

    ................................................................................................................................... 1536 Link para um relatrio detalhado

    ................................................................................................................................... 1547 Link a uma pgina detalhada

    ................................................................................................................................... 1548 Link personalizado

    Chapter X Relatrios matriciais 156

  • IVTable of contents

    1998-2014 Fast Reports Inc.

    ................................................................................................................................... 1591 Tabelas de referncia cruzada em relatrios matriciais

    ................................................................................................................................... 1612 Impress o de um relatrio matricial

    ................................................................................................................................... 1613 Objeto "Comando"

    Chapter XI Formulrios de dilogo 164

    ................................................................................................................................... 1641 Controles

    ................................................................................................................................... 1652 Relatrio "Ol, Mundo!"

    ................................................................................................................................... 1673 Inserir parmetros e transferi-los para um relatrio

    ................................................................................................................................... 1674 Intera o com controles

    ................................................................................................................................... 1685 Diversos formulrios de dilogo

    ................................................................................................................................... 1696 Gerenciar formulrios de dilogo

    Chapter XII Componentes de acesso a dados 172

    ................................................................................................................................... 1731 Descries de componentes

    ......................................................................................................................................................... 173TfrxDBLookupComboBox

    ......................................................................................................................................................... 174TfrxADOTable

    ......................................................................................................................................................... 176TfrxADOQuery

    ......................................................................................................................................................... 178TfrxADODataBase

    ................................................................................................................................... 1782 Designer de relatrios

    ................................................................................................................................... 1793 Relatrio simples do tipo "Lista"

    ................................................................................................................................... 1814 Relatrio com consulta paramtrica

    ................................................................................................................................... 1835 Outros recursos teis

    Chapter XIII Herana do relatrio 185

    ................................................................................................................................... 1851 Criar um relatrio base

    ................................................................................................................................... 1872 Alterar um relatrio base

    ................................................................................................................................... 1883 Controle de herana

    Chapter XIV Assistentes 191

    ................................................................................................................................... 1911 Assistente de relatrio novo

    ................................................................................................................................... 1952 Assistente de nova conex o

    ................................................................................................................................... 1963 Assistente de nova tabela

    ................................................................................................................................... 1974 Assistente de nova consulta

    ................................................................................................................................... 1975 Constru o da consulta

    ......................................................................................................................................................... 200Utilizao do construtor de consultas

    ......................................................................................................................................................... 202Construir consultas complexas

    Chapter XV Visualiza o, impress o e exporta o deum relatrio 206

    ................................................................................................................................... 2071 Teclas de controle

    ................................................................................................................................... 2082 Controle do mouse

    ................................................................................................................................... 2083 Impress o do relatrio

    ................................................................................................................................... 2114 Pesquisa de texto em relatrios

  • FastReport VCL 5 User's ManualV

    1998-2014 Fast Reports Inc.

    ................................................................................................................................... 2115 Exportar o relatrio

    ......................................................................................................................................................... 212Exportar para o formato PDF

    ......................................................................................................................................................... 214Exportar para Open Document

    ......................................................................................................................................................... 215Exportar ao formato RTF

    ......................................................................................................................................................... 216Exportar para Word 2007

    ......................................................................................................................................................... 216Exportar para Excel 97/2000/XP

    ......................................................................................................................................................... 218Exportar para o formato Excel XML

    ......................................................................................................................................................... 219Exportar para Excel 2007

    ......................................................................................................................................................... 220Exportar para PowerPoint 2007

    ......................................................................................................................................................... 220Exportar para o formato CSV

    ......................................................................................................................................................... 221Exportar para o formato HTML

    ......................................................................................................................................................... 222Exportar para o formato texto

    ......................................................................................................................................................... 223Exportar para os formatos grficos Jpeg, BMP, Gif, Tiff

    ................................................................................................................................... 2246 Enviar um relatrio por e-mail

    ................................................................................................................................... 2267 Consideraes do design do relatrio

  • Chapter

    IDesigner

  • 2 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    O designer fornece todas as ferramentas necessrias ao usurio para criar e visualizarrelatrios. A interface do designer cumpre com os requisitos atuais. Ela contm diversas barrasde ferramentas que podem ser encaixadas onde for desejado. As posies das barras deferramentas s o restauradas cada vez que o designer for aberto. As posies das barras deferramentas, alm de outras configuraes do designer, s o armazenadas no registro ou emum arquivo .ini, se algum for atribudo.

    Legenda dos recursos do designer de relatrios:1 rea de trabalho para criar o design do relatrio2 barra do menu3 barras de ferramentas4 barra de ferramentas de objetos5 guias de pginas do relatrio6 painel "rvore do Relatrio"7 painel "Inspetor de Objetos"8 painel "rvore de Dados": os elementos podem ser arrastados deste painel para a pgina

    do relatrio9 rguas: uma rgua pode ser arrastada para a pgina do relatrio para criar uma linha guia

    azul na pgina (os objetos se ajustam a linhas guia prximas)10 barra de status

  • 3Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    1.1 Teclas de controle

    Keys Description

    Ctrl+O Comando de menu "Arquivo > Abrir"

    Ctrl+S Comando de menu "Arquivo > Salvar"

    Ctrl+P Comando de menu "Arquivo > Visualizar"

    Ctrl+Z Comando de menu "Editar > Desfazer"

    Ctrl+C Comando de menu "Editar > Copiar"

    Ctrl+V Comando de menu "Editar > Colar"

    Ctrl+X Comando de menu "Editar > Cortar"

    Ctrl+A Comando de menu "Editar > Selecionar Tudo"

    Arrow, Tab mover entre objetos

    Del excluir objetos selecionados

    Enter abrir editor para o objeto selecionado

    Shift+arrows alterar o tamanho de objetos selecionados

    Ctrl+arrows mover objetos selecionados

    Alt+arrows anexar o objeto selecionado a um objeto adjacente na dire oespecificada

    1.2 Controle do mouse

    Operao Descrio

    Bot o esquerdo selecionar objeto; colar objeto novo; mover ou redimensionarobjetospara objetos selecionados, amplie ou reduza o zoom aoarrastar o quadrado vermelho no canto inferior esquerdo dogrupo de objetos selecionados

    Bot o direito menu de contexto do objeto selecionado

    Dois cliques abrir editor do objetoclicar duas vezes em espao em branco abre a caixa dedilogo "Opes da Pgina"

    Roda do mouse rolar pgina do relatrio

    Shift + bot o esquerdo alternar a sele o de objetos

    Ctrl + bot o esquerdo criar um quadro ao mover o mousesolte o bot o para selecionar todos os objetos capturados noquadrotambm possvel clicar em um espao em branco e mover

  • 4 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    o mouse conforme necessrio

    Alt + bot o esquerdo editar o contedo no local se um objeto "Texto" forselecionado

    1.3 Barras de ferramentas

    1.3.1 Barra Modo do designer

    A barra de ferramentas Modo integrada barra de ferramentas Objeto ao lado esquerdo dajanela do designer, e possui os seguintes botes:

    cone Nome Descrio

    SelecionarObjetos

    modo padr o de opera o: o cursor do mouse seleciona osobjetos, altera seu tamanho, etc.

    M o permite arrastar toda a pgina do relatrio

    Zoom permite o clique com o bot o esquerdo para ampliar o zoom(adiciona 25% se j estiver no intervalo 25-75%, de outro modoadiciona 100%) ou o clique com o bot o direito para reduzir o zoom(reduz 25% se j estiver no intervalo 25-75%, de outro modo reduz100%)manter o bot o esquerdo do mouse apertado ao arrastar amplia ozoom na rea selecionada

    Editar Texto permite a edi o no local de objetos "Texto"manter o bot o esquerdo do mouse apertado e mover o cursor criae dimensiona um novo objeto "Texto" e abre seu editor

    Copiar Formata o

    permite a cpia da formata o de um objeto "Texto" para outros:selecione um objeto "Texto",clique no bot o Copiar Formata o,selecione os objetos-alvo

    saia do modo Copiar Formata o ao clicar em qualquer outro bot ode modo

    1.3.2 Barra de ferramentas padr o

    cone Nome Descrio

    Novo Relatrio cria um relatrio em branco

  • 5Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Abrir Relatrio abre o arquivo de um relatrio existentecombina o de atalho "Ctrl+O"

    Salvar Relatrio salva o relatrio em um arquivocombina o de atalho "Ctrl+S"

    Visualizar visualiza o relatrio combina o de atalho "Ctrl+P"

    Nova Pgina deRelatrio

    adiciona uma pgina nova ao relatrio

    Nova Pgina deDilogo

    adiciona um formulrio de dilogo novo ao relatrio

    Excluir Pgina exclui a pgina atual

    Opes de Pgina abre a caixa de dilogo de propriedades da pgina

    Recortar Recorta os objetos selecionados para a rea detransfernciacombina o de atalho "Ctrl+X"

    Copiar copia os objetos selecionados para a rea de transfernciacombina o de atalho "Ctrl+C"

    Colar cola objetos da rea de transfernciacombina o de atalho "Ctrl+V"

    Desfazer desfaz a ltima opera ocombina o de atalho "Ctrl+Z"

    Refazer refaz a ltima opera o cancelada (desfeita) combina o de atalho "Ctrl+Y"

    Agrupar agrupa objetos selecionados

    Desagrupar desagrupa objetos selecionados

    Zoom configura o fator de zoom

    1.3.3 Barra de ferramentas Texto

    cone Nome Descrio

    Semestilo

    Estilo exibe o estilo do objeto "Texto" selecionadoselecione o estilo em uma lista suspensa para alterar o estilodo objeto selecionadodefina estilos em "Relatrio > Estilos"

    Arial Nome da Fonte exibe a fonte do objeto "Texto" selecionadoselecione a fonte em uma lista suspensa para alterar a fontedo objeto selecionadoexibe as ltimas cinco fontes usadas no incio da lista

  • 6 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    10 Tamanho daFonte

    exibe o tamanho da fonte do objeto "Texto" selecionadoselecione o tamanho em uma lista suspensa para alterar otamanho da fonte do objeto selecionadotambm possvel digitar nmeros diretamente na caixa deedi o

    Negrito (alternar) ativa/desativa o estilo Negrito da fonte do contedo do objeto"Texto"

    Itlico (alternar) ativa/desativa o estilo Itlico da fonte do contedo do objeto"Texto"

    Sublinhado(alternar)

    ativa/desativa o estilo Sublinhado da fonte do contedo doobjeto "Texto"

    Configuraes daFonte

    abre a caixa de dilogo Configuraes da Fonte

    Cor da Fonte suspende a grade de sele o de cor da fonte

    Realce abre a caixa de dilogo de realce possvel configurar uma condi o para o realce

    Rota o do Texto modifica a rota o do texto a partir de uma lista suspensa

    Alinhar Esquerda

    alinha o texto esquerda dentro do quadro do objeto "Texto"

    Centralizar alinha o texto ao centro dentro do quadro do objeto "Texto"

    Alinhar Direita alinha o texto direita dentro do quadro do objeto "Texto"

    Justificar justifica o texto dentro do quadro do objeto "Texto"

    Alinhar Acima alinha o texto (vertical) parte superior dentro do quadro doobjeto "Texto"

    CentralizarVerticalmente

    alinha o texto (vertical) ao meio dentro do quadro do objeto"Texto"

    Alinhar Abaixo alinha o texto (vertical) parte inferior dentro do quadro doobjeto "Texto"

    1.3.4 Barra de ferramentas Borda

    cone Nome Descrio

    Linha Acima (alternar) ativa/desativa a linha superior da borda do objeto"Texto"

    Linha Abaixo (alternar) ativa/desativa a linha inferior da borda do objeto"Texto"

    Linha Esquerda(alternar)

    ativa/desativa a linha esquerda da borda do objeto"Texto"

  • 7Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Linha Direita(alternar)

    ativa/desativa a linha direita da borda do objeto"Texto"

    Todas as Linhas daBorda

    ativa todas as quatro linhas da borda do objeto"Texto"

    Sem Borda desativa todas as quatro linhas da borda do objeto"Texto"

    Editor de Borda invoca a caixa de dilogo do editor de borda

    Cor do Plano de Fundo define a cor do plano de fundo a partir de uma listasuspensa

    Editor dePreenchimento

    invoca a caixa de dilogo do editor depreenchimento

    Cor da Borda suspende a grade de sele o de cor da linha daborda

    Estilo da Borda suspende a lista de sele o do estilo da linha daborda

    1 Largura da Borda define a largura da linha da borda a partir de umalista suspensatambm possvel digitar nmeros (0.1 at 10)diretamente na caixa de edi o

    1.3.5 Barra de ferramentas Paleta de Alinhamento

    Observe que alguns botes ficar o ativos quando mais de um objeto for selecionado.

    cone Descrio

    mostrar grade (ativar/desativar)

    alinhar grade (ativar/desativar)

    ajustar grade

    alinhar bordas esquerdas (ao primeiro objetoselecionado)

    alinhar centros horizontais (ao primeiro objetoselecionado)

    alinhar bordas direitas (ao primeiro objetoselecionado)

    alinhar bordas superiores (ao primeiro objetoselecionado)

    alinhar centros verticais (ao primeiro objetoselecionado)

  • 8 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    alinhar bordas inferiores (ao primeiro objetoselecionado)

    espaar igualmente na dire o horizontal

    espaar igualmente na dire o vertical

    centrar cada objeto individualmente de maneirahorizontal na banda

    centrar cada objeto individualmente de maneiravertical na banda

    definir larguras iguais (igual ao primeiro objetoselecionado)

    definir alturas iguais (igual ao primeiro objetoselecionado)

  • 9Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    1.4 Opes do designer

    Configure as opes do designer atravs do comando de menu "Exibir > Opes...".

    Aqui possvel definir as unidades preferenciais (centmetros, polegadas, pixels) e oespaamento da grade. Dica: tambm possvel alterar as unidades no designer ao clicar duasvezes na parte esquerda da barra de status, onde s o exibidas as unidades atuais. possvel configurar a visibilidade e o alinhamento grade. Isso tambm pode ser efetuadoatravs de botes na barra de ferramentas "Padr o", dentro do prprio designer.

    possvel configurar uma fonte para a janela do editor de cdigo e o editor do objeto "Texto". Sea op o "Usar as configuraes de fonte do objeto" for habilitada, a fonte na janela do editor detexto corresponder com a fonte do objeto que est sendo editado.

    O plano de fundo branco padr o do espao de trabalho do designer e das janelas deferramentas pode ser modificado com os botes "Espao de trabalho" e "Janelas de

  • 10 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    ferramentas".

    A op o "Cor da grade LCD" aumenta um pouco o contraste das linhas de grade e melhora suavisibilidade em monitores LCD.

    A op o "Mostrar o editor aps inserir" controla o que acontece quando objetos novos s oinseridos. Se a op o for habilitada, o editor ser exibido cada vez que um objeto for inserido. recomendado desabilitar a op o ao criar uma grande quantidade de objetos em branco.

    Desabilitar a op o "Mostrar rtulos das bandas" oculta os rtulos das bandas, ocupandoassim menos espao na pgina de design. Se forem desabilitados, os rtulos das bandas s oexibidos dentro do espao de trabalho das bandas.

    A op o "Exibir lista suspensa de campos" controla a acessibilidade da lista suspensa aocolocar o mouse sobre objetos "Texto" que est o conectados a campos de dados. Isso podeser necessrio se houver muitos objetos "Texto" estreitos em uma banda.

    A op o "Coloca o livre de bandas" desabilita o ajuste de bandas pgina. Esta op opermanece desabilitada por padr o, e as bandas s o agrupadas automaticamente na pgina deacordo com sua fun o. O espao entre as bandas definido no campo "Espao entrebandas".

    1.5 Configura o do Relatrio

    A caixa de dilogo Configura o do Relatrio pode ser acessada no menu "Relatrio >Opes...". A caixa de dilogo possui trs guias.

    Na primeira guia possvel ver as configuraes gerais do relatrio:

  • 11Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    possvel vincular um relatrio a uma das impressoras instaladas no sistema. Isso significaque a impressora selecionada se tornar a impressora padr o ao imprimir esse relatrio. Issopode ser til quando houver diversas impressoras no sistema; por exemplo, documentos detexto podem ser vinculados a impressoras monocromticas, e documentos com grficospodem ser vinculados a impressoras coloridas. "Padr o" listado nas configuraes daimpressora. Quando esta op o estiver selecionada, o relatrio n o ser vinculado a nenhumaimpressora especfica, mas ser impresso na impressora padr o do sistema.

    Tambm possvel configurar o nmero de cpias do relatrio a serem impressas, e se elasdevem ser agrupadas. O valor definido nesta caixa de dilogo ser mostrado na caixa dedilogo "Imprimir" ao imprimir o relatrio.

    Se o sinalizador "Dois passos" estiver marcado, o relatrio ser gerado em duas etapas. Noprimeiro passo criado um rascunho do relatrio que dividido em pginas, mas n o estardisponvel para visualiza o. No segundo passo o rascunho do relatrio convertido em umrelatrio padr o, que salvo no fluxo de visualiza o.

    Por que s o necessrios dois passos? Na maioria das vezes esta op o usada quando umrelatrio precisa ter acesso ao nmero total de pginas no relatrio, por exemplo, para exibir"Pgina 1 de 15". O nmero total de pginas calculado durante o primeiro passo e disponibilizado atravs da varivel de sistema "TOTALPAGES". O erro mais frequente tentarutilizar esta varivel em um relatrio de passo nico, quando a varivel retornar 0.

    Outro uso para os dois passos ao executar clculos no primeiro passo e exibir os resultadosno segundo passo. Por exemplo, quando uma soma deve ser exibida no cabealho de umgrupo em vez de no habitual rodap do grupo. Clculos deste tipo s o executados ao escrever

  • 12 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    o cdigo do script do relatrio no evento "OnBeforePrint" de um objeto.

    O sinalizador "Imprimir se vazio" permite a cria o de um relatrio que n o contm nenhumalinha de dados. Se esta op o for desabilitada, relatrios vazios n o ser o criados.

    O campo "Senha" habilita a defini o de uma senha, que deve ser inserida antes de abrir umrelatrio.

    Na segunda guia possvel configurar as opes de herana:

    Mais tarde, no captulo "Herana do relatrio", voc obter mais informaes sobre herana.Nesta caixa de dilogo possvel ver o nome do relatrio base (se o relatrio for herdado),desanexar o relatrio base (neste caso seu relatrio ser autnomo e n o herdado) ou herdar orelatrio a partir de um dos relatrios base disponveis.

    A terceira guia da caixa de dilogo permite configurar propriedades descritivas do relatrio:

  • 13Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Todos os campos nesta guia servem apenas para fins informativos e n o podem serimpressos.

    1.6 Opes da Pgina

    As "Opes da Pgina" est o disponveis atravs do menu "Arquivo > Configuraes daPgina..." ou ao clicar duas vezes em um espao em branco na pgina. A caixa de dilogopossui duas guias:

  • 14 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Na primeira guia da caixa de dilogo possvel configurar o tamanho e o alinhamento da folha,assim como as margens. Em "Fonte de Papel", a lista suspensa permite a sele o da bandejada impressora para a primeira pgina e o resto das pginas do relatrio.

  • 15Designer

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Na segunda guia da caixa de dilogo possvel definir o nmero de colunas para relatrios comvrias colunas. As configuraes atuais tambm s o exibidas no designer.

    O sinalizador "Imprimir para pgina anterior" permite imprimir pginas sem iniciar uma pginanova. Em vez disso o comeo ser em qualquer espao em branco na pgina anterior. Estaop o pode ser til quando o modelo de um relatrio contm diversas pginas ou ao imprimirrelatrios em lote (compostos).

    A op o "Margens espelho" troca as margens esquerda e direita de pginas pares durante avisualiza o ou impress o de um relatrio.

    As opes "Largura e altura de pgina infinita" aumentam o tamanho da pgina dependendo donmero de registros de dados na pgina (quando o relatrio for executado). Se foremhabilitadas, o relatrio ir ser exibido em uma pgina grande na janela de visualiza o, em vezde diversas pginas de tamanho padr o.

    A op o "Altura extensa em modo de design" aumenta a altura da pgina no designer. Esterecurso pode ser til se houver muitas bandas em uma pgina. Ele deve ser usado ao trabalharcom bandas sobrepostas. Ele afeta somente a altura da pgina no modo de design.

  • Chapter

    IICriar relatrios

  • 17Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    2.1 Objetos do relatrio

    FastReport Designer representa relatrios como uma cole o de pginas esquemticas.Objetos s o colocados em qualquer lugar nas pginas do relatrio e s o usados para definir aaparncia do relatrio e exibir diversas informaes, como texto e grficos. Estes s o osobjetos FastReport que s o includos no pacote padr o:

    - Objeto "Banda": uma rea na pgina do designer que se comporta de acordo com seu tipo(por exemplo, Banda de cabealho, Banda de dados)

    - Objeto "Texto": exibe uma ou mais linhas de texto dentro de uma rea retangular

    - Objeto "Figura": exibe um arquivo grfico no formato "BMP", "JPEG", "ICO", "WMF" ou"EMF"

    - Objeto "Linha": exibe uma linha horizontal ou vertical

    - Objeto "Texto do sistema": exibe informaes do sistema (data, hora, nmero da pgina,etc.) ou valores agregados

    - Objeto "Sub-relatrio": permite inserir uma pgina de design de outro relatrio na pginahost

    - Objetos da categoria "Desenhar": exibem diversas formas geomtricas (linha diagonal,retngulo, retngulo arredondado, elipse, tringulo e diamante)

    - Objeto "Grfico": exibe dados em diversos formatos grficos (grfico de pizza, histograma,etc.)

    - Objeto "RichText": exibe texto no formato Rich Text (RTF)

    - Objeto "Caixa de Sele o": exibe uma caixa de sele o com uma marca de sele o ouuma cruz

    - Objeto "Cdigo de Barras": exibe os dados como um entre diversos tipos de cdigos debarra

    - Objeto "OLE": exibe qualquer objeto usando a tecnologia OLE.

    Os objetos bsicos usados com maior frequncia s o os objetos "Banda" e "Texto". Vocsaber mais sobre suas funcionalidades mais adiante neste captulo.

    2.2 Relatrio de exemplo "Ol, Mundo!"

    O relatrio de exemplo ir conter apenas um item de informa o: "Ol, Mundo!". Abra odesigner de relatrios e clique no bot o "Texto" na barra de ferramentas de Objetos. Mova ocursor do mouse sobre a pgina e clique novamente. O objeto inserido na posi o do mouse.

    A janela do editor de texto aberta imediatamente. Se ela n o aparecer automaticamente,

  • 18 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    clique duas vezes no objeto. A abertura do editor de texto pode ser configurada nasconfiguraes do designer isso ser visto mais adiante. Digite "Ol, Mundo!" e clique no bot oOK.

    O design do relatrio est concludo. Para visualizar o relatrio, selecione o item de menu"Arquivo > Visualizar" ou clique no bot o correspondente na barra de ferramentas. A janela devisualiza o que contm a pgina do relatrio com o texto "Ol, Mundo!" exibida. Esterelatrio pode ser impresso, salvo em um arquivo (*.fp3) ou exportado para um dos formatos deexporta o suportados.

    2.3 O objeto "Texto"

    O objeto "Texto" possui diversos recursos. Ele pode exibir texto em um quadro e ser preechidocom uma cor. O texto pode ser exibido usando qualquer fonte de qualquer tamanho e estilo.Todas as propriedades podem ser definidas visualmente com a ajuda das barras deferramentas.

    Seguem alguns exemplos do design do texto:

  • 19Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Agora vamos dar uma olhada em outros recursos deste objeto bsico. Como exemplo,criaremos um novo objeto "Texto" que exibir duas linhas de texto:

    Esta uma linha de texto muito, muito, muito longa.E esta outra linha, a mais curta.

    Habilite a borda do objeto na barra de ferramentas e redimensione o objeto para 9x3 cm usandoo mouse. Vemos que o objeto pode n o apenas exibir uma nica linha, mas diversas linhas detexto. Agora reduza a largura do objeto para 5 cm. bvio que linhas longas n o couberam noobjeto e foram quebradas. Isso controlado atravs da propriedade "WordWrap" do objeto. Seela for desabilitada (no inspetor de objetos ou atravs do menu de contexto do objeto), linhaslongas ser o apenas cortadas.

    Agora veremos como funciona o alinhamento de texto dentro do objeto. Os botes dealinhamento est o localizados na barra de ferramentas "Texto" e eles controlam o alinhamentode texto horizontal ou vertical. Observe o bot o "Justificar", que permite alinhar pargrafos aambas as bordas do objeto. Para fazer isso, "WordWrap" deve estar habilitada.

    Todo o texto no objeto pode ser girado em qualquer ngulo no intervalo 0...360. O bot o nabarra de ferramentas "Texto" permite girar o texto rapidamente para as predefinies 0, 45, 90,180 ou 270. Para qualquer outro valor, configure o ngulo desejado na propriedade "Rotation"no inspetor de objetos. Ao girar texto em ngulos diferentes de 90, 180 ou 270, o texto pode sercortado pelo quadro do objeto, conforme mostrado abaixo. Para resolver isso, aumentelevemente a altura do objeto para que todo o texto caiba dentro do objeto.

  • 20 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Vamos dar uma olhada rpida em outras propriedades do objeto "Texto" que influenciam suaaparncia. A maior parte destas propriedades est o disponveis apenas no inspetor de objetos:

    - BrushStyle: o tipo de preenchimento do objeto - CharSpacing: o espaamento entre caracteres, em pixels - GapX, GapY: os recuos do texto na borda esquerda e superior, em pixels - LineSpacing: o espaamento entre linhas, em pixels - ParagraphGap: o recuo da primeira linha do pargrafo, em pixels

    2.4 Tags HTML no objeto "Texto"

    O objeto "Texto" entende algumas tags simples de HTML. As tags podem estar localizadasdentro do texto do objeto. Tags s o desabilitadas por padr o; para habilit-las selecione"Permitir Tags HTML" no menu de contexto do objeto ou habilite a propriedade"AllowHTMLTags" no inspetor de objetos. Aqui est a lista de tags suportadas.

    : texto em negrito : texto em itlico : texto sublinhado : subscrito : sobrescrito : cor da fonte : texto que n o quebrado quando "WordWrap" for habilitado, todo o texto movido

    para a prxima linha

    Observe que somente algumas tags s o suportadas, mas isso deve ser suficiente para a maiorparte das aplicaes. N o possvel alterar o tamanho ou nome da fonte atravs de tagsHTML.

  • 21Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Os exemplos a seguir mostram como as tags podem ser usadas.

    texto texto em negrito texto em itlico negrito e itlicoE = mc2A1 = B2este um texto normal, e este um texto vermelhoeste um texto normal, e este um texto laranja

    2.5 Exibir expresses com a ajuda do objeto "Texto"

    Um dos recursos mais importantes deste objeto bsico sua habilidade de exibir n o apenastexto esttico, mas tambm expresses. Expresses podem ser colocadas dentro do objetos,misturadas a texto normal. Vamos ver um exemplo simples de como isso funciona. Digite oseguinte no objeto:

    Ol, Mundo! Hoje [DATE].

    Quando o relatrio for executado, obteremos algo parecido a isto:

    Ol, Mundo! Hoje 01.01.2004.

    Como isso acontece? Quando FastReport cria o relatrio e encontra uma express o entrecolchetes, o mecanismo de relatrios calcula o valor da express o e insere este valor no textono lugar da express o. Objetos "Texto" podem conter inmeras expressres misturadas aotexto normal. Expresses complexas podem conter parnteses (por exemplo [1+2*(3+4)]).Constantes, variveis, funes e campos de BD podem ser usados em expresses. Iremosaprender mais sobre eles mais tarde neste captulo.

    O FastReport reconhece expresses entre colchetes automaticamente no texto. Mas o queacontece se nosso texto normal conter colchetes que n o queremos que sejam consideradoscomo expresses? Por exemplo, se precisamos exibir o seguinte:

    a[1] := 10

    FastReport consideraria [1] como uma express o e exibiria o texto como:

    a1 := 10

    o que n o desejamos que acontea, claro. Uma maneira de evitar isso desabilitar oreconhecimento de expresses. Desabilite a propriedade "AllowExpressions" (ou "Permitir

  • 22 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Expresses" no menu de contexto) e todas as expresses no texto ser o ignoradas. Em nossoexemplo, o FastReport iria exibir exatamente o que precisamos:

    a[1] := 10

    Porm, s vezes, necessrio que um texto tenha tanto uma express o quanto texto normalentre colchetes, por exemplo:

    a[1] := [myVar]

    Desabilitar "AllowExpressions" nos permite exibir colchetes nos lugares necessrios, mastambm desabilita a manipula o de expresses. Nesta situa o, o FastReport permite autiliza o de um conjunto de smbolos alternativo para designar expresses. Por padr o, apropriedade "ExpressionDelimiters" responsvel por isso. Em nosso exemplo podemos usarchevrons para as expresses, em vez de colchetes:

    a[1] :=

    O valor "" deve ser definido na propriedade "ExpressionDelimiters", onde a vrgula necessria para separar os smbolos de abertura e fechamento. Outro requisito que ossmbolos de abertura e fechamento n o podem ser idnticos, ent o "%,%" n o funcionar.Podem ser usados smbolos complexos, por exemplo "". Ent o nosso exemplo poderiater o seguinte aspecto:

    a[1] :=

    2.6 Bandas no FastReport

    Bandas s o usadas para colocar os objetos que elas contm em locais especficos na pginade sada. Ao colocar um objeto na banda "Cabealho da Pgina" ns dizemos ao mecanismode relatrios que o objeto deve ser exibido no topo de cada pgina no relatrio final. De maneirasimilar, objetos na banda "Rodap da Pgina" s o exibidos na parte inferior de cada pgina.Vamos demonstrar isso com um exemplo. Criaremos um relatrio contendo "Oi!" no topo dapgina, a data atual direita e o nmero da pgina no rodap da pgina ao lado direito.

    Abra o designer do FastReport e clique no bot o "Novo Relatrio" na barra de ferramentas. exibido um modelo de relatrio que j contm trs bandas: "TtuloDoRelatrio", "DadosMestre" e"RodapDaPgina". Vamos remover a banda "DadosMestre" brevemente (clique em qualquerespao livre dentro da banda ou em seu cabealho e remova-a com a tecla "Delete" ou o item"Remover" no menu de contexto). Agora vamos adicionar uma nova banda ("Cabealho daPgina"). Clique no bot o "Inserir Banda" na barra de ferramentas de objetos e selecione"Cabealho da Pgina" na lista suspensa. Vemos que uma banda nova adicionada pgina.Ao mesmo tempo, as bandas existentes s o movidas para baixo. O designer do FastReportposiciona as bandas na pgina automaticamente bandas de cabealho no topo, bandas dedados no meio e bandas de rodap embaixo.

    Agora vamos adicionar alguns objetos. Adicione um objeto "Texto do Sistema" banda"CabealhoDaPgina" e em seu editor selecione "[DATE]" na lista suspensa de variveis dosistema (lembre-se que a data atual tambm pode ser exibida em um objeto "Texto" ao digitar"[DATE]" em seu editor). Depois adicione um objeto "Texto" contendo "Oi!" banda

  • 23Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    "TtuloDoRelatrio". Um objeto "Texto" que exibe o nmero da pgina j foi adicionadoautomaticamente banda "RodapDaPgina".

    Ao executar o relatrio, voc ver que os objetos no relatrio pronto s o impressos nasposies corretas na pgina.

    Ent o bandas s o responsveis por posicionar objetos na pgina. Dependendo do tipo debanda, possvel imprimir objetos no topo ou na parte inferior de uma pgina, e na primeira oultima pgina. As bandas bsicas necessrias na maioria dos relatrios se comportam destemodo:

  • 24 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    - Banda "Cabealho da Pgina": exibida no topo de cada pgina- Banda "Rodap da Pgina": exibida na parte inferior de cada pgina- Banda "Ttulo do Relatrio": exibida no topo da primeira pgina. Ela pode estar antes ou

    depois da banda "Cabealho da Pgina", dependendo da propriedade "TitleBeforeHeader"da pgina (encontrada no inspetor de objetos aps clicar em qualquer espao livre napgina)

    - Banda "Sumrio do Relatrio": exibida no espao livre no final do relatrio

    2.7 Bandas de dados

    Agora iremos aprender como imprimir dados de tabelas de BD ou de consultas. O que considerado uma 'tabela' ou uma 'consulta'? Elas s o compostas de dados organizados emlinhas (registros ou fileiras) que contm uma ou mais colunas (campos). Para imprimir estestipos de dados, o FastReport utiliza um tipo de banda especial, as diversas bandas que s ochamadas "Dados...". Para imprimir uma tabela inteira ou apenas algumas fileiras e campos, necessrio adicionar uma ou mais dessas bandas ao relatrio, vincul-las tabela e colocarobjetos de campo dentro delas. Quando FastReport criar o relatrio, as bandas ser oimpressas na pgina de sada, uma vez para cada registro na tabela. Se n o sobrar espaolivre na pgina de sida para uma banda, o mecanismo de relatrios criar uma nova pgina desada antes de continuar.

    2.8 O componente TfrxDBDataSet

    O componente conector "TfrxDBDataSet" da paleta de componentes Delphi do FastReport usado para conectar uma tabela (ou qualquer outra fonte de dados) ao FastReport. Estecomponente atua como o mensageiro entre a fonte de dados e o ncleo do FastReport. Ocomponente responsvel pela navega o de registros e pela referncia da tabela. Isso torna oncleo do FastReport independente de bibliotecas de acesso a dados. O FastReport podeutilizar as bibliotecas "BDE", "IB_Objects" (que possuem uma implementa o n o padr o que incompatvel com TDataSet) e outras, assim como dados de fontes n o conectadas a umbanco de dados, como matrizes e arquivos. O componente "TfrxDBDataSet" foi projetado paraser usado com fontes de dados que sejam compatveis com TDataSet (como BDE, ADO, IBX ea maioria das outras bibliotecas). O componente "TfrxDBDataSet" destinado ao trabalho com

    IB_Objects. O componente "TfrxUserDataSet" funciona com outras fontes de dados(matrizes, arquivos, etc.).

    muito fcil usar o componente "TfrxUserDataSet". Conecte-o fonte de dados ao configurar apropriedade "DataSet" (para a conex o direta a uma tabela ou consulta) ou a propriedade"DataSource" (para a conex o atravs do componente "TDataSource"). Os dois mtodos s oequivalentes e mutuamente exclusivos, apesar do primeiro permitir o gerenciamento dos dadossem precisar de um componente "TDataSource".

    Para deixar o componente Delphi (e os dados conectados a ele) disponvel para o relatrio,qualquer conjunto de dados usado no relatrio deve ser habilitado. Faa isso no item de menu"Relatrio > Dados..." no designer do FastReport e selecione os conjuntos de dadosnecessrios na caixa de dilogo que aberta.

  • 25Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    2.9 Relatrio "Lista de Clientes"

    Nosso segundo relatrio ser muito mais complexo que o primeiro (ele ir conter uma tabela deBD de clientes da empresa). Vamos usar o banco de dados de demonstra o demo.mdb que includa no kit de distribui o do FastReport Studio. Crie um novo relatrio. V para a guia"Dados", coloque o componente "Tabela ADO" na pgina:

    e configure uma propriedade:

    TableName = 'Customer'

    Agora a tabela e todos os seus campos se tornar o visveis no painel "rvore de Dados" noIDE.

    Agora vamos fazer o design do relatrio. Primeiro adicione um objeto "Texto" que contm "Listade clientes" banda "TtuloDoRelatrio".

    Depois conecte a banda "DadosMestre" a nosso conjunto de dados. Isso pode ser feito de trs

  • 26 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    maneiras:

    - clique duas vezes na banda- selecione "Editar..." no menu de contexto da banda- ou clique na propriedade "DataSet" da banda no inspetor de objetos

    Agora coloque quatro objetos "Texto" (que ir o exibir os campos nmero do cliente, nome docliente, telefone e fax do conjunto de dados) na banda. Faremos isso de maneiras diferentespara demonstrar alguns recursos do designer do FastReport.

    A primeira maneira colocar um objeto "Texto" na banda e digitar "[ADOTable1."CustNo"]" nele.Esta a maneira menos conveniente, j que o link do campo deve ser inserido manualmente,havendo a possibilidade de digitar o texto de maneira incorreta. um pouco mais fcil usar odesigner de expresses clique duas vezes no objeto "Texto" e clique no bot o mais esquerda da guia "Texto" da janela do editor que aberto. Para inserir nosso campo, cliqueduas vezes no nome do campo no designer de expresses. Clique no bot o OK para fechar acaixa de dilogo e ver o link do campo inserido no objeto "Texto".

    A segunda maneira de adicionar o campo de BD ao objeto "Texto" ao configurar duaspropriedades no inspetor de objetos. Coloque um segundo objeto "Texto" na banda, semescrever nada na janela do editor. Configura as propriedades do objeto usando o inspetor deobjetos:

    DataSet = ADOTable1DataField = 'Company'

    Ambas as propriedades s o apresentadas como uma lista, ent o apenas selecione o valornecessrio da lista suspensa usando o mouse.

    A terceira maneira "arrastar e soltar" o campo necessrio do painel "rvore de Dados" paradentro do relatrio. Esta a maneira mais simples e mais fcil, mas antes de fazer isso,desmarque a caixa de sele o "Criar rtulo" na parte inferior do painel de "rvore de Dados", ouum segundo objeto "Texto", que contm o nome do campo, criado junto ao objeto link docampo. Desta maneira, selecione o campo "Phone" e arraste-o para a banda.

    Para a quarta maneira necessrio ativar o sinalizador da op o do designer "Mostrar listasuspensa de campos" (atravs do menu principal: "Exibir > Opes"), e tambm necessrioque a banda j esteja conectada ao conjunto de dados. Coloque um objeto "Texto" em brancona banda e coloque o cursos do mouse sobre o objeto um bot o da lista suspensa aparecerna extremidade direita. Clique neste bot o para abrir a lista de campos de BD e selecione ocampo "FAX".

  • 27Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    O design de nosso relatrio est concludo.

    Clique no bot o "Visualizar" para ver o resultado.

  • 28 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    2.10 Exibir campos de BD com a ajuda do objeto "Texto"

    Como foi visto, objetos "Texto" podem exibir dados de um BD, assim como texto esttico eexpresses. Tambm vimos que isso pode ser feito de duas maneiras: ao colocar um link aocampo do BD no texto do objeto, ou ao conectar o objeto ao campo necessrio atravs de suaspropriedades "DataSet" e "DataField". A primeira maneira apropriada para exibir tanto ocontedo do campo e o texto de qualifica o no mesmo objeto. Por exemplo:

    Pessoa de contato: [frxDBDataSet1."Contact_Person"]

    necessrio usar uma sintaxe especial para links ao campo do BD:[nomeconjuntodedados."nomecampo"]. O nome do campo (assim como o nome do conjuntode dados) pode conter espaos, mas n o deve haver nenhum espao entre os smbolos"ponto" e "aspas".

    Alm disso, tambm podemos aplicar operaes de computa o a um campo na express o,como mostrado aqui:

    Comprimento (cm): [ * 2.54]

    Observe como devem ser usados colchetes e chevrons. Lembre-se de que colchetes s ousados por padr o para delimitar expresses no texto do objeto. Quando necessrio, oscolchetes podem ser substitudos por qualquer outro par de caracteres de abertura/fechamento(consulte a se o "Exibir expresses com a ajuda do objeto 'Texto'"). Chevrons s o usadosdentro de expresses para delinear as variveis do FastReport ou campos de BD. De maneiralgica, deveramos escrever:

    Pessoa de contato: []

    em vez de

    Pessoa de contato: [frxDBDataSet1."Contact_Person"]

    No entanto, ambas as notaes est o corretas, j que o FastReport n o requer colchetesquando a express o contm somente uma varivel ou somente um campo de BD. Em todosos outros casos, os chevrons s o necessrios, como em:

    Comprimento (cm): [ * 2.54]

    2.11 Aliases

    No relatrio anterior, a fonte de dados se chamava ADOTable1, os campos eram chamados"CustNo", "Company", "Phone" e "FAX", e ns nos referimos a eles no relatrio usando algoparecido com "[ADOTable1.CustNo"]". Isso fcil de entender? N o exatamente. Seria maisclaro se a fonte de dados e o campo fossem chamados "Nossos clientes" e "Nmero",respectivamente. No entanto, h uma maneira de evitar isso. Podemos usar pseudnimos oualiases para esses itens. No FastReport, tanto o conjunto de dados como seus campospossuem uma segunda propriedade de nome conhecida como UserName, ou seja, um alias,que pode ser alterada com facilidade. Sempre que for dado um alias a um componente (ouseja, UserName foi alterado do seu nome padr o), este alias deve ser usado no FastReport a

  • 29Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    propriedade Name do componente n o ser reconhecida.

    muito fcil configurar aliases para uma fonte de dados e seus campos no FastReport. Paraabrir o editor de alias, clique duas vezes no componente ADOTable1 ou use seu menu decontexto. possvel modificar o conjunto de dados e os aliases dos campos no editor, etambm especificar quais campos s o necessrios no relatrio. Vamos renomear o conjuntode dados e os campos conforme visto abaixo:

    O alias do conjunto de dados tambm pode ser modificado sem usar o editor de alias, aoalterar a propriedade "UserName" do componente ADOTable1.

    Tendo feito isso, agora precisamos modificar o relatrio, j que os nomes do relatrio e oscampos foram alterados. Para modificar os nomes dos campos em objetos do relatrio, maisfcil usar o quarto mtodo descrito na se o "Relatrio 'Lista de Clientes'". Mova o cursor sobreo objeto "Texto", de modo que o bot o aparea no lado direito do objeto, clique no bot o eselecione o campo da lista. Aps fazer isso a origem dos dados no conjunto de dados e seuscampos se torna mais aparente.

    Observao: melhor atribuir aliases no incio do design do relatrio, a fim de evitar renomeartodos os campos em um relatrio mais tarde.

  • 30 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    2.12 Variveis

    Assim como aliases, h outra maneira de ajudar o designer do relatrio a definir nomes maisinteligveis para campos de BD e outros elementos de informa o. Um nome de campo de BDou qualquer express o podem ser associados a uma varivel. Para criar e trabalhar comvariveis no FastReport, selecione o item de menu "Relatrio > Variveis...".

    A lista de variveis no FastReport possui uma estrutura de dois nveis. O primeiro nvel contma categoria e o segundo nvel contm a varivel em si. Esta categoriza o de variveis conveniente quando a lista de variveis for muito longa. Uma lista de variveis deve conter pelomenos uma categoria, o que significa que variveis n o podem estar localizadas no nvelsuperior. Alm disso, nomes de categorias n o podem ser includos em relatrios, ent o cadanome na lista deve ser nico.

    Vamos ilustrar o uso de variveis com o seguinte exemplo. Assumiremos que temos duasfontes de dados: a primeira "frxDBDataSet1", com os campos "CustNo" e "Name", e asegunda "frxDBDataSet2", com os campos "OrderNo" e "Date". Podemos associar aseguinte lista de variveis aos campos:

    Clientes Nmero do cliente Nome do clientePedidos Nmero do pedido Data do pedido

    onde "Clientes" e "Pedidos" s o duas categorias. Abra o editor de variveis e crie esta estruturausando os botes "Nova Categoria", "Nova Varivel" e "Editar". Para vincular as variveis aoscampos de BD, selecione uma varivel e clique duas vezes no campo de BD necessrio nopainel direito. O link ao campo do BD ser exibido no painel inferior. A varivel agora estassociada a esta express o, ent o o valor da varivel se torna o valor da express o. Se fornecessrio, a express o pode ser editada ou modificada manualmente, e qualquer fun o doFR ou outras variveis podem ser usadas nela. Lembre-se que categorias n o devem serassociadas a expresses.

  • 31Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Aps criar a lista de variveis, feche o editor de variveis. Agora podemos inserir as variveis norelatrio. Ao contrrio de campos de BD, h um nmero menor de mtodos de inser o.Podemos inserir uma varivel no texto do objeto manualmente ao digitar "[Nmero do cliente]",ou podemos arrastar uma varivel do painel "rvore de Dados" para a pgina do relatrio. Nestecaso necessrio abrir a guia "Variveis" neste painel.

    Vamos revisar o que aprendemos at agora:- O design de um relatrio composto de pginas de design- As pginas podem conter objetos FR, que podem ser colocados na pgina ou dentro de uma

    banda- Bandas s o espaos reservados na pgina de design e controlam onde os objetos que els

    contm s o exibidos na pgina de sada, de acordo com o tipo de banda- Objetos "Texto" contm o texto que desejamos exibir em uma certa posi o. Eles podem ter

    vrias linhas e podem conter texto esttico, campos de dados, variveis, expresses ou umacombina o destes

    - Bandas de tipos de dados (Mestre, Detalhe, Sub-detalhe, etc.), quando conectadas a umTfrxDbDataset, controlam o nmero de vezes que estas bandas s o exibidas (fileiras) e, emconjunto com o mecanismo de relatrios, determinam o nmero de pginas concludas

  • 32 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    geradas pelo relatrio. Observa o: apesar destas bandas de dados terem tipos comoMestre, Detalhe, etc., isto somente designa a rela o de locais na hierarquia deposicionamento das bandas nas pginas de sada. As relaes de dados dependem dasrelaes de tabela/consulta nos frxdbdatasets conectados. Cada nvel de banda de dadosrequer um "TfrxDbDataset" separado ou uma associa o equivalente.

    2.13 Objeto "Figura"

    O prximo objeto a ser abordado o objeto "Figura". Ele tambm usado nos relatrios comfrequncia. Ao usar este objeto possvel inserir logos, fotos (de um funcionrio, por exemplo)ou qualquer outras informaes pictricas. O objeto pode exibir grficos nos formatos "BMP","ICO", "WMF" ou "EMF".

    Vamos dar uma olhada nas funcionalidades deste objeto. Crie um relatrio em branco ecoloque um objeto "Figura" na pgina do relatrio. Se o editor de figura n o abrirautomaticamente, clique duas vezes no objeto "Figura". Voc pode carregar qualquer figura deum arquivo grfico ou apagar a figura existente e fechar o editor ao clicar na marca de sele overde.

    Algumas propriedades do objeto est o disponveis no menu de contexto, assim como noinspetor de objetos:

    - Tamanho Automtico- Esticar: ativado por padr o- Centro- KeepAspectRatio: ativado por padr o

    Quando "Tamanho Automtico" estiver ativado, o objeto redimensionado para o tamanho dafigura que contm. s vezes isso pode ser til se s o exibidas figuras de bancos de dados de

  • 33Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    diversos tamanhos. "Tamanho Automtico" desativado por padr o.

    "Esticar" ativado por padr o. Esta propriedade estende a figura dentro do objeto. Altere otamanho do objeto usando o mouse e voc ver que toda a figura sempre exibida dentro doquadro do objeto. Se "Esticar" for desativado, a figura (ou somente parte dela) exibida em seutamanho original. Este comportamento difere de "Tamanho Automtico" porque voc temcontrole sobre o tamanho do quadro do objeto, que pode ser maior o menor que a figura quecontm. Com "Tamanho Automtico" ativado, voc n o possui nenhum controle sobre otamanho do quadro do objeto.

    A propriedade "Centro" alinha a figura dentro do objeto.

    "KeepAspectRatio" ativado por padr o. Ela evita que a figura seja distorcida quando otamanho do objeto for modificado. Esta propriedade somente efetiva quando "Esticar"tambm estiver ativado. Quando "KeepAspectRatio" estiver ativado, um crculo desenhadopermanece sendo um crculo sem se tornar um oval, n o importando o tamanho do objeto"Figura". A figura estendida ocupa somente a parte do espao interno do objeto que necessria para exib-la com a taxa de propor o correta. Quando desativado, a figura estendida para preencher o quadro do objeto e ser distorcida se a taxa de propor o doquadro n o for a mesma da figura.

    Outra propriedade til que est disponvel somente no inspetor de objetos "FileLink". Ao inseriro nome de um arquivo, como c:\figura.bmp, ou uma varivel que contm o nome de umarquivo, como [figura_arquivo], ir carregar a figura do arquivo nomeado ao executar o relatrio.

    2.14 Relatrio com figuras

    O objeto "Figura", como muitos objetos no FastReport, pode exibir dados de um BD. Esteobjeto pode ser conectado a um campo de BD ao configurar as propriedades "DataSet" e"DataField" no inspetor de objetos. Ao contrrio do objeto "Texto", esta a nica maneira deconectar este objeto a seus dados.

    Vamos demonstrar isso com um relatrio que exibe os nomes e as imagens de alguns peixes.Crie um novo relatrio, coloque o componente "ADO Table" no relatrio e configure estaspropriedades:

    TableName = 'Biolife'UserName = 'Bio'

    Agora iremos adicionar objetos pgina do relatrio. Coloque um objeto "Texto" que contm"Peixe" na banda "TtuloDoRelatrio". Conecte a banda "DadosMestre" fonte de dados (cliqueduas vezes na banda e selecione "Bio" da lista). Aumente a altura da banda para 5 cm aoarrastar a parte inferior da banda para baixo ou ao usar o inspetor de objetos. Coloque umobjeto "Texto" na banda e conecte-o ao campo "CommonName", usando qualquer um dosmtodos j descritos. Depois disso, coloque um objeto "Figura" ao lado e conecte-o ao campo"Grfico" ao configurar suas propriedades no inspetor de objetos.

    DataSet = BioDataField = 'Graphic'

  • 34 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Observe que ambas as propriedades s o do tipo "Lista" e podem ser configuradas com osvalores necessrios usando o mouse. Para criar espao para a figura, estenda o objeto para 4x 2,5 cm.

    O design do relatrio agora est concludo, e ele produz o relatrio mostrado abaixo:

    2.15 Exibir texto com vrias linhas

    Vamos melhorar o exemplo anterior. A tabela "Biolife" possui um campo "Notes" que contmuma descri o detalhada de cada peixe. Atualize nosso relatrio ao adicionar este campo a ele.

  • 35Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    primeira vista, isso parece fcil adicionar um objeto "Texto" banda de dados entre osobjetos existentes, conect-lo ao campo "Notes" e configurar o tamanho do objeto como 8 x 2,5cm. No entanto, a visualiza o do relatrio n o mostra exatamente o que desejamos:

    FastReport executou exatamente o que foi instrudo a fazer. O campo "Notas" contm um textocom vrias linhas de comprimentos variados, porm o objeto "Texto" que exibe as informaesdeste campo tem um tamanho fixo. por isso que algumas linhas parecem cortadas. O quepode ser feito a respeito?

    claro que o tamanho do objeto pode ser aumentado ou o tamanho da fonte pode ser reduzido.No entanto, isso pode levar perda de espao na pgina de sada, j que alguns peixespossuem descries longas, e outros possuem descries curtas. O FastReport tem algumaspropriedades que nos permitem solucionar este problema.

    Essas propriedades permitem que uma banda ou um objeto ajustem sua alturaautomaticamente para criar o espao necessrio para um registro (fileira). Para obter isso,precisamos apenas ativar a propriedade "Esticar", tanto da banda como do objeto "Texto". Noentanto, isso n o tudo, j que um objeto "Texto" com texto mais longo deve ser capaz de seestender automaticamente. Para isso precisamos configurar outras propriedades tambm.

    O objeto "Texto" capaz de definir sua altura e largura automaticamente para criar espao paraseu contedo. "AutoWidth" e "EsticarMode" podem ser usado para isso. "AutoWidth" permiteque o objeto texto varie sua largura, para que todas as linhas criem espao sem dividirnenhuma palavra. Este modo til quando um objeto possui uma nica linha de texto, e quandoo aumento de tamanho direita n o afeta outros objetos. A propriedade "Esticar" permite que aaltura de um objeto aumente para acomodar o texto, sem alterar a largura do objeto. "Esticar"tem diversos modos que podem ser selecionados no inspetor de objetos:

    smDontEsticar n o estender o objeto (padr o)smActualHeight estender o objeto para criar espao para todo o textosmMaxHeight estender o objeto para que sua parte inferior alcance a parte inferior da banda

    no qual estiver colocado. Abordaremos este modo mais adiante

    Aqui estamos interessados na propriedade "Esticar" do objeto "Texto". Habilite-a usando o

  • 36 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    menu de contexto do objeto ou ao configurar "EsticarMode" como smActualHeight. Tambmhabilite a propriedade "Esticar" da banda. Visualize o relatrio e certifique-se de que tudo exibido como esperado.

    Como voc pode ver, ao criar o relatrio, o FastReport preenche os objetos com dados e osestende se "Esticar" for habilitado. Ele ent o calcula a altura da banda para que cada objetotenha espao suficiente. Se a propriedade "Esticar" da banda for desabilitada, este ajuste dealtura n o executado e a banda exibida na altura definida no design. Neste caso, veramosque objetos com texto mais longo seriam estendidos, mas a banda n o o seria, o que levaria sobreposi o do texto, j que a banda seguinte seria exibida imediatamente aps a anterior.

    2.16 Divis o de dados

    Vamos dar uma olhada em um aspecto peculiar deste relatrio: h muito espao em branco naparte inferior das pginas. Por que? Quando um relatrio criado, o mecanismo do FastReportpreenche o espao em branco da pgina com as bandas. Aps exibir cada banda, a posi oatual movida para baixo. Quando FastReport percebe que n h espao livre suficiente paraexibir a prxima banda (sua altura maior que o espao livre da pgina), ele cria uma novapgina e continua com a exibi o da banda neste ponto. Esta sequncia repetida para cadaregistro no conjunto de dados.

  • 37Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Nosso relatrio contm um objeto com texto longo, e por isso que a altura da banda bastante grande. Alm disso, se uma banda grande n o possuir espao suficiente em umapgina, ela deslocada para a prxima, deixando muito espao em branco na parte inferior dapgina, como mostrado aqui:

    Para limitar o desperdcio de papel, vamos usar um recurso do FastReport que transforma ocontedo de uma banda em pargrafos. Tudo que precisamos fazer habilitar a propriedade"AlllowSplit" da banda "Dados de 1o. Nvel". Voc ver que agora h menos espao vazio naparte inferior das pginas do relatrio:

    Como funciona essa divis o de bandas? H alguns objetos no FastReport que suportam esterecurso. Eles s o os objetos "Texto", "Linha" e "RichEdit". Eles podem ser "divididos", e outrosobjetos n o podem. Quando FastReport precisa dividir uma banda, ele o faz da seguintemaneira:

    - exibe os objetos n o divisveis que cabem no espao vazio- exibe os objetos divisveis parcialmente (objetos "Texto" s o exibidos de uma forma que

    todas as linhas cabem no objeto)- cria uma nova pgina e continua com a exibi o do objeto na banda- se um objeto n o divisvel n o possuir espao no espao vazio, ele deslocado para a

    prxima pgina; ao mesmo tempo todos os objetos localizados abaixo dele s o deslocadosconforme necessrio

    - o processo continua at que todos os objetos da banda seja exibidos por completo.

    O algoritmo de divis o se tornar mais claro ao olhar para este exemplo:

  • 38 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Deve ser observado que o algoritmo de divis o n o perfeito, e que a sada final pode n o serigual ao esperado. Esta op o deve ser usada com muito cuidado em casos onde objetos nabanda dividida s o agrupados de maneira complexa ou o tamanho das fontes difere. Segue umexemplo do que pode ser gerado.

    2.17 Quebra automtica de linha de objetos

    Em alguns designs de relatrio pode ser necessrio que o texto seja disposto ao redor deoutros objetos (frequentemente ao usar imagens). Vamos demonstrar como o FastReport podefazer isso em nosso exemplo atual.

    Adicione mais um objeto "Texto" banda de dados abaixo do objeto Bio."Notes", conformemostrado aqui:

  • 39Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Iremos desabilitar o Esticar no objeto Bio."Notes" e habilit-lo no objeto inferior. Para fazer otexto "fluir" do objeto Bio."Notes" para o objeto inferior, configure a propriedade "FlowTo" doobjeto Bio."Notes" no inspetor de objetos uma lista suspensa. Selecione o nome do objetoinferior nesta lista. O relatrio resultante ter a seguinte aparncia:

    Quando o relatrio for gerado, se o texto n o couber no objeto superior, o excesso deslocadopara o objeto inferior. Ao arranjar os dois objetos em volta da imagem, obtido o efeito daquebra automtica de linha.

    Observe: o objeto principal deve ser inserido no relatrio antes de inserir o objeto vinculado, oude outro modo o fluxo do texto pode n o funcionar corretamente! Se isto ocorrer, selecione oobjeto vinculado e traga-o para a frente usando o item de menu "Editar > Trazer para Frente".

  • 40 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    2.18 Exibir dados na forma de uma tabela

    s vezes necessrio exibir dados na forma de uma tabela com borda. Um exemplo deste tipode relatrio uma lista de preos. Para criar este tipo de relatrio no FastReport, somente necessrio habilitar bordas para os objetos localizados na banda de dados. Vamos demonstrardiversas variaes de bordas com um exemplo.

    Crie um relatrio similar a este:

    Coloque os objetos "Texto" lado a lado na banda e diminua a altura da banda.

    O primeiro tipo de tabela, e tambm o mais simples, tem uma borda completa nas clulas.Para obter isso, habilite todas as linhas da borda (encontradas na propriedade Frame.Typ) paracada objeto:

    O prximo tipo de borda desenha somente linhas de clulas horizontais ou verticais, novamenteusando a propriedade Frame.Typ:

    Finalmente, para desenhar apenas uma borda externa para a tabela, o relatrio precisa sermodificado:

  • 41Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Voc pode ver que adicionamos dois objetos "Texto", um na banda de cabealho da pgina eoutro na banda de rodap da pgina. As linhas de borda apropriadas para os objetos nasbordas da banda de dados foram habilitadas, resultando em um relatrio com o seguinteaspecto:

    Todos esses exemplos continham bandas que tinham tamanhos fixos. Como possvel exibiruma tabela quando a banda estendida? Vamos explicar como isso feito atravs de umexemplo. Adicione um campo novo (um texto com vrias linhas de Bio."Notes") a nossorelatrio. Como voc j aprendeu, a propriedade "Esticar" deve ser habilitada tanto para esteobjeto como para a banda no qual o objeto est localizado, para que a altura da banda sejaalterada dependendo do tamanho do texto no objeto "Texto". O relatrio gerado tem esteaspecto::

    Isso difere um pouco do que precisamos a aparncia melhor se as bordas dos objetos

  • 42 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    vizinhos tambm s o estendidas. O FastReport pode solucionar este problema com facilidade.Configure a propriedade "StretchMode" como smMaxHeight no inspetor de objetos para todosos objetos que devem ser estendidos, e o ncleo do FastReport calcular a altura de bandamxima e "estender" objetos que tm Esticar habilitado at a extremidade inferior da banda. Jque bordas de objetos s o estendidas juntas com o objeto, a aparncia do relatrio alterada:

    2.19 Imprimir rtulos

    Ao contrrio de relatrios do tipo tabela, outros relatrios (como relatrios de impress o dertulos) podem ter os dados arranjados de maneira que um campo esteja abaixo do outro.Vamos dar uma olhada em um exemplo deste tipo de relatrio que exibe dados sobre peixes,como no exemplo anterior. Os dados do relatrio s o apresentados como rtulos e possuem aseguinte estrutura:

    Ao visualizar, veramos o seguinte:

  • 43Criar relatrios

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    Observe que h muito espao vazio direita da pgina. Para usar toda a pgina, possvelconfigurar o nmero de colunas nas quais s o exibidos os dados nas configuraes da pginado relatrio. Para fazer isso, clique duas vezes no espao vazio na pgina de design ou use"Arquivo > Configuraes da Pgina..." no menu.

    A contagem de colunas, a largura e as posies s o configuradas na guia "Outras Opes" nacaixa de dilogo. Em nosso exemplo, somente o Nmero precisa ser configurado como 2, jaque o FastReport ajusta as outras opes automaticamente. A borda da coluna exibida nodesigner como uma linha vertical fina:

    O relatrio agora criado da seguinte maneira. FastReport repete a banda "Dados de 1o. Nvel"enquanto houver espao em branco na parte inferior da pgina. Depois disso, criada umanova coluna na mesma pgina e as bandas de dados continuam a ser repetidas a partir do topoda coluna nova. Isso difere de relatrios simples, nos quais criada uma nova pgina em vezde uma coluna nova. Quando a segunda coluna tiver sido preenchida, criada uma terceiracoluna, e assim por diante apesar de nosso exemplo possuir somente duas colunas. Quandotodas as colunas tiverem sido preenchidas, o FastReport cria uma nova pgina e continuaexibindo os dados, comeando novamente pela primeira coluna.

    Nosso relatrio de duas colunas deve ter esta aparncia:

  • 44 FastReport VCL 5 User's Manual

    FastReport v4 1998-2014 Fast Reports Inc. Manual v5.0.0

    A propriedade "Columns", disponvel no inspetor de objetos para todas as bandas de dados,oferece outra maneira de configurar o nmero de colunas. No entanto, se esta propriedade fordiferente de zero, o nmero de colunas configurado somente para a banda de dadosselecionada, e n o para toda a pgina (como no exemplo anterior). O efeito resultante exibiros dados primeiro da 'esquerda para a direita e depois de cima para baixo', em vez da sada 'decima para baixo e depois esquerda para a direita' mostrada acima.

    Desabilite as colunas na caixa de dilogo de Opes da Pgina (configure o Nmero decolunas como 1) e insira 2 na propriedade "Columns" da banda de dados. Observe que apropriedade "ColumnWidth" tambm deve ser modificada do zero padr o para prevenir que acoluna 2 se sobreponha coluna 1. De maneira opcional, a propriedade "ColumnGap" tambmpode ser alterada. O FastReport ent o exibe as bordas das colunas como linhas pontilhadas:

    Este design exibe os dados na ordem 'esquerda para a direita e depois de cima para baixo'.

    2.20 Bandas filho

    Pode haver um problema quando um campo em um relatrio tipo rtulo possui contedo decomprimento varivel. Para simular isso em nosso exemplo, vamos reduzir a largura do objetoBio."Common Name" para 2,5 cm e habilitar a propriedade "Esticar" neste objeto e tambm nabanda "Dados de 1o.