report machine(报表控件) 3.22
分享到:
report machine是一款非常给力的Delphi报表控件,使用它可以制作出非常复杂的报表。在report machine面前,还会有什么复杂的报表存在吗?不会有的,因为这是一个功能强大,完全自动化、完全自由设计的报表控件。对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表!想想fast report 吧,report machine会fast report会的,还会它不会的!这是一个完全中文化报表控件,支持delphi5到delphi7,BCB5到BCB6。它的最大优点就是:强大与自由!
2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发一个报表只需几分钟的时间。
3、报表样式可以保存为report machinef格式,下次可通过读入使用(配合SQL脚本就可以生成报表)。并可以把带数据的报表保存为report machinep格式,在任何机器上都可以浏览、打印,而不需要数据库。
4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。
5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。
6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。
7、完全支持D5--D7,BCB5--BCB6。
8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程序脚本,以控制、或实现更复杂的打印效果。
9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。
10、多种格式转换,可以把做出的报表转换
11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会乱码。
12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。
13、首家支持即打即停.
14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。
15、首家提供双报表设计器(第一种,第二种),满足所有的需求。
16、更是提供类似于ObjectPascal的script,实现特殊功能。
17、首家提供web,IntraWeb中的报表解决方案。
18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。
19、首家提供合并单元格功能,更加适应处理复杂的中文报表。
20、自动填空行,每页打印数量等细节处理更完善。
21、首家提供IntraWeb下报表插件,完美实现b/s下报表
22、提供webreport方案,可以在asp,asp.net,php中实现报表的打印预览。
设置好ADOConnection的ConnectionString。LoginPrompt=False。
ADOQuery的Connection指向ADOConnection。
ADOQuery的SQL设置好数据查询语句。
在Foreport machine上放上两个report machine报表控件:report machineDBDataSet和report machineReport。
report machineDBDataSet的DataSet指向ADOQuery。
report machineReport的DataSet指向report machineDBDataSet。
(如果想使最终生成的应用程序具备报表设计能力,还需要放上report machineDesigner控件,不需要设置任何属性)
双击report machineReport控件,开始设计报表模板。
对于一般比较规则的报表,只需向模板中加入四个Band对象,分别是:
1)、页标头:通常用来显示报表名称,时间等
2)、主项标头:通常用来显示栏目名称。
3)、主项数据:用来显示数据。
4)、页注脚:用来显示页号,日期等。
设计好的模板可以保存在DFM中,也可以保存到独立的模板文件中,扩展名为report machineF,运行时调入。下面给出几个代码片断:
procedure TBrowseForeport machine.Button5Click(Sender: TObject);
var
report machineReport:Treport machineReport;
begin
if ADOQuery1.IsEmpty then
Exit;
try
report machineReport := Treport machineReport.Create(Self);
report machineReport.LoadFromFile('Match.report machinef');
report machineReport.PrepareReport;
report machineReport.ShowReport;
finally
report machineReport.Free;
end;
end;
procedure TForeport machine1.Button1Click(Sender: TObject);
begin
report machineReport1.ShowReport;
end;
// 设计报表模板
procedure TForeport machine1.Button2Click(Sender: TObject);
begin report machineReport1.LoadFromFile('TTT.report machinef');
report machineReport1.DesignReport;
end;
对于大多数规则的报表,以上知识就足够了。但这只是report machine最简单的用法,远远没体现出report machine功能的强大。
一般,将数据传入rdlc有两种式:数据源和参数
数据源一般是数据的集合,例如多行数据;参数一般是比较离散的数据,例如报表的标题,作者等。
对于前者,可以通过报表向导:添加新项-〉报表向导-〉添加数据源,这里选择对象,然后指定你写的对象-〉下一步,后面比较简单
对于参数,添加了报表以后,点击菜单栏的“参数”,然后添加你要的。
在report machine中如何做分组报表和交叉报表?
unit Report. var lPageIndex: Integer. lList: TStringList. MyPageNo,MyPageTotal:integer. procedure Self_OnScriptBeginReport(Sender: TObject). begin if not Self.FinalPass then begin lList := TStringList.Create. lList.Add(0). end. end. procedure Self_OnScriptEndReport(Sender: TObject). begin if Self.FinalPass then begin lList.Free. lList := nil. end. end. procedure columnFooter1_OnBeforePrint(Sender: TObject). begin lPageIndex := lPageIndex 1
另外这些数据分组可以交给ActiveReports来做,自行控制,数据源指定,勾选两个属性就可以。
功能特色:
1、支持屏幕打印,控制方法多样,可以打印全部rxlib控件全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book,TDecisionGrid等等众多控件。2、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发一个报表只需几分钟的时间。
3、报表样式可以保存为report machinef格式,下次可通过读入使用(配合SQL脚本就可以生成报表)。并可以把带数据的报表保存为report machinep格式,在任何机器上都可以浏览、打印,而不需要数据库。
4、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。
5、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。
6、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。
7、完全支持D5--D7,BCB5--BCB6。
8、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程序脚本,以控制、或实现更复杂的打印效果。
9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。
10、多种格式转换,可以把做出的报表转换
11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会乱码。
12、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。
13、首家支持即打即停.
14、首家提供类似excel的报表设计器,给你足够灵活方表的报表设计方式。
15、首家提供双报表设计器(第一种,第二种),满足所有的需求。
16、更是提供类似于ObjectPascal的script,实现特殊功能。
17、首家提供web,IntraWeb中的报表解决方案。
18、首家提供报表压缩处理,占用内存更少,生成报表速度更快。
19、首家提供合并单元格功能,更加适应处理复杂的中文报表。
20、自动填空行,每页打印数量等细节处理更完善。
21、首家提供IntraWeb下报表插件,完美实现b/s下报表
22、提供webreport方案,可以在asp,asp.net,php中实现报表的打印预览。
使用教程:
在Foreport machine上放上两个数据库控件:ADOConnection和ADOQuery设置好ADOConnection的ConnectionString。LoginPrompt=False。
ADOQuery的Connection指向ADOConnection。
ADOQuery的SQL设置好数据查询语句。
在Foreport machine上放上两个report machine报表控件:report machineDBDataSet和report machineReport。
report machineDBDataSet的DataSet指向ADOQuery。
report machineReport的DataSet指向report machineDBDataSet。
(如果想使最终生成的应用程序具备报表设计能力,还需要放上report machineDesigner控件,不需要设置任何属性)
双击report machineReport控件,开始设计报表模板。
对于一般比较规则的报表,只需向模板中加入四个Band对象,分别是:
1)、页标头:通常用来显示报表名称,时间等
2)、主项标头:通常用来显示栏目名称。
3)、主项数据:用来显示数据。
4)、页注脚:用来显示页号,日期等。
设计好的模板可以保存在DFM中,也可以保存到独立的模板文件中,扩展名为report machineF,运行时调入。下面给出几个代码片断:
procedure TBrowseForeport machine.Button5Click(Sender: TObject);
var
report machineReport:Treport machineReport;
begin
if ADOQuery1.IsEmpty then
Exit;
try
report machineReport := Treport machineReport.Create(Self);
report machineReport.LoadFromFile('Match.report machinef');
report machineReport.PrepareReport;
report machineReport.ShowReport;
finally
report machineReport.Free;
end;
end;
procedure TForeport machine1.Button1Click(Sender: TObject);
begin
report machineReport1.ShowReport;
end;
// 设计报表模板
procedure TForeport machine1.Button2Click(Sender: TObject);
begin report machineReport1.LoadFromFile('TTT.report machinef');
report machineReport1.DesignReport;
end;
对于大多数规则的报表,以上知识就足够了。但这只是report machine最简单的用法,远远没体现出report machine功能的强大。
相关问题:
machine report 主项数据、细项数据如何关联?一般,将数据传入rdlc有两种式:数据源和参数
数据源一般是数据的集合,例如多行数据;参数一般是比较离散的数据,例如报表的标题,作者等。
对于前者,可以通过报表向导:添加新项-〉报表向导-〉添加数据源,这里选择对象,然后指定你写的对象-〉下一步,后面比较简单
对于参数,添加了报表以后,点击菜单栏的“参数”,然后添加你要的。
在report machine中如何做分组报表和交叉报表?
unit Report. var lPageIndex: Integer. lList: TStringList. MyPageNo,MyPageTotal:integer. procedure Self_OnScriptBeginReport(Sender: TObject). begin if not Self.FinalPass then begin lList := TStringList.Create. lList.Add(0). end. end. procedure Self_OnScriptEndReport(Sender: TObject). begin if Self.FinalPass then begin lList.Free. lList := nil. end. end. procedure columnFooter1_OnBeforePrint(Sender: TObject). begin lPageIndex := lPageIndex 1
另外这些数据分组可以交给ActiveReports来做,自行控制,数据源指定,勾选两个属性就可以。
展开更多
report machine(报表控件) 3.22下载地址
- 需先下载高速下载器:
- 专用下载:
- 其它下载: