Difference between revisions of "LazReport Tutorial/pt"

From Lazarus wiki
Jump to navigationJump to search
m
Line 119: Line 119:
 
[[Image:imagem12.jpg]]
 
[[Image:imagem12.jpg]]
  
Aqui podem ser colocados vários campos, mas pode ser mantido um retângulo para um único campo a fim de aplicar formatos, por exemplo.
+
Aqui podem ser colocados vários campos, mas pode ser mantido um retângulo para um único campo a fim de aplicar formatos, por exemplo. A primeira linha Name [Field Name] é obtida escrevendo-se Name e então, com o botão Variable, inserindo a variável [Field Name]  (poderíamos ter escrito isto diretamente). Para a segunda linha, Size[[Table1, “SIZE”]*2.54], nós escrevemos Size e com o botão DB Field escolhemos o tamanho do campo de Table1  e para converter este campo, expresso em polegadas, para centímetros,  multiplicamos este campo por 2.54. Pode-se ver o poder do fastreport. Com apenas um retângulo coloca-se em nosso estado, a segunda nomeação, dois campos, incluindo um calculado. Agora no lado direito da faixa selecione uma imagem. Para  mostrar sempre a mesma figura, seria suficiente dar um duplo clique nessa figura e carregar a figura desejada. Nós queremos uma figura associada com o pressionamento da tecla F11, para mostrar o Inspetor de Objetos.
  
 
[[Image:imagem13.jpg]]
 
[[Image:imagem13.jpg]]
  
 +
Informe a propriedade do Memo com a propriedade [ImageField]. Isso transforma a figura em um objeto associado com o campo de dados. O nosso primeiro estado está concluído. Deve ser gravado com o mesmo nome rapff. Um clique na pré-visualizaçao nos dá:
  
 
[[Image:imagem14.jpg]]  
 
[[Image:imagem14.jpg]]  
 +
 +
Agora vamos escrever o código necessário para carregar e visualizar ou editar o nosso relaltório rap1frf. Para isto adicione ao projeto o seguinte código:
 +
 +
TForm1.Button2Click(Sender procedure: TObject); 
 +
begin
 +
  frReport1.LoadFromFile(' rap1.frf'); 
 +
  FrReport1.ShowReport; 
 +
end;
 +
TForm1.Buttonヌlick(Sender procedure: TObject); 
 +
begin
 +
  frReport1.LoadFromFile(' rap1.frf'); 
 +
  frReport1.DesignReport; 
 +
end;
 +
  
  

Revision as of 04:27, 12 March 2007

(This is a free documentation and can be freely copied. No copyright.)

(em constução)

Vamos usar um demo de banco de dados fornecido pelo Delphi (alias DBDEMOS). Você deve criar uma nova aplicação com o formulário principal chamado Form1.

Ponha no formulário os seguintes componentes:

  • TTable:
  • Table1.DataBaseName := DBDEMOS
  • Table1.TableName := ANIMALS.DBF
  • Table1.Active := TRUE
  • TDataSource
  • DataSource1.DataSet := Table1
  • TfrDBDataSet
  • frDbDataSet.DataSource := DataSource1
  • TfrReport
  • TfrDesigner
  • 2 TButton
  • Button1.Caption := ' Editing'
  • Button2.Caption := ' Preview'


O que resulta em:

imagem1.jpg

O LazReport permite associar nomes de variáveis a campos de dados ou valores do sistema, o que possibilita evitar que o usuário final decifre os geralmente pequenos nomes de campos. Em nosso exemplo vamos tentar criar uma variável nos campos BMP e NAME na Tabela1.

imagem2.jpg

Clique em Variables Editor...

imagem3.jpg

Agora clique no botão “Variables” para definir o lado esquerdo desta janela.

imagem4.jpg

Escreva as sentenças conforme indicado na figura acima. Demo Variables representa a categoria e CampoXXXX as variáveis. Para diferenciar as duas, as variáveis começam com um espaço. Então clique em OK para ter o seguinte:

imagem5.jpg

A categoria é disposta na ComboBox de variáveis acima. Cada variável precisa ser associada a um campo. Para isso, selecione a variável e depois o campo. A variável Name Field é associada ao campo Name da Tabela1.

Como para as variáveis, clique com o botão direito do mouse no componente frReport e então em New State. Você abriu o editor:

