O objetivo deste modesto tutorial é dar uma idéia de como imprimir qualquer texto que não seja obtido de uma base de dados, por ex.: simples Edits em form's. Ao final do tutorial tem o link para download do exemplo.
Desenhando o Relatório
1) Adicione um form ao seu projeto o qual estará seu relatório. Dê um nome ao form, tipo RelImprimeEdit;
2) Da paleta do Quickreport adicione um componente QuickRep (o 1º da lista) e posicioneo no canto superior esquerdo para facilitar o trabalho de desenho. Como você não iremos obter as informações de uma tabela, mas sim iremos "prencher" o relatório utilizando de labels, defina a propriedade PrintIfEmpty para TRUE;
3) Dê um duplo click na "folha" branca que apareceu (QuickRep) e configure as informações do papel (tamanho e posicionamento: Portrait ou Landscape), defina as margens (observe que a unidade de medida deve estar em MM), defina o tamanho padrão das letras (será utilizado para cada componente que você adicionar ao relatório), defina as bandas que você quer no relatório (header, title, footer, ...). Em meu exemplo adicionei Page header, Detail e Page footer;
4) Estas bandas adicionadas ao relatório podem ser ajustadas em sua altura. Então ajuste conforme necessário;
5) Para colocar um texto de título na banda PageHeader, vá na paleta do QuickReport localize o componente QRLabel (passando o mouse sobre os componentes da paleta você vê no hint o nome dos componentes, caso tenha dúvida). Clique nele para selecionar e a seguir clique na banda PageHeader. Ajuste posição e faça os ajustes das propriedades que você necessitar modificar.
6) Para imprimir o conteúdo dos Edit's que você deseja, você também utilizará os componentes QRLabel (eventualmente um QRMemo ou QRRichEdit). Entretando, estes QRLabel's são adicionados na banda Detail. Coloque-os de acordo com sua necessidade. Por ex. um para o label e outro para receber o valor;
7) Para adicionar o nº de página, data/hora do sistema no rodapé da página (PageFooter), você utiliza o componente QRSysData e altera sua propriedade Data (qrsDateTime, qrsPageNumber, ...)
Particularmente eu prefiro passar as informações por parâmetro para os relatórios, então vou seguir desta forma. Mas, nada impede que você acesse diretamente os componentes que foram adicionados ao form do relatório a partir do form que chama a impressão.
Preparando o relatório para mostrar os dados
Na sessão Public da declaração do form do relatório (RelImprimeEdit), defina uma procedure que conterá todos os parâmetros a serem passados. Em meu exemplo teremos apenas doi parâmetros: Nome e Endereço;
type
TRelImprimeEdit = class(TForm)
...
public
procedure Imprime(Nome, Endereco :string);
end;
implementation
...
procedure TRelImprimeEdit.Imprime(Nome, Endereco :string);
begin
// inicializa os QRLabel's correspondentes aos campos informados
QRLNome.Caption := Nome;
QRLEndereco.Caption := Endereco;
// Aqui o relatório será apresentado na tela, para visualizar e imprimir
QuickRep1.Preview;
end;
Chamando o relatório para mostrar os dados
No form que chama a impressão (RelImprimeEdit), utilizei um botão para isto. Então, no evento OnClick do mesmo adicionamos o código que cria/destroi o form do relatório dinamicamente:
Como criamos o relatório dinamicamente, devemos remover o mesmo da auto-criação. Para isso, no menu principal do Delphi, vá em Projects->Options e na guia Form localize e remova o form RelImprimeEdit da caixa Auto-create forms
Download do exemplo - link (Relatórios\ImprimeEdit.zip)
Pergunta
Micheus
O objetivo deste modesto tutorial é dar uma idéia de como imprimir qualquer texto que não seja obtido de uma base de dados, por ex.: simples Edits em form's. Ao final do tutorial tem o link para download do exemplo.
Desenhando o Relatório
1) Adicione um form ao seu projeto o qual estará seu relatório. Dê um nome ao form, tipo RelImprimeEdit;
2) Da paleta do Quickreport adicione um componente QuickRep (o 1º da lista) e posicioneo no canto superior esquerdo para facilitar o trabalho de desenho. Como você não iremos obter as informações de uma tabela, mas sim iremos "prencher" o relatório utilizando de labels, defina a propriedade PrintIfEmpty para TRUE;
3) Dê um duplo click na "folha" branca que apareceu (QuickRep) e configure as informações do papel (tamanho e posicionamento: Portrait ou Landscape), defina as margens (observe que a unidade de medida deve estar em MM), defina o tamanho padrão das letras (será utilizado para cada componente que você adicionar ao relatório), defina as bandas que você quer no relatório (header, title, footer, ...). Em meu exemplo adicionei Page header, Detail e Page footer;
4) Estas bandas adicionadas ao relatório podem ser ajustadas em sua altura. Então ajuste conforme necessário;
5) Para colocar um texto de título na banda PageHeader, vá na paleta do QuickReport localize o componente QRLabel (passando o mouse sobre os componentes da paleta você vê no hint o nome dos componentes, caso tenha dúvida). Clique nele para selecionar e a seguir clique na banda PageHeader. Ajuste posição e faça os ajustes das propriedades que você necessitar modificar.
6) Para imprimir o conteúdo dos Edit's que você deseja, você também utilizará os componentes QRLabel (eventualmente um QRMemo ou QRRichEdit). Entretando, estes QRLabel's são adicionados na banda Detail. Coloque-os de acordo com sua necessidade. Por ex. um para o label e outro para receber o valor;
7) Para adicionar o nº de página, data/hora do sistema no rodapé da página (PageFooter), você utiliza o componente QRSysData e altera sua propriedade Data (qrsDateTime, qrsPageNumber, ...)
Particularmente eu prefiro passar as informações por parâmetro para os relatórios, então vou seguir desta forma. Mas, nada impede que você acesse diretamente os componentes que foram adicionados ao form do relatório a partir do form que chama a impressão.
Preparando o relatório para mostrar os dados
Na sessão Public da declaração do form do relatório (RelImprimeEdit), defina uma procedure que conterá todos os parâmetros a serem passados. Em meu exemplo teremos apenas doi parâmetros: Nome e Endereço;
Chamando o relatório para mostrar os dados No form que chama a impressão (RelImprimeEdit), utilizei um botão para isto. Então, no evento OnClick do mesmo adicionamos o código que cria/destroi o form do relatório dinamicamente:Como criamos o relatório dinamicamente, devemos remover o mesmo da auto-criação. Para isso, no menu principal do Delphi, vá em Projects->Options e na guia Form localize e remova o form RelImprimeEdit da caixa Auto-create forms
Download do exemplo - link (Relatórios\ImprimeEdit.zip)
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.