捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
FastReport 封装 ActiveX 支持 Web调用
关键字:FastReport,ActiveX,Web打印
来 自:原创
平 台:Win2K/2003/NT/XP 下载所需:0 火柴
深浅度:中级 完成时间:2012/12/4
发布者:yihuas (奖励50火柴) 发布时间:2012/12/4
编辑器:Delphi7 语  种:简体中文
分 类:数据库 下载浏览:901/19686
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
最近因项目需要。将FastReport3.0 封装成 ActiveX 来支持web打印
使用说明(可以参考 test.htm 测试页面 注意测试时将 test.fr3文件复制到 c:\ 或者自己修改 test.htm)
  
注册 regsvr32 FastReportObject.ocx 
  
在web里面引用 FastReportObject 这个 ActiveX组件 
  
首先设置 数据集 SetMasterData
如果数据集是 Delphi 的 TClientDataSet 导出的 XmlData 
第一个参数为空不用设置 直接设第二个参数就可以了,
  
如果是.Net的数据集,第一个参数输入数据集的结构信息,第二个参数用来输入数据集的内容.内部会自动转换成 Delphi 的 XmlData
也意味着 这个组件需要 midas.dll 运行
  
完成后 执行 FastPrint 就可以了。
  FastPrint 需要一个报表文件的参数,支持本地文件及URL路径.

注意:这里做 http 部署的要注意一下  FastReport 的报表文件 .fr3 格式不支持下载。需要在 IIS的 mime 里面增加 .fr3扩展名 否则组件将不能正确的下载到服务端的报表文件.
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论29条 当前显示最后6条评论
yihuas 2012/12/30 7:46:09
修改 SimpleXmlUnt.pas 文件
找到 function ConvertNetToDelphiDataType(sTmpStr:String):String; 函数
////原代码    
if CompareText(sTmpStr,'decimal')=0 then
    begin
    Result:='fixed';
    exit;
    end;
////修改后
if CompareText(sTmpStr,'decimal')=0 then
    begin
    Result:='i4';
    exit;
    end;
cwg1027 2013/1/2 18:38:23
修改 SimpleXmlUnt.pas 文件后,一切正常,谢谢!
linkyang 2013/1/5 11:38:39
yihuas 4 帮忙解决下,我这里打印出现乱码,打开设计页面的数据集也是乱码,帮忙指点下
我用的是fastreport 4.21 版本
yihuas 2013/1/5 15:18:33
我那个测试的东西是 fastreport 3.0做的报表文件,会不会版本不一致导致报表文档不兼容啊.我也没有用过 fastreport 4.0 所以没法解答,下面贴一个生成报表工具的代码.
----------
program designrpt;

uses

  forms,
  classes,
  Sysutils,
  registry,
  frxClass,
  frxDCtrl,
  frxRich,
  frxBarcode,
  frxDBSet,
  frxChart,
  frxOle,
  frxExportPDF,
  frxExportImage,
  frxExportRTF,
  frxExportXLS,
  frxExportHTML,
  frxGradient,
  frxChBox,
  frxDMPExport,
  frxCross,
  frxDesgn;

{$R *.RES}

//**********
//  关联 FastReport 报表文件
//**********
procedure RegFilefilter;
begin
  with tregistry.create do
    try
    RootKey:=$80000000;
    openkey('.fr3',true);
    writestring(','FRFiles');
    closekey;
    //----------
    openkey('FRFiles',true);
    writestring(','FastReport Files');
    openkey('Defaulticon',true);
    writestring(',application.exename);
    closekey;
    //----------
    openkey('FRFiles\shell\open\command',true);
    writestring(',application.exename+' "%1"');
    finally
    closekey;
    free;
    end;
end;

//**********
// 创建DataSet
//**********
procedure InitialDataSet;
var
  i:Integer;
  sFileName:String;
  TmpList:TStringList;
begin
  try
    TmpList:=TStringList.Create;
    sFileName:=ChangeFileExt(Application.ExeName,'.txt');
    if fileexists(sFileName) then
      TmpList.LoadFromFile(sFileName);

    if TmpList.Count=0 then
      begin
      TmpList.add('userdata');
      TmpList.add('masterdata');
      TmpList.Savetofile(sFileName);
      end;

    for i:=1 to TmpList.Count do
      TfrxdbDataSet.create(Application).Name:=TmpList.Strings[i-1];

  finally
    freeandnil(TmpList);
  end;
end;

//**********
//  主程序
//**********
begin
  Application.Initialize;
  with TfrxReport.create(Application) do
    try
    RegFilefilter;
    InitialDataSet;
    if ParamCount>0 then
      LoadFromFile(ParamStr(1));
    DesignReport;
    finally
    free;
    end;
  Application.run;
end.
cwg1027 2014/1/27 22:13:15
增加了一个数据源(2个数据源),但没有成功。请教yihuas需要修改那几个文件的那几个地方,先谢了!
cwg1027 2014/1/29 22:30:11
今天有点时间再次进行测试,成功!分析一下,都是自己不细心缘故。
但还是要感谢yihuas无私奉献!
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表