首页 delphi实现打印报表功能

delphi实现打印报表功能

举报
开通vip

delphi实现打印报表功能delphi实现打印报表功能 delphi里自带有打印相关控件吗,怎么实现呀,打印dagrid表内容,或者说memo,Listbox, 或者几个edit的内容。谢谢 uses printers var lines:integer; prntext:system.text; begin if printdialog1.execute then try assignprn(prntext); //将PRNTEST分配给打印机 rewrite(prntext); //调用REWRITE函数,为输出打开...

delphi实现打印报表功能
delphi实现打印报表功能 delphi里自带有打印相关控件吗,怎么实现呀,打印dagrid表 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ,或者说memo,Listbox, 或者几个edit的内容。谢谢 uses printers var lines:integer; prntext:system.text; begin if printdialog1.execute then try assignprn(prntext); //将PRNTEST分配给打印机 rewrite(prntext); //调用REWRITE函数,为输出打开已分配的文件 printer.canvas.font:=memo1.font; //把当前MEMO1的字体指定给打印对象的CANVAS的字体属性 for lines:=0 to memo1.lines.count-1 do begin writeln(prntext,memo1.lines[lines]); end; //把MEMO的内容写到打印机对象 system.close(prntext); //关闭打印文件 except abort; end; end; ===================== 在网上看到好多第三方的打印控件 我想问 ReportBuilder ReportMachine QuickReport FastReport 这几种打印控件的优缺点 哪个最好用,哪个并发简单快捷? 这些都是报表工具,用来制作报表的,偶们公司现正在用FastReport,感觉还凑合,虽然有不少Bug,但是都还可以通过其它方法解决或避免。 听网友们说QuickReport还像还可以,但是说实话,这些由国外开发的报表工具有时候你会发现并不适合国内的需求,很令人郁闷,所以无论使用哪一个,都要有被其郁闷的心理准备。 话又说回来,用这种东西,必需要有钻研精神,hoho,这样才能更快更好的掌握其特点和使用方法,遇到的问题也就迎刃而解了 =============================== 1.用Delphi编写打印程序的窍门 如果你想自己用Delphi编写一个打印程序,那么,下面这些技巧或许对你有所帮助。 1.获取显示当前打印机的分辨率 Windows下的打印分辨对打印程序有着至关重要的作用,如果你想知道打印机的分辨率,请在程序中加入一行:Show Message(+inttostr(GetDeviceCaps(printer.Handle,LOGPIXELSX))+chr(13)++inttostr(Ge tDeviceCaps(printer.Handle,LOGPIXELSY)));结果就一目了然了。 2.将结果直接送到打印机 Delphi提供了两种打印方式:一是将结果输送到Form,再调用Form的print方法将结果输送到打印机,二是将结果直接输送到打印机。如果你采用第一种方式,则无论你怎样调整Form的PrintScal属性,打印出来的东西也不会让你满意。因此建议采用第二种方式。 3.尽量不要使用AssignPrn 尽管AssignPrn简化了文本打印操作,使输出到打印机像输出到文件一样简单。但简单带来的是一系列的不方便:你无法知道当前打印的行数,无法准确控制行距,无法灵活改变字体字形等等。还是用打印机的Canvas属性进行打印吧。 4.用打印机的点数做度量单位 如果想让打印程序在任何打印机上都能正常地打印,你就必须改变你的度量单位。如果采用固定的度量,不同分辨率的打印效果是不同的。举例来讲: printer.Canvas.rectangle(0,0,360,720)在360×360的佳能4200SP上能打出一个1英寸宽、2英寸高的矩形,但在600×600的惠普6L上只能打出0.6英寸宽、1.2英寸高的矩形。使用打印机的点数做为度量单位是一个明智的选择。具体做法如下: VarPointX,PointY:integer;PointX:=GetDeviceCaps(printer.Handle,LOGPIXELSX);PointY :=GetDeviceCaps(printer.Handle,LOGPIXELSX);printer.Canvas.rectangle(0,0,PointX*1 ,PointY*2)这样,无论你使用什么样的打印机,都能得到一个1英寸宽、2英寸高的矩形。 5.添加打印程序 单元 初级会计实务单元训练题天津单元检测卷六年级下册数学单元教学设计框架单元教学设计的基本步骤主题单元教学设计 尽管Delphi在生成窗体时会自动在USES部分加入许多程序单元,但打印程序单元(Printers)却不在之列,要想使打印机正常工作和程序不出错,你还是老老实实手工给它加上吧。(湖北 杨德军)
本文档为【delphi实现打印报表功能】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_983143
暂无简介~
格式:doc
大小:15KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-11-15
浏览量:20