QuickReport FastReport

一、QuickReport
1、安装
Component->Install packages->X:/Program Files/Borland/Delphi7/Bin/dclqrt70.bpl->OK,组件栏出现QReport
2、使用
简单应用举例说明:
      第一步:工程建立后,在调用报表的窗体加入一个Button,一个ADOConnection、一个ADOStoredProc或ADOQuery(本例使用的是ADOStoredProc,调用现有的存储过程),设置好数据的相关链接后进入报表设计;
      第二步:进入报表设计,File->New->Other->Report,其实也相当于一个窗体,在QReport组件栏拖入三个QRBand,他们的Bandtype分别设置为rbTitle、rbColumnHeader、rbDetail;
      第三步:添加QRLabel写上标题,之后添加多个QRShape放在rbColumnHeader并调整好宽高用于显示表头,这个主要用于显示出表格效果,QuickReport好像这方便不给力,需要自己仔细调整才能达到所需的个性表格,如果需要背景色,调整Brush的Color属性即可,然后对应添加多个QRLabel在对应的QRShape上(注意上下层控制,让QRLable在上否则表头信息将被掩盖住),填写表头信息;
      第四步:参照第三步在rbDetail添加QRShape,然后对应添加QRDBText,并设置每个QRDBText的DateSet属性为Form1.ADOStoredProc1(注意单元文件的引入),DataField属性对应的存储过程查询的字段,至此完成报表设计。
相关代码参考如下: 

[delphi] view plaincopy
 
  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. begin  
  3.   ADOStoredProc1.close;  
  4.   ADOStoredProc1.parameters.parambyname('@pCheckDate').value:='2011-05-05'; //存储过程参数  
  5.   ADOStoredProc1.prepared:=true;  
  6.   ADOStoredProc1.open;      
  7.   RpFrm.Prepare;  
  8.   RpFrm.Preview;  //预览  
  9.   //RpFrm.Print;  //打印  
  10. end;  



二、FastReport(版本FastReport Enterprise v4.9.32 )
1、Delphi7安装
直接运行fr4_9_32_d7e.exe,填入Key即可完成安装,其它版本的Delphi安装可能会稍微麻烦一点
2、使用
简单应用举例说明:
      第一步:工程建立后,在调用报表的窗体加入一个Button,一个ADOConnection、一个ADOQuery、一个frxDBDataset、一个frxReport;ADOConnection设置好链接后将ADOQuery与之关联并写好Sql语句,完成与数据库相关表的关联,将frxDBDataset的DataSet属性设置为ADOQuery;
      第二步:双击frxReport,根据需要添加相应的band栏,如ReportTitle、ColumnHeader、MasterData、PageFooter,用TextObject写好标题、列名等(TextObject类似于Delphi的Lable);然后,菜单Report->Data选中frxDBDataset,这时在报表设计器的右侧Data栏出现关联表的字段,双击MasterData同样选中frxDBDataset,然后将右侧Data栏想要显示在报表中的字段拖入MasterData栏即可,最后保存报表文件。
      第三步,窗体调用,如果使用保存的报表文件,注意路径。
相关代码参考如下: 

[delphi] view plaincopy
 
    1. procedure TForm1.Button2Click(Sender: TObject);  
    2. var  
    3.   sPath: String;  
    4. begin  
    5.   sPath := ExtractFilePath(Application.ExeName);      
    6.   self.frxReport1.Clear;  
    7.   self.frxReport1.LoadFromFile(sPath +'simpleFr.fr3');  
    8.   self.frxReport1.ShowReport;  
    9.   //self.frxReport1.Print;  
    10. end;  
原文地址:https://www.cnblogs.com/chenmfly/p/4780662.html