社区
Delphi
帖子详情
打印预览调用的问题
rzy_yx
2001-04-25 04:04:00
我在我的系统里做了一个打印预览程序,运行都正常。
问题是我每个报表窗体上都要放预览界面的程序。系统才能按自定义的预览窗体进行预览
我的报表有三四十个。我就要放三四十个预览界面的程序,非常麻烦,并且我的预览界面的程序都有一幅图片,因此编译出来的程序非常之巨(6M多),我用delphi自带的
预览程序还不足1.5M.
我的问题是:在总个系统中就只做一个预览界面的程序,然后其他报表就调用自定义的预览程序.不知各位高手有何良策.小弟在这里先谢了。
...全文
197
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
打赏
举报
回复
我不是到你的预览程序是怎么做的。
你可以在预览程序里提供一些公共接口,用一个预览界面预览所有报表。
还可以每张报表一个预览界面,但这些预览界面是在预览时才生成,预览完毕就释放。
MFC对话框
打印
与
打印
预览
对话框
打印
与
打印
预览
的实现,让你基于对话框的应用程序
打印
自如!!!
VS2017 MFC 对话框程序
打印
及
打印
预览
的实现程序
研究了网上大量的MFC对话框
打印
及
打印
预览
功能的demo之后,网上现有的版本都比较旧,所以选中了几个版本,合并修改,得到这个比较完美的最新版本,编译无错,成功运行。 VS2017 MFC
VB6.0
打印
预览
控件附
调用
示例.rar
一个比较好用的VB
打印
预览
控件,并包括有
调用
的范例代码,在
预览
时可选择百分比,可直接
打印
,勾寻窗体中
预览
”这一功能后,即可看到
预览
空格,并可选择放大倍数。源码包中大部分文件为cls文件,另外一部分是.bas文件,测试的例子在Testing文件夹中,例子运行效果请参见截图所示。
js
调用
word 直接
打印
预览
功能
第一次放资源,希望支持,赚点分,同时帮助大家
在对话框中实现
打印
预览
并实现
打印
窗口内容的例子
实现了在对话框中添加MFC文档视图结构的
打印
预览
功能,并实现了窗口内容的
打印
输出。 编译环境:VS2005
Delphi
5,931
社区成员
262,938
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章