我也想知道,并且目前就想用
这有个说明,可是我是菜鸟,不懂
大家来解释一下好不
这个例子可能有错误,命令格式的错误吧大概
http://www.
将报表保存为图形文件
ReportListener 的另一种很大的用途是通过在你专门的子类中覆盖 OutputPage 方法来将一个报表保存为图形文件。可以保存的图形文件格式包括 EMF、JPEG、GIF、PNG、BMP、TIFF、以及多页的 TIFF(这种格式对于用传真发送报表来说特别有用)。 注意,在这个示例的代码中,我将 ListenerType 属性设置为了2,这意味着让你自己来控制输出,每次用参数 nDeviceType = -1 调用 OutputPage 方法就打印一页,但并不将输出发送到一个打印设备。MyReportListener 有一个自定义的 OutputPage 方法,它先检查 nDeviceType 的参数是否为 -1,然后再次调用 OutputPage 方法(给方法传递一个文件名和图形文件类型),再执行一个 NODEFAULT。这个示例在生成第一页的时候建立一个 TIFF 文件,然后将其它的页添加到同一个图形文件中去。 LOCAL olistener * 建立一个 ReportListener 的实例
olistener = CREATEOBJECT("MyTiffListener")
olistener.tifffilename = "c:\tifftest.tif" * 运行一个将会引用我们设置好了的 Listener的 报表
REPORT FORM (_samples+"solution\reports\invoice.frx") ;
OBJECT olistener RANGE 1,2 * 在浏览器中显示结果
RUN /n Explorer.exe c:\tifftest.tif DEFINE CLASS MyTiffListener AS ReportListener
tifffilename = []
listenertype = 2 && 一次一页,不输出 FUNCTION OutputPage(nPageNo, eDevice, nDeviceType)
* 由于 ListenerType 指定了 "不打印输出"
* 在报表引擎调用这个方法的时候,nDeviceType 将会是 -1
* 而我们现在则捕捉这个条件,然后自己来调用
* OutputPage 方法,调用时带上文件名和图形类型参数
IF nDeviceType = -1 ;
AND NOT EMPTY(THIS.tifffilename)
IF nPageNo = 1
* 如果是第一页,则建立TIFF文件
THIS.OutputPage(nPageNo, THIS.tifffilename, 101)
ELSE
* 否则,则向 TIFF 文件添加剩下的页
* (这段代码要运行,首先 TIFF 文件必须已经存在)
THIS.OutputPage(nPageNo, THIS.tifffilename, 201)
ENDIF
* 我们已经用需要的设置调用过 OutputPage 方法了
NODEFAULT
ENDIF
ENDDEFINE