Como usar o Crystal Reports XI com o Delphi 2009

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Quando estava procurando como executar o Crystal Reports com o Delphi 2007 e 2009 vi que haviam muitas duvidas de como usar e poucos exemplos. Espero esta contribuindo com quem usam estas ferramentas.

Primeiro instale o componente Crystal ActiveX Report View Library 11.0 através da opção Import Component do menu Component











Será acrescentada a paleta Crystal na barra de componentes como segue.






Executando um relatório .crp a partir de uma aplicação.
Em uma nova aplicação acrescente um botão a um formulário e no seu evento de clique adicione o seguinte código:

  1. Uses OleCtrls, CrystalActiveXReportViewerLib11_TLB;
  2. procedure TForm1.Button2Click(Sender: TObject);
  3. var
  4.   cry: TCrystalActiveXReportViewer;
  5.   oRpt, oApp: variant;
  6.   i: integer;
  7.   frm: TForm;
  8. begin
  9.  
  10.   // criação do objeto e identificação do arquivo .rpt a ser executado
  11.   cry := TCrystalActiveXReportViewer.Create(Self);
  12.   oApp := CreateOleObject('CrystalRuntime.Application');
  13.   oRpt := oApp.OpenReport('K:\Copia\rel\comissao.rpt', 1);
  14.   // passando o usuario e a senha do bando de dados para o relatório
  15.   for i := 1 to oRpt.Database.Tables.Count do
  16.   begin
  17.     oRpt.Database.Tables[i].ConnectionProperties.Item['User ID'] := 'usuarioDoBancoDeDados';
  18.     oRpt.Database.Tables[i].ConnectionProperties.Item['Password'] := 'senhaDoBancoDeDados';
  19.   end;
  20.  
  21.   // exemplo de passagem de parâmetros do tipo data e texto
  22.   oRpt.ParameterFields.GetItemByName('data1', '').AddCurrentValue(StrToDateTime( '01/04/2006 15:15:22' ));
  23.   oRpt.ParameterFields.GetItemByName('data2', '').AddCurrentValue(StrToDateTime( '05/04/2006 15:15:22' ));
  24.   oRpt.ParameterFields.GetItemByName('usuario', '').AddCurrentValue('Francisco Soares');

  25.    // criando o formulario que exibirá o relatório
  26.    frm := TForm.Create(Self);
  27.    try
  28.       cry.Parent := frm;
  29.       cry.Align := alClient;
  30.       cry.ReportSource := oRpt;
  31.       cry.ViewReport;
  32.       frm.Position := poOwnerFormCenter;
  33.       frm.ShowModal;
  34.    finally
  35.       FreeAndNil(frm);
  36.    end;
  37. end;
Resultado




Espero ter colaborado com esse exemplo. Qualquer dúvida sobre o assunto pode enviá-las que se eu souber respondê-las-ei.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?