Relatórios Rave

Embed Size (px)

Citation preview

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

E-BOOK: Desenvolvendo relatrios em Delphi com Rave Report.

Por Ramos de Souza Janoneswww.ramosdainformatica.com.br

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

1

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Dedicatria : Aos meus sobrinhos Gabriel e Lucas. Que eles percam o medo do lobo mau.

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

2

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

IndiceNOTAS DO AUTOR.............................................................................................................6 CAPTULO 1 DESENVOLVENDO UMA APLICAO EXEMPLO .......................................8 Criando o projeto ........................................................................................................................................................8 Formulrio de Cadastro e Manuteno de Clientes ............................................................................................9 Formulrios de Cadastro de Setor........................................................................................................................14 Formulrio de Cadastro e Manuteno de Funcionrios..................................................................................17 ltimos ajustes em nossa aplicao exemplo .................................................................................................... 23 Criando um Splash Screen do sistema exemplo ................................................................................................23 Alterando cursores ..................................................................................................................................................24 CAPTULO 2 INTRODUO AO RAVE REPORT ............................................................ 26 Os componentes Rave Report do Delphi ........................................................................................................... 26 Conhecendo o Visual Designer do Rave ............................................................................................................. 27 Testando o relatrio ................................................................................................................................................ 34 Sobre os arquivos do Rave ..................................................................................................................................... 35 Gerando o relatrio no Delphi .............................................................................................................................. 36 CAPTULO 3 CRIANDO RELATRIOS COM RAVE REPORT .......................................... 37 Relatrio Lista Geral de Funcionrios ............................................................................................................... 37 Preparando a Aplicao .........................................................................................................................................37 Configurao dos componentes Rave na Aplicao.........................................................................................37 Configuraes Gerais do Rave .............................................................................................................................38 Acesso aos bancos de dados..................................................................................................................................40 Construindo o Relatrio .........................................................................................................................................41 Montando o cabealho............................................................................................................................................ 44 Utilizando imagem no Rave sem armazena-la ...................................................................................................45 Data de Impresso do Relatrio ...........................................................................................................................45 Inserindo os campos do banco de dados ............................................................................................................ 47 Numerao de Pginas............................................................................................................................................ 49 Imprimindo o relatrio........................................................................................................................................... 50 Relatrio Listagem Geral de Funcionrios com quebra de grupo ............................................................. 51 Economizando tempo de desenvolvimento em relatrios que utilizem o mesmo banco de dados de um relatrio desenvolvido anteriormente..................................................................................................................51 Construindo o Relatrio .........................................................................................................................................51 Montando o cabealho...........................................................................................................................................55 Data de Impresso do Relatrio ...........................................................................................................................56

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

3

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________ Imprimindo o relatrio ...........................................................................................................................................59 Etiqueta de Clientes................................................................................................................................................. 60 Preparando a Aplicao .........................................................................................................................................60 Configurao dos componentes Rave na Aplicao.........................................................................................60 Acesso aos bancos de dados..................................................................................................................................61 Configurando a Etiqueta no Rave ........................................................................................................................62 Imprimindo as etiquetas.........................................................................................................................................65 Relatrio com Mltiplas Pginas ......................................................................................................................... 66 Relatrio Mestre Detalhe ....................................................................................................................................... 70 CAPTULO 4 CONHECENDO OS COMPONENTES DO RAV E ......................................... 74 Palheta de componentes Drawing ........................................................................................................................ 74 Palheta de componentes Bar Code ...................................................................................................................... 75 Palheta de componentes Standard ...................................................................................................................... 76 Exemplo de utilizao do componente PageNumInit .......................................................................................77 Palheta de componentes Report........................................................................................................................... 79 Exemplo de utilizao do componente CalcOp .................................................................................................81 Palheta de componentes Zoom............................................................................................................................. 85 Palheta de componentes Colors............................................................................................................................ 86 Palheta de componentes Lines .............................................................................................................................. 86 Palheta de componentes Fills................................................................................................................................ 87 Palheta de componentes Fonts.............................................................................................................................. 87 Palheta de componentes Alignment .................................................................................................................... 87 CAPTULO 5 DICAS E SOLUES ................................................................................. 89 Traduzindo o Preview............................................................................................................................................. 89 Gerao e Impresso de Cdigo de Barras ....................................................................................................... 91 Impresso de Grficos ............................................................................................................................................ 92 Gerando relatrios em formato PDF.................................................................................................................. 93 Gerando Relatrios em formato HTML ............................................................................................................ 94 Gerando Relatrios em formato RTF ................................................................................................................ 94 Gerando Relatrios em formato TXT................................................................................................................ 95 Mirroring Espelhamento.................................................................................................................................... 95 Pgina Global ..........................................................................................................................................................95

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

4

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________ Passagem de Parmetros........................................................................................................................................ 96 Controle de Acesso a relatrios ............................................................................................................................ 97 A partir de relatrios...............................................................................................................................................97 A partir de banco de dados....................................................................................................................................99 Indicar pgina inicial ............................................................................................................................................100 Mensagem de Erro: Unable to gain control of Rave data Communication System. ...........................101 Mensagem de Erro: No datalink drivers have been loaded. ......................................................................101 Mensagem de Erro: Drive C: not exist. Please verify the correct drive was given. .............................101 Carregar imagem via programao..................................................................................................................102 Imprimir em Duplex .............................................................................................................................................102 Testar valor antes de imprimir ..........................................................................................................................102 Campos Calculados no Rave ...............................................................................................................................103 Imprimindo Bitmap usando o RAVE em modo cdigo...............................................................................103 Imprimindo RichText em mltiplas pginas..................................................................................................104 Convertendo arquivos NDR para PDF............................................................................................................105 Convertendo arquivos NDR para HTML .......................................................................................................105 Imprimindo em Matricial ....................................................................................................................................106

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

5

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Notas do AutorEste livro foi desenvolvido com o objetivo de atender membros da comunidade Delphi, que necessitam estar atualizados com mudanas de mercado. A partir da verso 7 do Delphi, a Borland deixa de adotar o Quick Report que acompanha o Delphi desde sua primeira verso para adotar o Rave Report. Apesar de ser mais fcil e poderoso que o Quick Report, desenvolvedores encontram dificuldades com esta nova ferramenta, apenas problemas que toda mudana costuma causar, e pode ter certeza, instalar o Install Shield no Delphi 7 no uma grande soluo, preciso acompanhar as mudanas de mercado.. Este livro tem como objetivo principal auxiliar o desenvolvedor na migrao destas ferramentas. A fim de auxiliar o leitor, em futuras dvidas e questes referentes ao contedo deste livro e do prprio Rave, foi criado no site do autor (www.ramosdainformatica.com.br) um frum de discusso a respeito, ao qual o autor freqentar uma vez por semana, e uma rea de downloads com arquivos teis e novos exemplos de utilizao sobre Rave Report que possam surgir ao leitor, dando maior cobertura sobre o assunto. possvel encontrar nesta seo de downloads, um conversor de relatrios de Quick Report para Rave Report, que poder economizar muito tempo de desenvolvimento e transao de verses das aplicaes desenvolvidas em verses anteriores ao Delphi 7. importante fazer um comentrio geral sobre cada captulo do livro, para que o leitor possa navegar e compreender melhor o contedo, servindo tambm como um guia de consulta. O primeiro Captulo montado uma pequena aplicao exemplo, que ser utilizado para a gerao dos primeiros relatrios exemplos. Caso o leitor j possua conhecimentos na linguagem Delphi aconselhvel prosseguir para o prximo captulo. O Captulo a seguir, uma introduo ao Rave Report, onde ser gerado, atravs de Wizards, o primeiro relatrio no Rave, e comentrios em geral sobre o Designer do Rave. No Captulo: Criando Relatrio com Rave Report, iniciada uma srie de exemplos prticos sobre a gerao de relatrios, como pode ser observado atravs do ndice deste

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

6

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

