打印表格! (30分)

  • 主题发起人 主题发起人 lingyan
  • 开始时间 开始时间
楼上的兄弟,几个根本下不了!
 
如果你要打印dbgrid的程序我给你一片
 
http://www.softreg.com.cn/shareware.asp?id=7495

reprint
使用说明
本人长期使用delphi做数据库的开发,报表控件使用Quickrpt,在打印上经常遇到一些问题,于是自己经常编写一部分打印的程序,经过总结开发了这个控件。
本控件可打印 datasource,dbgrid,stringgrid.
一 、控件属性:
1、colstitle 设置报表的列标题属性
(1)alignment 列标题对齐方式。
(2)font 列标题字体
(3)print 设置是否打印列标题
(4)rowspace 列标题行的高度
2、datasource 选择要打印的datasource
3、dbgrid 选择要打印的dbgrid
4、stringgrid 选择要打印的stringgrid
5、detail 设置要打印的明细数据属性
(1)arrange 设置明细字段排列方向
Horizontal 横向打印(默认的一般打印)
Vertical 竖向打印(字段竖向排列适合打印字段内容较长的报表如“会议纪录”)
(2)aotureturn 打印明细字段时,如果字段超过列的宽度是否允许自动换行
(3)colsline 设置竖线属性引用tpen类
(4)footer 设置明细尾
(5)frame 设置明细边框属性引用tpen类
(6)head 设置明细头同footer
(7)rowsline 设置横线属性引用tpen类
(8)rowspace 设置明细行的高度
(9)top 明细与标题的距离
6、page 设置纸张的上下左右边距
7、pagefooter 设置页脚同明细尾
8、pageheader 设置页眉同页脚
9、printobject 选择要打印的对象 (datasource 、dbgrid、 stringgrid )
10、title 设置标题类页眉、页脚
二 、控件方法:
(1) preview 预览
(2) print 打印
(3) SaveToFile() 保存为报表文件
(4) SaveToStream() 保存为流(然后就可把整个报表存到数据库了很方便哦! ~_~)
(5) PrintFile() 打印报表文件
(6) PrintStream() 打印流(流的数据库存取就不用多说了吧)
(7) PreviewFile() 预览文件
(8) PreviewStream() 预览流
(9) OptionToStream() 报表的属性保存为流
(10) OptionFromStream() 从流中得到报表属性
三、 控件事件:
AfterPrint 打印后
BeforePrint 打印前
(本来很多事件,但没有预览,后来加上预览以及一些方法后实现很困难就去掉了!)
四、注意事项
(1) text 属性,输入“|#|”打印页码值,如果想打印页码可输入“第|#|页” 输入“|RecordCount|”打印 记录数
(2) 不同的打印机,打印和预览效果可能有一点点不同(保证数据打印完全正确一致)。本人用一台针式和一台激光打印机做测试,开始差别较大后经过调试基本一致,不知其他打印机如何。
就这些个吧基本满足了我的软件开发需要,解决了很多问题,关键是做报表省了很大力气,当然了很复杂的报表还是要其它报表控件来解决。如果有其他问题或好的建议可与我联系。
程序设计:吴进昊
E-mail :jinhaowu@hotmail.com
qq :54254770
 
后退
顶部