Relatórios
Cancele quaisquer opção que apareça e ative no menu principal File | Connections...,
lembra-se do Alias pois aqui precisamos criar uma conexão para a nossa base de dados, pressione
o botão New e informe Name: DiscoAPP, Type: DBASE(IDAPI) e Data File Path:
C:\SISTEMA\CADDISCO, pressione o botão Save e OK.
No menu principal opção File | New..., escolha a opção Columnar Report, clique no
botão Style e escolha o estilo do relatório que mais lhe agrade e caso você deseje pode marcar o
estilo escolhido como default através da opção Use As Default clique no botão OK, e clique no
botão OK e a seguinte tela será mostrada:
2
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
3
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
4
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Criaremos agora uma janela simples de diálogo, onde selecionaremos um código inicial e
final para os códigos do CD.
Inicialmente Clique no botão (New Form) na Speed Bar, ou no menu principal a Clique
no menu principal a opção File e New..., em New Items, na página New e clique no objeto
entitulado Form e altere as seguintes propriedades:
Propriedade Valor Descrição
BorderStyle bsDialog Estilo da borda do objeto
Caption Imprime Cadastro Geral Label do objeto
Name F_DgGeral Nome do objeto
Position poScreenCenter Posição do objeto
BitBtn (Localizado na página Additional) - crie dois botões para confirmar ou cancelar a
emissão do relatório:
Propriedade Valor Descrição
Kind bkOk e bkCancel Determina a classe a ser utilizada pelo objeto,
automaticamente serão alteradas as propriedades:
Caption, Glyph e ModalResult
Caption &OK e &Cancelar Label do objeto
Edit (Localizado na página Standard) - dois objetos de edição para inserção do código
inicial e final:
Propriedade Valor Descrição
Text Texto a ser apresentado inicialmente para o objeto
Font MS Sans Serif, Normal, 8, Azul Tipo de letra a ser mostrada no objeto
Marinho
5
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Programando o formulário
Antes de prosseguirmos salve o formulário com o nome de fDgGeral.
Código para criar os dois campos que enviarão os códigos (lembra-se do capítulo VII -
Referente a Consultas):
0. Alterne para o CodeEditor e insira o seguinte código abaixo:
private
function GetCodInicial: String; Inicializa as funções
function GetCodFinal: String;
public
property CampInicial: String read GetCodInicial; Cria tipo caractere as variáveis,
property CampFinal: String read GetCodFinal; apenas como saída
end;
var
F_DgGeral: TF_DgGeral;
implementation
{$R *.DFM}
Por incrível que pareça isto é tudo, agora chame o objeto fMenu, insira o objeto Report
, encontrado na Component Palette página Data Access, este objeto realiza o trabalho de
configuração da impressão.
6
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Caso você queira que o ReportSmith não execute imediatamente o relatório mostrando
antes uma prévia na tela modifique a propriedade do objeto Report1 - Preview para True.
A idéia é simples, construir um formulário em branco, sem borda, este será chamado
através do menu principal e solicitado a informação do código do CD a imprimir, neste
formulário terá os objetos de acesso a Tabela (Table e DataSource) associado ao objeto DBImage
7
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Inicialmente Clique no botão (New Form) na Speed Bar, ou no menu principal a Clique
no menu principal a opção File e New..., em New Items, na página New e clique no objeto
entitulado Form e altere as seguintes propriedades:
Propriedade Valor Descrição
BorderStyle bsNone Estilo da borda do formulário
Caption Label do objeto (Tarja azul do formulário)
Name F_Capa Nome do objeto
Position poScreenCenter Posição da janela (centralizado)
BorderIcons [] Elimine todos os botões da janela
Color clWhite Cor de fundo
8
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
O tamanho da imagem foi colocada em 457 x 481 pois em impressoras padrão Epson
este, após impresso, é o tamanho da capa do CD. É necessário que você faça os ajustes
necessários para se adaptar ao padrão de sua impressora.
Criando o Código
O código para este formulário e sua chamada a partir do menu principal é bem mais
simples que o realizado anteriormente, verifique:
O código para este evento é bem simples: cria uma variável caracter e solicita a
entrada de seu valor através da função InputBox, caso não seja retornado nenhum valor cancela a
impressão ao contrário chama o procedimento “inicio” do formulário “F_Capa” enviando o valor
informado.
9
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
TabBasico.Close;
Close;
end;
O código para este evento novamente é bem simples: abre a tabela e pesquisa a
existência do código enviado, caso encontre mostra a capa do CD e solicita a confirmação do
relatório, e imprime ao final fecha a tabela e o formulário.
QuickReport
QRBand
10
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
QRGroup
QRDetailLink
QRLabel
Textos estático no relatório são formados pelo componente QRLabel bastando para
isso modificar a propriedade Caption. É possível também modificar a propriedade Caption
durante a geração do relatório
QRMemo
QRDBText
QRDBCalc
QRSysData
Imprime várias informações sobre o sistema tais como: número da página, data,
hora ou título do relatório.
QRShape
QRPreview
11
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Vamos agora realizar um exemplo simples e prático com o Quick, criando o mesmo
relatório proposto com o Report Smith, deste modo acredito, que você pode comparar a
facilidade de ambos os geradores.
Para o Objeto QrSysData (Localizado na página QReport), crie-o clicando dentro do objeto
bdCabecalho
Propriedade Valor Descrição
AlignToBand True Alinha considerando a banda
AutoSize True Dimensiona automaticamente o tamanho
Data qrsReportTitle Tipo do dado a ser mostrado
Font Arial, 14, Negrito, Branco Fonte do objeto
Alignment taCenter Alinhamento do objeto
12
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Para o Objeto QrSysData (Localizado na página QReport), crie-o clicando dentro do objeto
bdCabecalho
Propriedade Valor Descrição
AlignToBand True Alinha considerando a banda
AutoSize True Dimensiona automaticamente o tamanho
Data qrsDateTime Tipo do dado a ser mostrado
Font Arial, 8, Normal, Branco Fonte do objeto
Alignment taRightJustify Alinhamento do objeto
Para o Objeto QrLabel (Localizado na página QReport), crie-o clicando dentro do objeto
bdCabColuna
Propriedade Valor Descrição
Caption Código Label do objeto
Font Arial, 12, Negrito, Branco Fonte do objeto
Para o Objeto QrLabel (Localizado na página QReport), crie-o clicando dentro do objeto
bdCabColuna
Propriedade Valor Descrição
Caption Nome Label do objeto
Font Arial, 12, Negrito, Branco Fonte do objeto
Para o Objeto QrLabel (Localizado na página QReport), crie-o clicando dentro do objeto
bdCabColuna
Propriedade Valor Descrição
Caption Tipo Label do objeto
Font Arial, 12, Negrito, Branco Fonte do objeto
Para o Objeto QrLabel (Localizado na página QReport), crie-o clicando dentro do objeto
bdCabColuna
Propriedade Valor Descrição
Caption Categoria Label do objeto
Font Arial, 12, Negrito, Branco Fonte do objeto
Para o Objeto QrDbText (Localizado na página QReport), crie-o clicando dentro do objeto
bdDetalhe
13
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
Para o Objeto QrDbText (Localizado na página QReport), crie-o clicando dentro do objeto
bdDetalhe
Propriedade Valor Descrição
AutoSize True Dimensiona automaticamente o tamanho
DataSource DsBasico DataSource vinculado
DataField Nom_Disco Campo vinculado
Para o Objeto QrDbText (Localizado na página QReport), crie-o clicando dentro do objeto
bdDetalhe
Propriedade Valor Descrição
AutoSize True Dimensiona automaticamente o tamanho
DataSource DsBasico DataSource vinculado
DataField Tip_Disco Campo vinculado
Para o Objeto QrDbText (Localizado na página QReport), crie-o clicando dentro do objeto
bdDetalhe
Propriedade Valor Descrição
AutoSize True Dimensiona automaticamente o tamanho
DataSource DsBasico DataSource vinculado
DataField Des_Categ Campo vinculado
0. Por mais incrível que isto possa parecer nosso relatório está pronto, precisamos somente
mudar a chamada a partir do objeto F_Menu (aproveitaremos o objeto F_DgGeral criado
para o uso com o Report Smith) chame novamente o objeto F_Menu e clique na opção
“Relatório | Geral” chamando o evento onClick;
14
Delphi e Delphi Client/Server Desvendando o Caminho das Pedras
Borland
0. Insira o comando
procedure TF_Menu.Geral1Click(Sender: TObject);
begin
if F_DgGeral.ShowModal = mrOK then Chama e verifica se a DgGeral retornou OK
with F_Relato do Para o objeto F_Relato
begin
QryBasico.Params[0].AsFloat := StrToFloat(F_DgGeral.CampInicial); Envia os parâmetros
QryBasico.Params[0].AsFloat := StrToFloat(F_DgGeral.CampFinal);
QryBasico.Open; Abre a Query
QrConfere.Preview; Chama o relatório em tela
QryBasico.Close; Fecha a Query
end;
end;
Poderiamos ficar criando “n” tipos de relatórios diferentes mas o melhor método é que
você dê uma olhada no diretório [Diretório de Instalação do Delphi]\Demos\QuickRpt e execute o
projeto Qrdemo.dpr. Qualquer outra referência pode ser encontrada no documento Word que
acompanha o produto, o arquivo QrManual.doc.
15