livro. Onde o leitor conhecer e trabalhar com diversos componentes do Rave e compreender sua funcionalidade. O captulo 4 feito uma breve discusso sobre cada componente do Rave Report, e os componentes que ainda no foram utilizados at ento, nos captulos anteriores, so montados exemplos que ilustraro melhor a utilizao destes componentes. O ltimo captulo composto de dicas e solues a respeito de dvidas freqentes que podem ocorrer ao dia a dia do desenvolvedor, tornando este livro uma referncia ao leitor. Espero que este livro seja muito til aprendizado e utilizao desta nova ferramenta do Delphi, e aguardo sua visita ao site.

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

7

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Captulo 1 Desenvolvendo uma aplicao exemploNeste primeiro captulo, ser desenvolvida uma pequena aplicao exemplo para a gerao de relatrios. Caso o leitor j tenha conhecimentos em programao Delphi recomendvel ao prximo captulo. Ser desenvolvida uma aplicao simples de cadastro de Clientes e Funcionrios, com o banco de dados em Paradox. Porm, os exemplos deste livro no se basearo somente nesta simples aplicao, sero desenvolvidas, no decorrer do livro, diversas outras aplicaes exemplos para uma melhor ilustrao sobre a utilizao do Rave Report.

Criando o projetoPara iniciar o desenvolvimento da aplicao exe mplo, deste livro, v ao menu do Delphi File | New | Application. Ser criado um novo formulrio, no Object Inspector faa as seguintes modificaes: Caption = Aplicao Exemplo Name = frmMainForm

Inicialmente deve ser criado um menu, com o componente MainMenu da paleta de componentes Standard. Com um duplo clique neste componente dever ser criada a opo do menu:

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

8

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Onde, na opo de Cadastro temos: Clientes, Funcionrios, Setores e Sair. Para a criao do menu, na propriedade Caption, do Object Inspector, de cada opo escreva respectivamente: &Cadastro, Clien&tes, &Funcionrios, S&etores e &Sair. Onde o smbolo & utilizado para habilitar a navegao pelo menu atravs do teclado, utilizando a tecla ALT mais a letra correspondente, que no caso, ser a letra antes do smbolo &. Observe, na figura a cima, que foi criado uma separao entre as opes de Funcionrios e Sair. Para criar esta separao, basta colocar, na propriedade Caption, o smbolo de menos -. Em seguida, crie as opes de relatrios que, inicialmente, teremos: Etiquetas para clientes em Geral, Etiquetas para Aniversariantes, Relao de Funcionrios por Departamento.

Formulrio de Cadastro e Manuteno de ClientesEnto h trs tabelas, de clientes, funcionrios e departamentos. Ser criado agora suas telas de manuteno e cadastro. Primeiramente, crie o formulrio de clientes, indo ao menu File | New | Form do Delphi, ser apresentado um novo Form, configure, no object inspector, as propriedades do formulrio: Caption = Cadastro de Clientes

_________________________________________________________________________ Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

9

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Name = frmClientes Coloque um componente Panel, da aba de componentes Standard, no formulrio com as seguintes propriedades, no Object Inspector: Align = alTop Caption = (Vazio) Name = pnlClientes Na palheta de componentes, da aba Win32, coloque o componente PageControl, com a seguinte propriedade, no Object Inspector: Align = alClient Em seguida, clique com o boto direito do mouse, sobre o componente PageControl, e escolha a opo New Page, ser criada uma pasta. Mude a propriedade Caption de TabShit1 para &Geral. Crie, novamente uma nova pasta clicando com o boto direito do mouse, sobre o componente PageControl, e escolha a opo New Page, ser criado uma segunda pasta. Mude a propriedade Caption de TabShit2 para &Manuteno. Devendo ficar assim:

Deve-se criar, neste momento, a conexo com o banco de dados. Como estamos utilizando neste exemplo tabela Paradox, utilize o componente Table, da aba de componentes BDE, em seguida, coloque as seguintes propriedades, no Object Inspector: DataBaseName = [Nome do Alias] Name = tblClientes TableName = Clientes.db

_________________________________________________________________________ 10 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Agora, coloque um componente DataSource, da aba de componentes Data Access, que faz a comunicao entre o banco de dados e outros componentes que iremos utilizar, com o banco de dados em questo. Coloque as seguintes propriedades, no Object Inspector: DataSet = tblClientes Name = dtsrcClientes Da aba de componentes Data Controls, coloque um DBGrid. Configure as propriedades deste componente, no Object Inspector, como: Align = alClient DataSource = dtsrcClientes Selecione o componente tblClientes, e no Object Inspector, mude a propriedade Active de False para True. No Panel, de nosso formulrio, coloque um componente DBNavigator, que utilizado para navegar por nossa aplicao, da aba de componente Data Controls e, altere suas propriedades para: DataSource = dtsrcClientes Flat = True ShowHint = True Ainda nas propriedades do DBNavigator, clique em Hints, ser apresentada a tela a seguir:

Substitua o texto desta caixa de dilogos, traduzindo para o portugus. A apresentao de hints importante para auxiliar o usurio do sistema a compreender sua utilizao. Terminamos a primeira parte deste formulrio de Cadastro de Clientes, devendo este formulrio ficar como mostra a figura a seguir:

_________________________________________________________________________ 11 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Clique na pasta de Manuteno. Sero colocados os componentes para cadastramento, edio e visualizao dos dados cadastrados, em relao aos clientes. Para isso, d um duplo clique no componente Table de nosso formulrio, o t lClientes, onde dever b aparecer uma janela, nesta janela, clique com o boto direito do mouse e escolha a opo Add Fields , ser apresentado uma nova janela que contm os campos da tabela de clientes, clique no boto de OK. Selecione o campo Telefone, que iremos colocar uma mascara neste campo com as formataes de um telefone, no Object Inspector, altere a propriedade EditMask para !\(99\)0000-0000;1;_. Agora, devemos colocar os campos, na pasta de manuteno do formulrio de clientes. Para isso, selecione todos os campos:

Agora arraste estes campos selecionados para o formulrio, devendo ficar como mostra a imagem a seguir:

_________________________________________________________________________ 12 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

preciso colocar um boto para fechar o nosso formulrio. Da aba de componentes Additional, coloque um componente BitBtn e altere suas propriedades, no Object Inspector, para: Kind = bkClose Caption = &Fechar

Selecione o DBNavigator e, no Object Inspector na aba Events, no evento OnClick escreva o cdigo que apresentado figura a seguir, este cdigo diz que sempre que o usurio desejar cadastrar um novo cliente, dever ser apresentada pasta de Manuteno.

_________________________________________________________________________ 13 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Salve o formulrio como Clientes.

Formulrios de Cadastro de SetorO cadastro de setor importante neste exemplo porque ser relacionado com o de funcionrios. Diferente do cadastro de Clientes ser utilizado Wizards. V ao menu File | New | Other, do Delphi. Ser apresentada a janela New Items. Selecione, na aba Business, a opo Database Form Wizard e clique no boto OK:

Ser apresentado um formulrio, onde poder ser configuradas as preferncias na gerao do novo formulrio, com acesso a banco de dados que ser criado. Em Form Options, deixe selecionada a opo Create a simple form, esta opo ir criar um formulrio simples. Na opo, mais a baixo, deixe selecionada a opo Create a form using Ttable objects, esta opo ir fazer a conexo com os bancos de dados utilizando o componente Table.

_________________________________________________________________________ 14 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Clique em Next.

Ser apresentada uma tela onde poder localizar e selecionar o banco de dados que ser usado na criao do novo formulrio. Neste exemplo a tabela Setores.db. Clique em Next.

Nesta outra tela, deve-se passar os campos que se deseja que seja apresentado no formulrio, de Avaliable Fields para Ordered Selected Fields, utilizando os botes entre estes campos. Em seguida, clique em Next.

_________________________________________________________________________ 15 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Neste exemplo escolha Horizontally. Clique em Next.

Escolha gerar o formulrio com a opo Form Only e clique em Finish. Ser criado ento o nosso formulrio de cadastro de Setores:

_________________________________________________________________________ 16 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Altere as propriedades deste formulrio, no Object Inspector, para: Caption = Cadastro e Manuteno de Setores Name = frmSetores Selecione o componente Table do formulrio e altere as propriedades deste formulrio, no Object Inspector, para: Name = tblSetores Active = True Selecione o componente DataSource do formulrio e altere as propriedades deste formulrio, no Object Inspector, para: Name = dtsrcSetores Salve este formulrio como: Setores.

Formulrio de Cadastro e Manuteno de FuncionriosEste processo bastante parecido com o de clientes, porm, neste cadastro haver o relacionamento com a tabela de Setores. Primeiramente, criamos o formulrio de funcionrio, indo ao menu File | New | Form, do Delphi, ser apresentado um novo Form, configure as propriedades do formulrio como: Caption = Cadastro de Funcionrios

_________________________________________________________________________ 17 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Name = frmFuncionarios Coloque um componente Panel, da aba Standard, no formulrio com as seguintes propriedades no Object Inspector: Align = alTop Caption = (Vazio) Name = pnlFuncionarios Na palheta de componentes, da aba Win32, coloque o componente PageControl, com as seguintes propriedades, no Object Inspector: Align = alClient Em seguida, clique com o boto direito do mouse sobre o componente PageControl e, escolha a opo New Page, ser criado uma pasta. Mude a propriedade Caption de TabShit1 para &Geral. Crie novamente uma nova pasta, clicando com o boto direito do mouse, sobre o componente PageControl, e escolha a opo New Page, ser criada uma pasta. Mude a propriedade Caption de TabShit2 para &Manuteno. Devendo ficar assim:

Deve-se criar, neste momento, a conexo com o banco de dados. Como estamos utilizando tabela Paradox utilize o componente Table, na aba de componentes BDE, em seguida, coloque as seguintes propriedades no Object Inspector: DataBaseName = [Nome do Alias] Name = tblFuncionarios TableName = Funcionarios.db Agora, coloque um componente DataSource, da aba de componentes Data Access, que faz a comunicao entre o banco de dados e outros componentes que iremos utilizar,

_________________________________________________________________________ 18 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

com o banco de dados em questo. Coloque as seguintes propriedades, no Object Inspector: DataSet = tblFuncionarios Name = dtsrcFuncionarios Da aba de componentes Data Controls, coloque um DBGrid. Configure as propriedades deste componente, no Object Inspector, como: Align = alClient DataSource = dtsrcFuncionarios Selecione o componente tblFuncionarios e na propriedade, do Object Inspector, mude a propriedade Active de False para True. No Panel, do formulrio, coloque um componente DBNavigator, que utilizado para navegar por nossa aplicao, da aba de componentes Data Controls, e altere suas propriedades para: DataSource = dtsrcFuncionarios Flat = True ShowHint = True Ainda nas propriedades do DBNavigator, clique em Hints, ser apresentada a seguinte tela:

Substitua o texto desta caixa de dilogos, traduzindo para o portugus. A apresentao de hints importante para auxiliar o usurio do sistema a compreender sua utilizao. Terminamos a primeira parte deste formulrio de Cadastro de Funcionrios, devendo ficar como mostra a figura a seguir:

_________________________________________________________________________ 19 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Clique na pasta de Manuteno. Deve-se colocar os componentes para cadastramento, edio e visualizao dos dados cadastrados em relao aos clientes. Para isso, d um duplo clique no componente Table de nosso formulrio, o tblFuncionarios, onde dever aparecer uma janela, nesta janela, clique com o boto direito do mouse e v opo Add Fields, ser apresentado uma nova janela que contm os campos da tabela de clientes, clique no boto de OK. Selecione o campo Telefone, que iremos colocar uma mascara neste campo com as formataes de um telefone, no Object Inspector, altere a propriedade EditMask para !\(99\)0000-0000;1;_. Agora iremos colocar os campos na pasta de manuteno do formulrio de funcionrios. Para isso, selecione todos os campos:

Arraste estes campos selecionados para o formulrio, devendo ficar como mostra a imagem a seguir:

_________________________________________________________________________ 20 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

preciso colocar um boto para fechar o formulrio. Da aba de componentes Additional, coloque um componente BitBtn e altere suas propriedades, no Object Inspector, para: Kind = bkClose Caption = &Fechar

Selecione o DBNavigator, e no Object Inspector da aba de componentes, Events, no evento OnClick escreva o cdigo que apresentado na figura a seguir, este cdigo diz, que sempre que o usurio desejar cadastrar um novo cliente, dever ser ativada a pasta de Manuteno.

_________________________________________________________________________ 21 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Salve o formulrio como Funcionarios. Ainda no est pronto o formulrio de funcionrios. preciso realizar um relacionamento entre a tabela de setores, onde, atravs de um componente BDLookup o usurio possa escolher um setor de onde trabalha este funcionrio. Para isso, acrescente um novo componente Table ao formulrio, e configure suas propriedades como: DataBaseName = [Nome do Alias] TableName = Setores.db Name = tblSetores Adicione um componente DataSource e configure suas propriedades: DataSet = tblSetores Name = dtsrcSetores D um duplo clique sobre o componente Table, tblClientes, ser apresentado janela com os campos da tabela de clientes. Pressione o boto direito do mouse e escolha a opo New Field. Faa as configuraes como mostra a figura a baixo:

Em seguida, pressione o boto OK. Observe, que na janela dos campos da tabela, foi criado o campo SetorLookup, em seguida arraste-o para o formulrio, no lugar do DBEdit, de Setor, assim estar pronto o nosso relacionamento com a tabela de Funcionrios e Setores:

_________________________________________________________________________ 22 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

ltimos ajustes em nossa aplicao exemploCriando um Splash Screen do sistema exemploPara criar um Splash Screen para o sistema exemplo, crie um novo formulrio para a aplicao, indo ao menu File | New | Form, do Delphi. Altere as seguintes propriedades deste formulrio: Name = frmSplash BorderStyle = bsNone Color = clBtnHighlight Agora coloque um componente Image, da aba de componente Additional, e na propriedade Picture, do Object Inspector, ser apresentado janela Picture Editor:

_________________________________________________________________________ 23 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Clique no boto Load, e escolha uma imagem, em seguida, clique sobre o boto OK. Agora, v a propriedade do componente Image, chamada Stretch e altere de False para True. Com isso, voc poder redimensionar o tamanho da imagem ao formulrio. Agora, devemos fazer com que, sempre que executar o sistema, abrir primeiro nosso Splash Screen. Ento, v ao menu do Delphi: Project | View Source. Ser apresentado o cdigo do projeto, acrescente o seguinte cdigo, que est em negrito: begin Application.Initialize; frmSplash := TfrmSplash.Create(Application); frmSplash.Show; frmSplash.Refresh; Application.CreateForm(TfrmMainForm, frmMainForm); Application.CreateForm(TfrmClientes, frmClientes); Application.CreateForm(TfrmSetores, frmSetores); Application.CreateForm(TfrmFuncionarios, frmFuncionarios); frmSplash.Free; Application.Run; end. Est pronto o Splash Screen.

Alterando cursoresCom o passar do tempo, a quantidade de registros em uma tabela pode aumentar consideravelmente, o que pode causar uma certa demora ao abrir os formulrios. preciso comunicar ao usurio para que ele aguarde enquanto o formulrio est sendo carregado. A melhor forma de comunicar alterando o cursor, de seta para ampulheta. Para realizar esta operao faa o seguinte: Voltando ao formulrio principal da aplicao, no evento OnClick da opo de menu Clientes, digite o cdigo a seguir:procedure TfrmMainForm.Clientes1Click(Sender: TObject); var OldCursor : TCursor; // Varivel para criar cursor begin OldCursor := Screen.Cursor; // Pega cursor Atual Screen.Cursor := crHourglass; // Define novo cursor try frmClientes := TfrmClientes.Create(Application); // Cria formulrio frmClientes.show; // Chama formulrio finally // Depois de carregado novo formulrio Screen.Cursor := OldCursor; // Volta ao cursor antigo. end; end;

_________________________________________________________________________ 24 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Voltando ao formulrio principal da aplicao, no evento OnClick da opo de menu Setores, digite o cdigo a seguir:procedure TfrmMainForm.Clientes1Click(Sender: TObject); var OldCursor : TCursor; // Varivel para criar cursor begin OldCursor := Screen.Cursor; // Pega cursor Atual Screen.Cursor := crHourglass; // Define novo cursor try frmSetores := TfrmSetores.Create(Application); // Cria formulrio frmSetores.show; // Chama formulrio finally // Depois de carregado novo formulrio Screen.Cursor := OldCursor; // Volta ao cursor antigo. end; end;

Voltando ao formulrio principal da aplicao, no evento OnClick da opo de menu Funcionrios, digite o cdigo a seguir:procedure TfrmMainForm.Clientes1Click(Sender: TObject); var OldCursor : TCursor; // Varivel para criar cursor begin OldCursor := Screen.Cursor; // Pega cursor Atual Screen.Cursor := crHourglass; // Define novo cursor try frmFuncionarios := TfrmFuncionarios.Create(Application); // Cria formulrio frmFuncionarios.show; // Chama formulrio finally // Depois de carregado novo formulrio Screen.Cursor := OldCursor; // Volta ao cursor antigo. end; end;

_________________________________________________________________________ 25 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Captulo 2 Introduo ao Rave ReportOs componentes Rave Report do DelphiA partir da verso 7 do Delphi, a Borland deixou de trabalhar com o Quick Report, que acompanhava desde sua primeira verso. Esta mudana foi necessria para acompanhar a evoluo, que a Borland vem realizando com o decorrer das verses. Com o Rave Report o desenvolvedor pode criar e visualizar relatrios, tanto em CLX quanto VCL (plataformas Linux e Windows), alem de permitir que o desenvolvedor inclua os projetos de relatrios em seus executveis.

_________________________________________________________________________ 26 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________ Aba de componentes do Rave Report no Delphi.

O primeiro componente da palheta Rave o TRvProject. Este controla a impresso e visualizao dos relatrios. este componente que possibilita trabalhar com a criao e visualizao de relatrios. O Componente TrvSystem um componente fundamental para integrao e funcionalidade de uma pr-visualizaco, antes da impresso. este componente que manda o relatrio para impresso ou visualizao. , tambm, com este componente que se faz ligao entre os componentes TRvNDRPreview, TRvNDRPrinter e TRvNDRWriter. Todos fceis de trabalhar. O Componente TRvNDRWriter usado em conjunto com os componentes TRvNDRPreview e TRvNDRPrinter. Os prximos 4 componentes da lista so: TrvCustomConnection, TRvDataSetConnection, TRVTableConection e TrvQueryConection, que so utilizados para realizar conexo a banco de dados para gerao dos relatrios. Onde temos: - TrvCustomConnection: Este componente realiza a conexo tradicional em seu banco de dados. - TRvDataSetConnection: Seta o acesso ao banco de dados. - TRVTableConection: Implementa a conexo ao banco de dados. - TRvQueryConection: Faz conexo como se fosse um Query. Os prximos 2 componentes so: - TRvRenderPreview: Componente que realiza os controles do preview. - TRvRenderPreview: Componente que realiza a administrao (funcionamento) de previews. Os quatros ltimos componentes so: - TRvRenderPDF: Gera relatrios em formato de PDF. - TRvRenderHTML: Gera relatrios em HTML. - TRvRenderRTF: Gera relatrios no formato Rich-Text. - TRvRenderTEXT: Gera relatrios em formato de texto (ASCII).

Conhecendo o Visual Designer do RaveNeste primeiro exemplo ainda no ser usado o sistema exemplo desenvolvido no captulo anterior, ser criado um relatrio simples utilizando os bancos de dados, que acompanham o Delphi.

_________________________________________________________________________ 27 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

O melhor caminho para se aprender a trabalhar corretamente com Rave iniciando o trabalho com um simples relatrio: Com o Delphi ativo v ao menu File | New | Application, do Delphi. Em seguida, coloque um componente Table e configure suas propriedades como: DataBaseName = DBDemos TableName = customer.db Name = tblCustomers Active = True Coloque um componente DataSource e faa a ligao com o componente Table. Em seguida, coloque um componente RvTableConnection, configure suas propriedades, no Object Inspector, como: Name = rvtblcnctnRelSimples Table = tblCustomers Em seguida, coloque um componente RvProject e altere a propriedade Name para RelatorioSimples.

Componentes requeridos para desenvolvimento deste exemplo.

Ser aberto o Visual Designer do Rave para a criao deste primeiro relatrio. Clique sobre o componente RvProject, do formulrio, e com o boto direito do mouse v a opo Rave Visual Designer...

Iniciando o Rave Visual Designer.

_________________________________________________________________________ 28 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Ser apresentada a tela de design de rela trio, como mostra a imagem a seguir:

O Report Authoring Visual Environment (R.A.V.E).

Neste captulo, no ser dada nfase sobre a utilizao desta ferramenta, ser criado apenas um relatrio simples com a utilizao de Wizard, o leitor perceber como fcil sua criao. Uma vez com o Rave aberto, a primeira coisa que necessitamos fazer criar uma conexo com o banco de dados para o relatrio. Selecione File | New Data Object, no menu do Rave. Ser aberta a janela Data Connection, que oferece ao desenvolvedor diversas opes de conexo com banco de dados.

_________________________________________________________________________ 29 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Selecione Direct Data View, e pressione o boto de Next. O Rave checa no formulrio do Delphi, onde foi chamado, e mostra uma lista de opes:

Lista de opes que o Rave detectou dos componentes do Delphi.

Se o desenvolvedor fez tudo certo, ser mostrado o componente de conexo utilizado para os bancos de dados. Clique no boto Finish. O desenvolvedor poder visualizar todos os campos da tabela, ao lado direito do Rave, em uma rvore de objetos, com um dicionrio de definies:

_________________________________________________________________________ 30 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Visualizao, da rvore, com os campos da tabela.

Agora, para finalizar a criao de um simples relatrio, utilize o Wizard do Rave. V a Tools | Report Wizard | Simple Table, no menu do Rave, para gerar o primeiro relatrio. A primeira tela que ser apresentada, perguntado qual Data View ser utilizado para a gerao:

Aqui temos somente uma opo, a escolha fcil: Selecione DataView1, e clique no boto Next.

_________________________________________________________________________ 31 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Em seguida, preciso definir quais campos sero apresentados no relatrio:

Campos selecionados para a gerao do relatrio.

Uma vez selecionado os campos que desejamos para o relatrio, clique no boto Next.

Janela de ordenao dos campos.

A prxima janela apresentada oferece a oportunidade de ordenar em que ordem deseja que os campos sejam apresentados no relatrio. Neste caso, deixe na ordem que est e clique no boto Next.

_________________________________________________________________________ 32 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Opes de Layout do Relatrio.

Ser apresentadas uma tela com opes de layout do relatrio, onde possvel alterar o ttulo e as margens, se tiver a gosto, clique em Next.

Seleo de fontes.

Nesta janela possvel selecionar os tipos de fontes que sero usados no relatrio. Estes so os tipos de fontes padres do Rave que podero ser alteradas pressionando os botes de Change Font. Em seguida, clique no boto Generate, para que o relatrio seja criado:

_________________________________________________________________________ 33 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

A definio do primeiro relatrio.

Estas so as definies do primeiro relatrio. No prximo captulo, voc conhecer estas opes. Aconselho no momento, que voc observe as propriedades de cada objeto deste relatrio em seu Rave e comece a analisar. Este um excelente exerccio pessoal para compreenso de qualquer programa de computador, que deveria ser exercitado por todos para tirar concluses prprias a respeito para posteriormente aprofundar a respeito do assunto e ter um raciocnio intuitivo.

Testando o relatrioUma vez criado o relatrio, preciso ver como ele ser impresso para poder alterar posies e fazer sua manuteno de forma correta. Podemos fazer isso dentro do prprio Rave. Para visualizar ou imprimir, como teste, selecione File | Execute Report, no menu do Rave.

_________________________________________________________________________ 34 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Previews do Rave Report.

Podemos, nesta opo de Preview do Rave, enviar o relatrio para a impressora, visualizar ou enviar para arquivo. Sendo que nesta ltima opo o usurio poder definir tambm o formato do arquivo. Deixe na opo de Preview, e clique sobre o boto de OK.

O relatrio final (Preview).

Sobre os arquivos do RaveUma vez desenvolvido relatrio com o Rave Report, quando se salva, gerado arquivos com extenso.rav, que dever ser enviado junto com o sistema desenvolvido em Delphi. Permitindo que sempre que haja alteraes nos relatrios desenvolvidos, somente a substituio dos arquivos basta para atualizar o sistema.

_________________________________________________________________________ 35 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

possvel, tambm, anexar os projetos de relatrios ao executvel do Delphi, porm esta opo impossibilita a atualizao dos relatrios somente com a substituio dos arquivos, deixando o executvel grande.

Gerando o relatrio no DelphiRetorne ao Delphi, e selecione o componente RvProject inserido na aplicao exemplo, e na sua propriedade ProjectFile, selecione o arquivo que acabou de ser gerado no Rave Report. Em seguida, armazenar o arquivo RAV dentro do projeto Delphi, desta forma, no ser preciso instalar o arquivo RAV na mquina do usurio. Selecione a propriedade StoreRAV e clique no boto Load para que leia o arquivo. Observao: Se houver qualquer alterao posterior do arquivo RAV, este processo dever ser repetido. Coloque um componente de boto no formulrio, e no evento OnClick deste componente escreva o cdigo a seguir:procedure TForm1.Button1Click(Sender: TObject); begin rvProject1.ProjectFile := 'Project1.rav'; rvProject1.Execute; end;

Agora basta compilar a aplicao e testar sua execuo.

_________________________________________________________________________ 36 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Captulo 3 Criando Relatrios com Rave ReportNeste captulo, o leitor conhecer, de forma prtica, a gerao de diversos relatrios, e a utilizao dos componentes do Ra ve Report, e entender suas funes e utilidades, no captulo a seguir so dados comentrios gerais sobre cada componente do Rave, onde o leitor poder realizar consultas a respeito dos componentes mencionados no decorrer deste captulo para maior compreenso.

Relatrio Lista Geral de FuncionriosO primeiro relatrio ser uma listagem geral de funcionrios, e utilizaremos a aplicao de exemplo criada no comeo deste livro.

Preparando a AplicaoCom o projeto da aplicao exemplo aberta, crie um novo formulrio onde colocaremos os componentes de conexo com o banco de dados de funcionrios. Para ilustrao, ser montada a configurao deste exemplo. Insira um componente Table ao formulrio e configure suas propriedades, fazendo a ligao ao banco de dados de Funcionrios: Alias = Exemplo TableName = funcionarios.db Active = True Insira um componente DataSource e ligue com o componente Table. Uma vez colocados e configurados estes componentes, vamos adicionar componentes do Rave Report. Sero 3 componente do Rave a serem adicionados: RvProject, RvTableConnection e RvSystem.

Configurao dos componentes Rave na AplicaoAs configuraes, no object inspector do Delphi, de cada um dos trs componentes que sero utilizados so: RvTableConnection : Name = rvtblcnctnRelFuncionarios Table = tblFuncionarios

RvSystem:

Name = rvsystmRelFunc

_________________________________________________________________________ 37 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

TitlePreview = Visualizao do Relatrio TitleSetup = Opes de Impresso TitleStatus = Status de Impresso RvProject: Name = rvprjctRelFunc Engine = rvsystmRelFunc

Agora, com duplo clique no componente RvProject, ser aberto o Rave Visual Designer.

Configuraes Gerais do RaveBarra de Ferramentas Palhetas de Componentes

Painel da rvore de objetos.

Painel de Propriedades

Explicao sobre a propriedade atual.

Viso geral do Rave Visual Designer.

Salve o projeto como Funcionarios.rav em File | Save. Antes de continuar o desenvolvimento deste relatrio, interessante fazer um comentrio geral sobre a tela do Designer do Rave, baseando pela imagem a cima, acompanhando cada balo de informaes da imagem, onde temos: Barra de Ferramentas: comum em aplicaes Windows, pois so o que em Delphi poderia ser chamado de ToolBars, onde possvel encontrar atalhos para operaes mais comuns na aplicao, como salvar, abrir, executar e outras operaes.

_________________________________________________________________________ 38 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Palheta de componentes: So os componentes para desenvolvimento de relatrios no designer do Rave. Painel de Propriedades: Onde possvel configurar as propriedades tanto de relatrio, quando de cada um dos componentes da Palheta de componentes do Rave Report. Exibio sobre a propriedade atual: Este depende do Painel de Propriedades, como um mini help do Rave Report que descreve sobre a utilizao de determinada propriedade. Painel de rvore de objetos: Onde possvel visualizar todos elementos inseridos ao desenvolvimento de relatrios no Rave, possibilitando uma fcil localizao de determinado componente para manuteno e configurao de suas propriedades. Continuando o desenvolvimento deste relatrio, na rvore de objetos, selecione RaveProject, e altere a propriedade Units para unMM (Milmetros).

Propriedade

rvore de Objetos.

Na rvore de objetos, selecione Report Libary, e dentro dele selecione Report1, e altere as seguintes propriedades: FullName = Relao Geral de Funcionarios Name = rprtRelFunc Devolta a rvore de objetos, selecione Page1, e altere as seguintes propriedades: GridLines = 1 GridSpacing = 10,000 PageHeight = 297,000 PageWidth = 210,000

_________________________________________________________________________ 39 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Observe a propriedade PaperSize. Esta propriedade permite que voc escolha um tipo de papel j padronizado. Neste exemplo, ao utilizarmos as propriedades PageHeight e PageWidth criamos um tamanho de papel personalizado.

Acesso aos bancos de dadosPara ter acesso ao banco de dados, para impresso e gerao de relatrios, preciso criar um Data Object. Para isso, selecione File | New Data Object, no menu do Rave. Ser apresentada a janela Data Connections:

Janela Data Connections.

Onde temos as seguintes opes: Data Lookup Security Controller Permite colocar Username e Password para conectar com banco de dados. Database Connection Permite fazer a conexo com banco de dados, independente de seu projeto em Delphi. Direct Data View o mais utilizado, que permite pegar os bancos de dados configurados no projeto do Delphi, realizando uma ligao entre a aplicao e o Rave. Driver Data View Utilizado logo aps a utilizao da opo de Direct Data View para pegar parmetros SQL de banco de dados. Simple Security Controller - Permite colocar Username e Password para conectar com banco de dados. Utilizado junto com a opo Data Lookup Security Controller.

_________________________________________________________________________ 40 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Neste exemplo, escolha a opo Direct Data View, que dar acesso s conexes realizadas com os componentes de acesso a banco de dados configurados no Delphi, e clique no boto Next. Na tela seguinte, aparecer todos os componentes de conexes a banco de dados do Rave que foi colocado no projeto do Delphi. Como neste exemplo s colocamos um, aparecer somente uma opo, Selecione-a e clique no boto Finish.

Na rvore de objetos, possvel visualizar todos os campos de tblFuncionarios. Selecione DataView1, e altere a propriedade FullName para Registro de Funcionarios.

rvore de Objetos com os campos da tabela tblFuncionarios.

Construindo o Relatrio

_________________________________________________________________________ 41 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Na palheta de componentes, da aba Report, selecione, e leve a rea do relatrio o componente Region. Este componente determina e delimita a rea de impresso da pgina.

Palheta de componentes na aba Report.

Redimensione o componente Region na rea de criao do relatrio ocupando quase a folha inteira, deixando um espao para a criao de um rodap, como mostra a imagem a seguir:

