我刚开始使用ereport时,找了很多资料,可都没有说清楚,
我用一个程序试了半天,又看了源程序,才勉强用了起来!
虽然有源程序,在我刚学delphi的时候,真的不明白很多东西的
用法,很希望有人能指点一、二,借此机会,给各位大虾,
应该给新手点拨,可以给新手少走很多路,更多的时间用在学
打基础的东西,也希望菜鸟们多动脑筋,多动手,不要想一想
就知道的问题也不加思索的提出来,老鸟们的时间也有限,更
没有人能手把手的教。
对于其他的控件的用法,希望也有人能完整的总结一下,算个
专题讨论,特别关注象ereport这样的国产控件,让他发扬光大
才对得起写他的人!
在此感谢 郭家骏、王寒松 廖伯志等给我们提供的好控件
用法总结:
一、有一数据库,字段名如下:
lwjg,swrq,swbh 类型根据你的需要设
先用ereport.exe制作模版:‘表格’-‘新建表格’
(按你的版面设了)我的是
数据库演示
字段名 lwjg swrq swbh
'linenum #d1.lwjg #d1.swrq #d1.swbh
源程序的说明是:
1、`号开头的是变量,通过SetVarValue来赋值。
2、@号开头的是主表的表名及字段名,通过SetDataSet来赋值。
3、#号开头的是从表的表名及字段名,通过SetDataSet来赋值。
4、`PAGENUM是页号,自动赋值。
5、`Date、`Time,`DateTime为系统变量,分别表示打印时的日
期、时间
我要说明的是:a。以',@,#开头,必须在单独的单元格内,也就是
说每一个单元格有变量,必须在开头,否则无效,型如
XXX N月份XXX的,可以用三个单元格来分隔实现。
b。@开头的,每一页只打一个记录,要每页打多个记录,用#变量
d1什么的是SetDataSet('d1',数据库)中指明的代号,随你
这样说比较明白吧
二、在程序中,加入ReportRunTime控件,代码应该是这样的:
EPpath:=extractFilePath(application.exename);//程序路径
With ReportRunTime1 Do
Begin
ReportFile:=eppath+'yjl.ept';
EnableEdit:=True;
SetDataSet('d1',adoquery1); //设置报表模板中
的数据集变量名,adoquery1是数据库的查询集
SetVarValue('month',months); //设置报表模板中的
字符变量内容,预先给months赋值。
PrintPreview(True); //打印
End;
有什么不明白的再说!!!