imagem6.jpg

Talvez você tenha notado um pequeno número de objetos na barra de objetos.

imagem7.jpg

Deve ter visto que os objetos são iguais aos componentes QRLabel, QRMemo, etc, do QuickReport.

imagem8.jpg

Em nosso relatório em branco você deve clicar no tipo de faixa que deseja criar: Selecione o título do estado e clique OK.

Tipo de faixa Aqui seguem diferentes tipos de tapes
Título do Relatório Publicado apenas na primeira página
Sumário de Relatório Publicado apenas na última página
Cabeçalho de Página Publicado no topo de cada página
Pé de Página Publicado no pé de cada página
Leitor Mestre Publicado no começo do primeiro nível (detalhe/barra)
Dados Mestre Dados do primeiro nível
Pé de Página Mestre Publicado no final do primeiro nível
Leitor de Detalhes Publicado no começo do segundo nível (barra/detalhe)
Dados de Detalhes Dados de segundo nível
Pé de Página de Detalhes Publicado no final do segundo nível
Leitor de Sub-detalhes Publicados no começo do terceiro (barra/detalhes)
Dados de Sub-detalhes Dados de terceiro nível
Pé de Página de Sub-detalhes Publicados no fim do terceiro nível
Subcamada
Cabeça de coluna Publicado no topo de cada coluna
Cabeçalho de Grupo Publicado no começo do grupo
Cabeçalho de Página Publicado no topo de cada página
Roapé de Grupo Publicado no final do grupo
" VarColumn " Usado para tabelas cruzadas


Nesta faixa, adicione um retângulo e o dimensione como quiser. Escolha uma cor para o plano de fundo com o botão Baldinho Cheio, então clique duas vezes no retângulo para indicar o título.

imagem9.jpg

Na primeira linha deve ser indicado o título do relatório e na segunda, duas informações do sistema precisam ser adicionados. Eles são obtidos clicando em DB Field e depois em Other na ComboBox. Agora temos:

imagem10.jpg

Vamos inserir a faixa como dados mestre, então clique duas vezes nessa faixa para selecionar frDBDataSet1, a principal fonte de dados do nosso exemplo.

imagem11.jpg

Na metade esquerda da faixa insira um retângulo e dê um duplo clique.

imagem12.jpg

Aqui podem ser colocados vários campos, mas pode ser mantido um retângulo para um único campo a fim de aplicar formatos, por exemplo. A primeira linha Name [Field Name] é obtida escrevendo-se Name e então, com o botão Variable, inserindo a variável [Field Name] (poderíamos ter escrito isto diretamente). Para a segunda linha, Size[[Table1, “SIZE”]*2.54], nós escrevemos Size e com o botão DB Field escolhemos o tamanho do campo de Table1 e para converter este campo, expresso em polegadas, para centímetros, multiplicamos este campo por 2.54. Pode-se ver o poder do fastreport. Com apenas um retângulo coloca-se em nosso estado, a segunda nomeação, dois campos, incluindo um calculado. Agora no lado direito da faixa selecione uma imagem. Para mostrar sempre a mesma figura, seria suficiente dar um duplo clique nessa figura e carregar a figura desejada. Nós queremos uma figura associada com o pressionamento da tecla F11, para mostrar o Inspetor de Objetos.

imagem13.jpg

Informe a propriedade do Memo com a propriedade [ImageField]. Isso transforma a figura em um objeto associado com o campo de dados. O nosso primeiro estado está concluído. Deve ser gravado com o mesmo nome rapff. Um clique na pré-visualizaçao nos dá:

imagem14.jpg

Agora vamos escrever o código necessário para carregar e visualizar ou editar o nosso relaltório rap1frf. Para isto adicione ao projeto o seguinte código:

TForm1.Button2Click(Sender procedure: TObject);  
begin 
  frReport1.LoadFromFile(' rap1.frf');  
  FrReport1.ShowReport;  
end;
TForm1.Buttonヌlick(Sender procedure: TObject);  
begin 
  frReport1.LoadFromFile(' rap1.frf');  
  frReport1.DesignReport;  
end; 


imagem15.jpg


imagem16.jpg


imagem17.jpg


imagem18.jpg


imagem19.jpg


imagem20.jpg


imagem21.jpg


imagem22.jpg


imagem23.jpg