Tela com o componente Region dimensionado em toda rea da folha com espao no final da folha para criao de rodap.

Adicione outros dois componentes: Band e DataBand ao relatrio, tambm da aba de componentes Report, que sero utilizados para criar as reas de impresso do relatrio, e a conexo aos bancos de dados.

Os componentes Band e DataBand respectivamente.

_________________________________________________________________________ 42 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Estes componentes adicionados devero ficar no topo do relatrio:

Os componentes Band e DataBand inseridos no relatrio.

Selecione o componente Band1 inserido no relatrio, e altere as seguintes propriedades: BandStyle =

_________________________________________________________________________ 43 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Janela de propriedades de BandStyle

Nesta propriedade selecione: Body Header (Cabealho); First (Primeira Pgina); New Page (Nova Pgina);

Controle Band = DataBand1 Name = PaginaCabecalho Agora, selecione o outro componente inserido ao relatrio: DataBand1 e altere as seguintes propriedades: DataView = DataView1 Name = Contedo

Montando o cabealhoConstrua primeiro o cabealho do relatrio que ficar no Band1. Neste cabealho ser inserido um logotipo. Da aba Standard da ferramenta de componentes, coloque um componente BitMap.

_________________________________________________________________________ 44 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

O componente BitMap inserido no relatrio.

Na propriedade Image do componente BitMap, selecione uma imagem qualquer a ser carregada. Em seguida, altere a propriedade MatchSide para msBoth que faz com que a figura ocupe toda rea do componente.

O componente BitMap j com suas propriedades definidas.

Insira um nome para o cabealho, utilizando o componente Text da aba de componentes Standard, e altere as seguintes propriedades: Text = LISTAGEM GERAL DE FUNCIONRIOS FontJustify = pjCenter Font = Altere tamanho, tipo de fonte e cor que desejar.

Utilizando imagem no Rave sem armazena-laCaso voc no queira armazenar a imagem nos arquivos do Rave, basta definir a propriedade FileLink do componente BitMap, com o caminho onde se encontrar a imagem. Assim, poder ser trocada a imagem sempre que desejar, atravs deste caminho.

Data de Impresso do RelatrioDevemos colocar a data de impresso do relatrio. Para isso, insira um componente DataText, da aba de componente Report, ao cabealho, e na propriedade DataField ser apresentado janela Data Text Editor. Clique sobre a opo Report Variables e escolha a opo DateShort:

_________________________________________________________________________ 45 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Janela Data Text Editor com a varivel DateShort.

Em seguida, clique no boto Insert Report Var, da opo Report Variables. Observe que em Data Text aparece Report.DateShort, antes deste comando coloque Emitido em:, como mostra a imagem a baixo, em seguida clique no boto OK.

Data Text Editor com o Data Text preenchido.

_________________________________________________________________________ 46 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Para finalizar a construo do cabealho, desenhe uma linha para separar o cabealho dos dados dos funcionrios, escolhendo o componente Line, da aba de componentes Drawing, e configure-a como desejar.

O cabealho pronto.

Inserindo os campos do banco de dadosNeste relatrio ser criada uma ficha de cada funcionrio. Caso seja necessrio criar uma relao, bastaramos colocar logo a baixo da linha desenhada, a descrio dos campos que sero apresentados no relatrio. No componente DataBand, inserido ao relatrio, ser desenvolvida a ficha. Monte o nome dos campos que aparecero. Para isso, coloque seis componentes Text, da aba Standard de componentes, e configure-os como mostra a imagem a seguir:

Os componentes Text no relatrio.

Agora preciso inserir os campos do banco de dados em frente a cada opo. Para isso, na rvore de objetos, selecione os campos correspondentes, e com a tecla Control (Ctrl) pressionada arraste at o relatrio posicionando os campos de banco de dados:

_________________________________________________________________________ 47 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Os campos de banco de dados posicionados.

Agora para testar, v ao menu File | Execute Report, do Rave. possvel fazer este processo de inserir os campos do banco de dados ao relatrio manualmente, porm a opo mostrada anteriormente mais simples e rpida. Porm, importante ilustrar como fazer o mesmo processo manualmente. Para isso, insira um componente DataText, da palheta de componentes Report, e insira onde ser apresentado o campo de Nome. Nas propriedades deste componente configure como mostra a seguir: DataView = DataView1 Onde a propriedade DataView chama a conexo com o banco de dados. DataField = Nome Onde a propriedade DataField busca a lista de campos do banco de dados. E assim pode ser feito com cada campo a ser impresso no relatrio.

_________________________________________________________________________ 48 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

A execuo do relatrio.

Numerao de PginasPara finalizar a criao deste relatrio preciso colocar a numerao da pgina. Este um processo simples e rpido: Coloque um componente DataText, da aba Report da barra de componentes, no final da pgina fora do componente Region, e coloque na propriedade DataField do componente DataText: Pgina + Report.CurrentPage + / + Report.TotalPages

O rodap do relatrio com a numerao de pginas.

E assim est pronto o relatrio.

_________________________________________________________________________ 49 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

O relatrio sendo executado com a relao de pginas no rodap.

Imprimindo o relatrioRetorne ao Delphi, e selecione o componente RvProject inserido na aplicao exemplo, e na sua propriedade ProjectFile, selecione o arquivo que acabamos de gerar no Rave Report. Em seguida, vamos pedir para armazenar o arquivo RAV dentro do projeto Delphi, desta forma, no precisaremos instalar o arquivo RAV na mquina do usurio. Selecione a propriedade StoreRAV e clique no boto Load para que leia o arquivo. Observao: Se houver qualquer alterao posterior do arquivo RAV, este processo dever ser repetido. Coloque um componente de boto no formulrio e no evento OnClick deste componente escreva o cdigo a seguir:procedure TForm1.Button1Click(Sender: TObject); begin rvtblcnctnRelFuncionarios.ProjectFile := Funcionarios.rav'; rvtblcnctnRelFuncionarios.Execute; end;

Agora basta compilar a aplicao e testar sua execuo.

_________________________________________________________________________ 50 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Relatrio Listagem Geral de Funcionrios com quebra de grupoEconomizando tempo de desenvolvimento em relatrios que utilizem o mesmo banco de dados de um relatrio desenvolvido anteriormente. possvel economizar tempo de desenvolvimento com o Rave, caso o desenvolvedor crie um novo relatrio, utilizando o mesmo banco de dados do relatrio anterior. Como vamos utilizar o mesmo banco de dados de funcionrios, para no precisar fazer novamente a chamada ao banco de dados. Selecione File | New Report no menu do Rave, e observe na rvore de objetos, que continuamos conectados ao banco de dados de funcionrios. Mas, se o desenvolvedor escolher a opo File | New, seria necessrio realizar uma nova conexo ao banco de dados, neste caso ficaremos com a primeira opo. Observe, tambm, que a rea do relatrio est toda escura, inclusive os componentes que formos inserindo, tambm ficaro escuros. Este segundo relatrio da aplicao exemplo ser uma listagem de funcionrios, porm com quebra de grupos, ou seja, ser impressa uma lista de funcionrios por setores. Alm disto, ser mostrado os valores dos salrios de cada funcionrio, e o total de cada setor, e ao final o total de todos salrios.

Construindo o RelatrioNa rvore de objetos selecione RaveProject e altere a propriedade Units para unMM (Milmetros).

Propriedade

rvore de Objetos.

_________________________________________________________________________ 51 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Na rvore de objetos, selecione o Report1 e altere suas propriedades: FullName = Funcionrios por Setores Name = rprtRelFuncSetores Devolta a rvore de objetos, selecione Page1 e altere as seguintes propriedades: GridLines = 1 GridSpacing = 10,000 PageHeight = 297,000 PageWidth = 210,000 Nas palhetas de componentes, da aba Report, selecione e leve rea do relatrio o componente Region. Este componente determina e delimita a rea de impresso da pgina.

Palheta de componentes na aba Report.

