pb8如何设定预设打印机.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pb8如何设定预设打印机

SYBASE PowerBuilder 8.0 Tip(1) –如何设定预设打印机? PowerBuilder程序在打印报表时,使用者必须先设定好操作系统预设的打印机,然后才能在程序执行中将报表打印出来。然而许多系统所产生的报表各不相同,需求各异,常常一个系统就会需要不同的打印机来满足其打印需求。对操作系统而言,不管各式各样的PowerBuilder程序行印需求,只是单纯的将工作交由预设打印机来完成,因此要打印各种不同需求的报表,主要解决方法就是在打印该报表前先更改操作系统的预设打印机,这样接下来要打印的报表就可以依需要的打印机来打印了。 以往PowerBuilder程序在解决这类打印机切换问题时主要有两个方法:第一个方法就是将预设打印机切换动作交由使用者自行完成。这种方法虽然减轻程序设计师的动作,并且在使用上也是一个最简单的方法,但是由于操作上极不方便,所以较少系统使用这种方式。第二个的方法就是更改操作系统的注册机码,由于预设打印机的信息会记录在注册机码内,所以更改注册机码内的数据,就等于更改操作系统的预设打印机了。一般程序设计师会使用PowerScirpt函数如:RegistryGet()或是RegistrySet(),分别用来读取及设定注册机码信息,利用这两个函数在程序执行阶段动态更改操作系统的预设打印机。 这是一个可行的解决方案,但是仍有不方便之处,因为各操作系统注册机码位置并不相同,在程序的撰写上必须要考量使用者的环境,另外RegistryGet()及RegistrySet()函数使用上也较不方便,程序设计人员必须知道并撰写冗长的注册机码地址。在PowerBuilder 8.0,提供了新的解决方案,可以更方便的设定打印机相关功能。 PowerBuilder 8.0新增四个有关打印机的功能函数,其功能请参见下表: 函数名称 说明 PrintGetPrinter 得到预设打印机的名称 PrintGetPrinters 得到系统目前可获得的打印机名称列表 PrintSetPrinter 设定下次Print()函数所使用的打印机名称 PrintSetupPrinter 开启目前选定打印机的功能设定窗口 这四个函数在使用上都不会牵涉到操作系统的注册机码,所以程序设计人员直接呼叫使用即可,不必考虑操作系统版本,也不用撰写冗长的注册机码地址。以PrintGetPrinter()函数为例,呼叫它会传回型态为字符串的打印机名称,其中也包含了装置名称及端口号码,在这个函数你就不像RegistryGet()函数需要传入任何参数,才能得到目前系统的打印机名称。 让我们稍加说明其它的函数:PrintGetPrinters()函数,与PrintGetPrinter()函数使用上相同,只是传回的字符串包含目前操作系统已安装的各类型打印机名称,各名称之间以~n字符区分,从这个函数可以得知系统有哪些打印机,可做为将来你可选择的机型。 PrintSetPrinter()函数用来设定所要使用的打印机,所传入函数的参数就是打印机名称,可藉由PrintGetPrinters()函数得知。当你设定好后,呼叫报表打印Print()函数就会以该打印机打印了。 至于PrintSetupPrinter()函数,则是呼叫打印机打印功能的设定窗口,你可在这个窗口设定打印机本身的功能属性。与原本PrintSetup()函数不同的是PrintSetup()函数还可让你先选择要设定的打印机,再来设定属性。 我们可以使用上述函数更方便的解决打印机切换的问题,例如我们可以先呼叫PrintGetPrinters()函数得到系统目前可用的打印机,在挑选好要使用的打印机后,再呼叫PrintSetPrinter()函数就可以切换到新的打印机了,若还想要进一步设定打印机打印功能,再呼叫PrintSetupPrinter()函数即可。让我们参考下面简单的范例。 ? long ll_place string ls_setptr string ls_prntrs = PrintGetPrinters ( ) //读取系统目前有哪些打印机 //读取列表中最后一笔打印机名称 ll_place=lastpos (ls_prntrs, ~n) ls_setptr = Mid (ls_prntrs, ll_place + 1) //设定新的打印机 PrintSetPrinter (ls_setptr) //呼叫打印机功能设定窗口 PrintSetupPrinter () ? 这个例子从所得的打印机列表上故意读取最后一笔打印机名称,如第5及第6行所示,在实作上,你应该会加入一些判断来获得你想要使用的打印机。至于其它程序行,你根本不用修改就可以符合这个系统的需求,在程序执行时期动

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档