请问在Delphi6.0中如何调用Crystal报表???请详细一点!!!多谢

解决方案 »

  1.   


    首先选择 1,project -- import type library 出现一个box 2,在box中 选择 crystal report x activex designer runtime library(x代
    表你的水晶报表是什么版本的,如8.5,那x就是8.5)
    3. 点击 Install 按纽 ,然后点击 Into New Package(这里会要求你输入一
    个路径(如:e:\borland\delphi6\Lib\cradrl.dpk) , 点击 ok就可以了。在确定框中
    点击 yes,在Delphi 的Activex中就增加了一个application对象。
    4.把application 拖放到form1中,project 自动生成如下代码:
    unit Unit1;interfaceuses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs;type
    TForm1 = class(TForm)
    Application1: TApplication;
    procedure FormCreate(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;var
    Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    beginend;end.添加完apllication后,我们还要再增加一个报表浏览组件crystal Reports viewer co
    ntrol(crviewer.dll)
    步骤和上面是一样的:
    首先选择 1,component--import ActiveX control出现一个box2,在box中 选择 crystal reports viewer control
    3. 点击 Install 按纽 ,然后点击 Into New Package(这里会要求你输入一
    个路径(如:e:\borland\delphi6\Lib\crviewer.dpk) , 点击 ok就可以了。在确定框
    中点击 yes,在
    Delphi 的Activex中就增加了一个crviewer对象。
    4.把它添加到form1
    5.在form1中增加一个Button
    现在就可以在button 的click 事件中写如下代码:procedure TForm1.Button1Click(Sender: TObject);
    var
    report : IReport;
    begin
    /我们可以打开一个已经生成的报表,这是动态的,可以在报表制作的时
    /侯连接好数据库,当然也可以通过在delphi中调用LogonServer
    /setlogoninfo来动态连接数据库。
    report := Application1.OpenReport('c:\report1.rpt',
    crOpenReportByTempCopy);crViewer1.ReportSource := Report;
    crViewer1.ViewReport;
    end;
      

  2.   

    xuewuya(欧阳) 
    report := Application1.OpenReport('c:\report1.rpt',
    crOpenReportByTempCopy);
    这句话在运行时,第一次调用特别慢需要10秒,你碰到过吗,我已经困扰1年了!!!
    请执教。
      

  3.   

    xuewuya(欧阳)知道为什么吗?可以改进吗?能问问水晶报表技术支持吗?我的技术支持号过期了。
    关注
      

  4.   

    1:X:\Program Files\Crystal Decisions\Crystal Reports 9\Samples\chs\Code\Delphi\cr85vcl.exeX为你的报表安装目录/2:component--import ActiveX control出现一个box
    其他同上
      

  5.   

    给你一个例子(我是通过调用crpe32.dll来实现的CR9.0)
       
       Crpe.ReportName := 报表模板名称(含路径);
          Crpe.Connect.ServerName := 数据服务器;
          Crpe.Connect.DatabaseName := 数据库名;
          Crpe.Connect.UserID := 登陆数据库用户名;
          Crpe.Connect.Password := 登陆数据库用户密码;
          Crpe.Connect.Propagate := True;
       Crpe.Show;如果还有其他问题可以继续发贴提问(我用水晶报表CR9.0做了几个项目),把贴地址发给我。
    qq : 30321750
      

  6.   

    xuewuya(欧阳)说的很好。
    但也可以使用 VCL,也很好用。