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;
interface
uses
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);
begin
end;
end.
添加完apllication后,我们还要再增加一个报表浏览组件crystal Reports viewer co
ntrol(crviewer.dll)
步骤和上面是一样的:
首先选择 1,project -- import type library 出现一个box
2,在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);/*The CrOpenReportByDefault constant places a lock o
n the RPT file
preventing it from being accessed by other applications or users.
CrOpenReportByTempCopy is often preferred since it opens a temporary
copy of the RPT file instead. */
crViewer1.ReportSource := Report;
crViewer1.ViewReport;
end;