社区
Delphi
帖子详情
打印预览调用的问题
rzy_yx
2001-04-25 04:04:00
我在我的系统里做了一个打印预览程序,运行都正常。
问题是我每个报表窗体上都要放预览界面的程序。系统才能按自定义的预览窗体进行预览
我的报表有三四十个。我就要放三四十个预览界面的程序,非常麻烦,并且我的预览界面的程序都有一幅图片,因此编译出来的程序非常之巨(6M多),我用delphi自带的
预览程序还不足1.5M.
我的问题是:在总个系统中就只做一个预览界面的程序,然后其他报表就调用自定义的预览程序.不知各位高手有何良策.小弟在这里先谢了。
...全文
184
12
打赏
收藏
打印预览调用的问题
我在我的系统里做了一个打印预览程序,运行都正常。 问题是我每个报表窗体上都要放预览界面的程序。系统才能按自定义的预览窗体进行预览 我的报表有三四十个。我就要放三四十个预览界面的程序,非常麻烦,并且我的预览界面的程序都有一幅图片,因此编译出来的程序非常之巨(6M多),我用delphi自带的 预览程序还不足1.5M. 我的问题是:在总个系统中就只做一个预览界面的程序,然后其他报表就调用自定义的预览程序.不知各位高手有何良策.小弟在这里先谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hp1200
2001-07-29
打赏
举报
回复
up
sclxp
2001-05-11
打赏
举报
回复
我可以给你发一个我用QREPORT的打印程序!
联系我:sclxp@163.net
jelly
2001-04-29
打赏
举报
回复
我发表一下自己的看法,只是初学delphi,可能不正确。
我觉得在delphi自带的qb2demo中使用的方法大概可行。
该例中在mainform中定义一个报表变量report,然后在程序运行中动态设定
report:=midiform.quickRep;
最后在mainform里调用report.preview
如果你的预览程序接口是一样的,上述方法应该可行
rzy_yx
2001-04-29
打赏
举报
回复
????
benzz
2001-04-28
打赏
举报
回复
rzy_yx,already E 4.28
benzz
2001-04-26
打赏
举报
回复
我不想介绍我的东西,只想您看到这样的方法做控件了
一次偶然机会,公司几个产品都需使用报表,因而由我主持开发了这样一报表控件,它经过了2,3,4,5版本的升级,又有很多功能的扩充,它目前有十几万行代码,经历了七八个大型项目的使用,减轻了我们太多的工作 使用此控件主要的目的:
1, 主要目的减轻程序员的工作量;我相信通过此控件简单报表设计只须一分钟不到;
2, 增加整个系统的稳定性,界面统一;
3, 减小整个应用程序大小,不必再为一个报表建立一quickrep甚至form;
4, 动态报表设计,它将随着Dbgrid的变化而变化;
5, 其它一些优点如:加入图表功能,可设定文字自动居左、中、右;
6, 在多层架构应用中使用,如CICS,
7, 支持多表头
8, 支持EXCEL导入出
整个报表设计过程:
1, 统计数据并反应在DBGRID中;
2, 增加lbs_rep控件,必须指定其两个属性,
a,Ddbgrid (打印的数据源 如 dbgrid1)
b:filename(报表样式名,测试时请将rptcomm.prt 拷到c:\,并指定为’c:\rptcomm.rpt’)
3, 增加如下代码:
lbs_rep1.clearvar; //清空变量
lbs_rep1.add('BM1=1999年12月公司统计总表'); //增加表头,变量名可调整
lbs_rep1.add('TJ1=统计条件:12月');
lbs_rep1.add('W1=列表人:张大勇');
lbs_rep1.execute; //执行预览与打印;
就这样简单,如须减变报表样式,请下载rptx.exe来调整;
属性说明:
(请不要使用已取消属性,有些属性必须按提示使用)
(ZC开头为图表属性,新开发)
属性 例值 说明
Dbgrid Dbgrid1 需列印的数据源,Tdbgrid,与Mydbgrid互斥
Dgdposi 0 报表列印的左边位置
Double Flase 必须设置为False,因与以前版本有关
Filename C:\rptcomm.prt 报表样式文件位置,在最终应用版本中请将所有样式文件拷贝到应用执行程序当前目录;
Haspsum False 已取消
Mydbgrid Mydbgrid1 需列印的数据源,Tmydbgrid,与dbgrid互斥
Noprint 已取消
Orientation poPortrait 报表纵横向
Papesize A4 纸张大小
Preview True 是否预览
Psumtext 已取消
Zcdataset Table1 数据源 Tdataset
Zcfields partno;cost 图表字段
Zcfieldcount 2 图表字段数量(必须与Zcfields对应)
Zchave True 是否含图表
Zcheight 350 图表高度
Zcissum True 图表在报表右端还是在底部
Zcleft -1 图表与报表左端相应位置
Zctitle 统计总表 图表标题
Zctop 10 相对高度
Zctype 4 图表类型
Zcwidth 400 图表宽度
Email:cengrong@163.net
如果想看一下请与我联系,不过没源程序
rzy_yx
2001-04-26
打赏
举报
回复
上位朋友的做法,我原来就试过,根本行不通。但我还是谢谢你。
各位中间难道没有打印方面的高手吗?????
忠诚期待!!!!!!!!
神奇的肚肚
2001-04-25
打赏
举报
回复
在onpreview中写入
form2.preview1.qrprinter:=form1.quickrep1.qrprinter;
在button1 onclick
form1.quickrep1.preview
jelly
2001-04-25
打赏
举报
回复
关注
rzy_yx
2001-04-25
打赏
举报
回复
不知是在预览窗体激活时载入报表,还是在报表预览时调用预览窗体。我想可能是后者,但不知具体的实现过程。 或者是后者?????
我在报表窗体的uses单元声明了预览窗体,
在quickrep1.onpreview事件中加入如下代码。
preview1.qrprinter:=quickrep1.qrprinter;等,在具体运行总是报错。。或者只显示自带的预览窗体,或只显示quickrep1............
各位高手是否明确指小弟一条出路???????????????
上面那位bpc的朋友的做法,小弟相当想知道,如果能详细讲解,那求之不得,如果能指出大概思路,我也相当感谢。愿闻其祥。。。。。。
bpc
2001-04-25
打赏
举报
回复
两种方法:
1.用继承;
2.把报表作成dll;
Apollo47
2001-04-25
打赏
举报
回复
我不是到你的预览程序是怎么做的。
你可以在预览程序里提供一些公共接口,用一个预览界面预览所有报表。
还可以每张报表一个预览界面,但这些预览界面是在预览时才生成,预览完毕就释放。
C#使用控件
调用
打印
机实现
打印
预览
、
打印
C#使用控件
调用
打印
机实现
打印
预览
、
打印
C#实现word文档
打印
及
预览
C#实现word文档
打印
及
预览
,下载后可以直接复制到程序中使用
ORTP库局域网图传和VLC实时
预览
-第3/11季视频课程-海思
本季课程通过移植ORTP库并
调用
ORTP库函数来实现H.264裸流数据的网络传输,并且在Windows中安装VLC播放器,并在VLC中通过配置文件的方式来解析ORTP发送的裸流实现视频实时
预览
。本季课程的核心是ORTP协议的讲解,ORTP...
C#
打印
预览
和
打印
datagridview
C#
打印
预览
和
打印
datagridview
js
调用
脚本实现
打印
预览
js实现
打印
预览
!在IE浏览器中测试有效.值得下载看看!资源免费,大家分享!!
Delphi
5,388
社区成员
262,731
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章