Redimensione o componente Region na rea de criao do relatrio ocupando quase a folha inteira, deixando um espao para a criao de um rodap.

_________________________________________________________________________ 52 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Tela com o componente Region dimensionado em toda rea da folha com espao no final da folha para criao de rodap.

Insira no relatrio cinco componentes, da palheta de componentes Report, respectivamente: 2 Componentes Band; 1 Componente DataBand; 2 Componentes Band.

Os componentes da palheta Report inseridos no relatrio.

Agora, altere as propriedades Name de cada banda inserida no relatrio, respectivamente:

_________________________________________________________________________ 53 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

CabecalhoPagina CabecalhoGrupo Detalhe RodapeGrupo RodapeRelatorio

Vamos trabalhar as propriedades de cada banda inserida: Para a banda CabecalhoPagina, configure as seguintes propriedades: BandStyle = Selecione Body Header e First. ControllerBand = Detahe Para a banda CabecalhoGrupo, configure as seguintes propriedades: BandStyle = Selecione Body Header e First. ControllerBand = Detalhe GroupDataView = DataView1 GroupKey = Setor StartNewPage = True Para a banda Detalhe, configure as seguintes propriedades: DataView = DataView1 Para a banda RodapeGrupo, configure as seguintes propriedades: BandStyle = Selecione Body Header e First. ControllerBand = Detalhe GroupDataView = DataView1 GroupKey = Setor Para a banda RodapeGrupo, configure as seguintes propriedades: BandStyle = Selecione Body Header e First. ControllerBand = Detalhe

_________________________________________________________________________ 54 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Edio do relatrio depois dos componentes de banda configurados.

Em seguida, monte a banda CabecalhoPagina, semelhante ao relatrio anterior:

Montando o cabealhoConstrua primeiro o cabealho do relatrio que ficar no Band1 (CabecalhoPagina). Este cabealho ser inserido um logotipo. Da aba Standard da ferramenta de componentes, coloque um componente BitMap.

O componente BitMap inserido no relatrio.

Na propriedade Image do componente BitMap, selecione uma imagem qualquer a ser carregada. Em seguida, altere a propriedade MatchSide para msBoth que faz com que a figura ocupe toda a rea do componente.

O componente BitMap j com suas propriedades definidas.

Insira nome para o cabealho, utilizando o componente Text da aba de componentes Standard, e altere as seguintes propriedades: Text = LISTAGEM GERAL DE FUNCIONRIOS FontJustify = pjCenter Font = Altere tamanho, tipo de fonte e cor que desejar.

_________________________________________________________________________ 55 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Data de Impresso do RelatrioDevemos colocar a data de impresso do relatrio. Para isso, insira um componente DataText, da aba de componente Report, ao cabealho, e na propriedade DataField ser apresentado janela Data Text Editor. Clique sobre a opo Report Variables e escolha a opo DateShort:

Janela Data Text Editor com a varivel DateShort.

Em seguida, clique n boto Insert Report Var, da opo Report Variables. Observe, o que em Data Text aparece Report.DateShort, antes deste comando coloque Emitido em:, como mostra a imagem a baixo, em seguida clique no boto OK.

_________________________________________________________________________ 56 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Data Text Editor com o Data Text preenchido.

Para finalizar a construo do cabealho, desenhe uma linha para separar o cabealho dos dados dos funcionrios, escolhendo o componente Line da aba de componentes Drawing, e configure-a como desejar.

O cabealho pronto.

Para a banda CabecalhoGrupo, coloque um componente Text, e altere suas propriedades: Text = Setores Font = Altere como desejar. BandStyle = Ativar Group Header e First.

_________________________________________________________________________ 57 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Na rvore de objetos, selecione o campo Setor, e com a tecla CONTROL pressionada arraste para frente do componente Text que foi colocado. Desenhe uma linha, com o componente Line logo a baixo. Em seguida, coloque 3 componentes Text, respectivamente, e altere as propriedades Text de cada como: Nome, Telefone e Salrio. Como mostra a imagem a seguir:

A banda CabecalhoGrupo com seus componentes.

Para a banda Detalhe, coloque os campos do banco de dados, correspondentes a: Nome, Telefone e Salrio, na rvore de objetos, selecionando os campos, e com a tecla CONTROL pressionada, arrastando para o relatrio. Altere a propriedade FontJustify do campo de SALARIO direita.

A banda Detalhe com seus respectivos componentes posicionados.

Para as bandas RodapeGrupo e RodapeRelatorio, utilize o componente CalcText da palheta de componentes Report, para realizarmos os clculos de totalizao.

_________________________________________________________________________ 58 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

As bandas RodapeGrupo e RodapeRelatorio com o componente CalcText j configurado.

Precisamos configurar as propriedades de cada um dos componentes CalcText. O Componente CalcText um componente que realiza contato com campos de um banco de dados. utilizado para fazer e mostrar clculos de mnimo, mximo, soma e contagem. No primeiro componente CalcText configure as seguintes propriedades: CalcType = ctSum ControllerBand = Detalhe DataView = DataView1 DataField = SALARIO DisplayFormat = #,##0,00 FontJustify = pjRight No segundo componente CalcText configure as seguintes propriedades: CalcType = ctSum DataView = DataView1 DataField = SALARIO DisplayFormat = #,##0,00 FontJustify = pjRight Assim est pronto o relatrio por grupo com totalizao.

Imprimindo o relatrioRetorne ao Delphi, e selecione o componente RvProject inserido na aplicao exemplo, e na sua propriedade ProjectFile, selecione o arquivo que acabamos de gerar no Rave Report. Em seguida, vamos pedir para armazenar o arquivo RAV dentro do projeto Delphi, desta forma, no precisaremos instalar o arquivo RAV na mquina do usurio. Selecione a propriedade StoreRAV e clique no boto Load para que leia o arquivo.

_________________________________________________________________________ 59 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Observao: Se houver qualquer alterao posterior do arquivo RAV, este processo dever ser repetido. Coloque um componente de boto no formulrio e no evento OnClick deste componente escreva o cdigo a seguir:procedure TForm1.Button1Click(Sender: TObject); begin rvprjctRelFunc.ProjectFile := 'FUNCIONARIOS2.RAV'; rvprjctRelFunc.Execute; end;

Agora basta compilar a aplicao e testar sua execuo.

Etiqueta de ClientesSer criado etiqueta para clientes em geral. Porm, para fazer etiqueta de cliente aniversariante, basta utilizar, no Delphi, sua rotina para filtragem e chamada de relatrio no Rave. Neste exemplo, ser montado no Delphi o procedimento para filtragem dos campos para gerao de etiqueta para aniversariantes, aproveitando o relatrio que ser criado para etiqueta. Caso deseje criar etiqueta para clientes em geral, basta no colocar nenhuma rotina de filtragem, somente a chamada ao banco de dados e os componentes do Rave. Existem diversas formas, no Delphi, de criar uma filtragem de clientes aniversariantes. Por este motivo esse livro se limitar a tratar somente da criao no Rave Report.

Preparando a AplicaoUma vez criado no Delphi o formulrio para gerao e filtragem de aniversariantes, preciso colocar os componentes do Rave no formulrio para criao e gerao das etiquetas. Vamos adicionar componentes do Rave Report. Sero 3 componente do Rave a serem adicionados: RvProject, RvTableConnection e RvSystem.

Configurao dos componentes Rave na AplicaoAs configuraes dos trs componentes que sero utilizados so: RvTableConnection: Name = rvtblcnctnEtiquetaClientes

_________________________________________________________________________ 60 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Table = tblClientes (Nome do componente de ligao com banco de dados utilizado no Delphi). RvSystem: Name = rvsystmEtiquetaClientes TitlePreview = Visualizao do Relatrio TitleSetup = Opes de Impresso TitleStatus = Status de Impresso Name = rvprjctEtiquetaClientes Engine = rvsystmEtiquetaClientes

RvProject:

Agora, com duplo clique no componente RvProject, ser aberto o Rave Visual Designer.

Acesso aos bancos de dadosPara ter acesso ao banco de dados para impresso preciso criar um Data Object. Para isso, File | New Data Object, selecione no menu do Rave. Ser apresentada a janela Data Connections:

Janela Data Connections.

Neste exemplo, escolha a opo Direct Data View, que dar acesso s conexes realizadas no projeto do Delphi, e clique no boto Next.

_________________________________________________________________________ 61 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Na tela seguinte, aparecer todos os componentes de conexo a banco de dados do Rave, que foi colocado no projeto do Delphi. Como neste exemplo s colocamos um, aparecer somente uma opo, Selecione-a e clique no boto Finish.

Na rvore de objetos, possvel visualizar todos os campos de tblFuncionarios. Selecione DataView1, e altere a propriedade FullName para Registro de Funcionarios.

rvore de Objetos com os campos da tabela Clientes.

Configurando a Etiqueta no RaveNa rvore de objetos, selecione Page1, e altere as seguintes propriedades: PaperSize = A4 Sheet, 210- by 297- millimeters

_________________________________________________________________________ 62 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Name = EtiquetaClientes FullName = Etiqueta Clientes

Propriedade de Page1

rvore de Objetos com Page1 configurado.

Na palheta de componentes, da aba Report, insira um componente Region rea de design do relatrio e ajuste para toda a rea de impresso. Em seguida, insira um componente DataBand, e altere suas propriedades: Collumns = 2 DataView = DataView1

O Componente DataBand depois de configurado.

_________________________________________________________________________ 63 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Para inserir os campos necessrios para a gerao das etiquetas, basta selecionar os campos na rvore de objetos, e com a tecla CONTROL (Ctrl) pressionada arrastar para a rea de design do relatrio.

O relatrio j com os campos de etiqueta j colocados na rea de design.

E assim est pronta a etiqueta para impresso. Execute o relatrio selecionando File | Execute Report, no menu do Rave:

_________________________________________________________________________ 64 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Visualizao de impresso de etiquetas.

Ser preciso que o desenvolvedor faa testes para verificar se os campos da etiqueta esto saindo corretamente. Caso o espao entre etiquetas no esteja correto, aconselhvel ir fazendo testes e corrigindo. Na propriedade ColumnSpace do componente DataBand possvel alterar o espao entre colunas das etiquetas.

Imprimindo as etiquetasRetorne ao Delphi e selecione o componente RvProject inserido na aplicao exemplo e, na sua propriedade ProjectFile, selecione o arquivo que acabamos de gerar no Rave Report. Em seguida, vamos pedir para armazenar o arquivo RAV dentro do projeto Delphi, desta forma, no precisaremos instalar o arquivo RAV na mquina do usurio. Selecione a propriedade StoreRAV e clique no boto Load para que leia o arquivo. Observao: Se houver qualquer alterao posterior do arquivo RAV, este processo dever ser repetido. Coloque um componente de boto no formulrio e no evento OnClick deste componente escreva o cdigo a seguir:procedure TForm1.Button1Click(Sender: TObject); begin rvprjctEt iquetaClientes.ProjectFile := EtiquetasClientes.RAV';

_________________________________________________________________________ 65 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________ rvprjctEtiquetaClientes.Execute; end;

Agora basta compilar a aplicao e testar sua execuo.

Relatrio com Mltiplas PginasA partir de agora, no mais ser detalhada conexo com banco de dados no Rave por ser sempre igual, com algumas excees que sero explicadas. Tambm no ser mais explicada a utilizao dos componentes do Rave at agora explicados, para tornar o livro mais objetivo. Neste exemplo ser mostrado como criar um relatrio com mltiplas pginas no Rave, onde possvel criar relatrios com folhas de rosto, contedo e at mesmo sumrio. Para ilustrar ser criado um relatrio de funcionrios com folha de rosto. Primeiramente preciso configurar o relatrio, como fizemos at o momento em todos exemplos: Na rvore de objetos selecione RaveProject e altere a propriedade Units para unMM (Milmetros).

Propriedade

rvore de Objetos.

Na rvore de objetos, selecione o Report1 e altere suas propriedades: FullName = Funcionrios por Setores Name = rprtRelFuncSetores Devolta a rvore de objetos, selecione Page1 e altere as seguintes propriedades: GridLines = 1 GridSpacing = 10,000 PageHeight = 297,000

_________________________________________________________________________ 66 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

PageWidth = 210,000 Agora, precisamos criar duas pginas no Rave. Observe, na rvore de objetos, que o padro do Rave somente uma pgina: Page1.

rvore de Objetos, mostrando o padro do Rave, com somente uma pgina (Page1).

preciso criar uma nova pgina para o relatrio. Selecione File | New Report Page, no menu do Rave, ser inserido uma nova pagina (Page2) rvore de objetos. Assim teremos em Page1 nossa folha de rosto, e em Page2 o relatrio que ser uma listagem de funcionrios. E assim, o desenvolvedor pode ir criando diversas pginas para seu relatrio. No Page1, altere a propriedade FullName para Folha de Rosto, e Page2 para Contedo.

rvore de objetos com as propriedades das pginas alteradas.

Montaremos, primeiramente, a folha de rosto. Coloque, no Designer do Rave, um componente Region ajustando pgina do relatrio. Em seguida, coloque um componente Data, e ajuste para toda a pgina. Insira um componente BitMap, e na propriedade Image escolha uma imagem qualquer, e na propriedade MatchSize altere para msBoth para a imagem se ajustar rea do componente, e ajuste a imagem como desejar. Insira um componente Text, da aba de componentes Standard, e coloque informaes sobre o relatrio. Devemos colocar a data de impresso do relatrio. Para isso, insira um componente DataText, da aba de componente Report, ao cabealho, e na propriedade DataField ser apresentado janela Data Text Editor. Clique sobre a opo Report Variables e escolha a opo DateShort:

_________________________________________________________________________ 67 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Janela Data Text Editor com a varivel DateShort.

Em seguida, clique no boto Insert Report Var, da opo Report Variables. Observe que em Data Text aparece Report.DateShort, antes deste comando coloque Emitido em:, como mostra a imagem a baixo, em seguida clique no boto OK.

_________________________________________________________________________ 68 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Data Text Editor com o Data Text preenchido.

E altere suas propriedades de Font, como desejar. Para finalizar, faa na pgina dois, como foi feito no tpico Relatrio de Listagem Geral de Funcionrios. E assim estar pronto seu relatrio com pginas mltiplas.

_________________________________________________________________________ 69 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Folha de Rosto da Pgina 1 do relatrio com pginas Mltiplas.

Relatrio Mestre DetalheSer criado um relatrio mestre detalhe, onde ser buscada informao de duas tabelas. Para este exemplo, no utilizaremos nossa aplicao exemplo desenvolvida no comeo deste livro, mas utilizaremos banco de dados que acompanham a instalao do prprio Delphi. Primeiramente preciso fazer uma conexo com banco de dados utilizando instrues SQL com o comando Join. Para isso, ser inserido um componente Query na aplicao do Delphi, com as seguintes propriedades: DatabaseName = DBDemos A instruo SQL para este componente ser:

_________________________________________________________________________ 70 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Instruo SQL do componente Query.

Esta instruo liga as tabelas Customer e Country, aos campos Country de Customer, e Name de Country. Em seguida, insira no projeto do Delphi o componente RvQueryConnection, da palheta de componentes do Rave, e interligue em suas propriedades com a Query. Em seguida, insira o componente RvProject, e com duplo clique abra o Rave Report. Para iniciar o relatrio, preciso fazer uma conexo com Banco de dados, utilizaremos Database Connection. Selecione File | New Data Object, no menu do Rave, e escolha a opo Database Connection:

Clique no boto Next. Escolha a opo que estiver trabalhando, neste exemplo ser BDE:

_________________________________________________________________________ 71 Material registrado e exclusivo Ramos da Informtica, reproduo no autorizada.

E=BOOK: Desenvolvendo Relatrios no Delphi com Rave Report. _____________________________________________________________________________________

Clique no boto F