在Delphi 中如何使用水晶报表

来源:互联网 发布:战天堂阵法进阶数据 编辑:程序博客网 时间:2024/04/28 09:28

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;

原创粉丝点击