被公司劝退有什么补偿:数据窗口打印详解
来源:百度文库 编辑:中财网 时间:2024/04/27 23:59:09
数据窗口打印详解
PowerBuilder中提供了两种常用的打印数据窗口的方法,一种是使用函数print,使用该函数可以由DataWindow自动维护打印作业;另一种是使用函数PrintDatawindow,该函数需要脚本来维护打印作业。使用打印作业应该首先启动打印作业,然后发送数据到打印机,最后关闭打印作业。典型脚本模式如下:
Long ll_job
Ll_job = PrintOpen("数据窗口打印")
//进行打印相关项目的设定
//发送打印内容
PrintClose(ll_job)//关闭打印作业
1、启动打印作业
PrintOpen函数用来打开一个作业,并返回当前可以使用的打印作业号,该打印作业号可以标识当前的打印工作。该函数的语法是:
PrintOpen ( { jobname } )
如果发生错误,该函数返回-1。打印作业名称是可选的,名字在打印队列中。在打印作业的最后必须关闭打印作业,使PowerBuilder和Windows清除打印作业所占用的所有资源。因此,每个启动作业的语句都有一个关闭作业的语句相对应。
2、关闭打印作业
有两个函数可以用来关闭打印作业。PrintClose()函数把当前页传送给打印机,并关闭当前打印作业。语法格式为:
PrintClose(printjobnumber)
函数PrintCancel()取消打印作业并删除当前的打印文件。这个函数可以与Print或者PrintDataWindow()函数组合使用。用于PrintDatawindow()的语法是:
DatawindowControl.PrintCancel()
用于Print()的语法是:
PrintCancel(printjobnumber)
PrintClose()函数和PrintCancel()函数是互相排斥的,成功调用过一个以后,不要在没有再次打开打印作业时调用另一个函数。
3、PrintDatawindow函数
该函数是以单个打印作业的形式打印数据窗口
控件
中的内容。PowerBuilder使用数据窗口对象中定义的字体和布局进行打印。用这个函数可以在一个打印作业中打印多个数据窗口,但是每个数据窗口
控件
都从新的一页开始打印;如果要让几个数据窗口打印在同一页中,则需要利用底层的打印函数或将要打印在同一页中的数据窗口,创建成一个composite显示样式的数据窗口。PrintDatawindow函数的语法是:
PrintDatawindow(printjobnumber,datawindow)
其中,printjobnumber是PrintOpen函数返回的打印作业号,datawindow是要打印的数据窗口
控件
的名称。除了能够和Printopen()、PrintClose()函数共同使用外,其他函数都不能和PrintDatawindow共同使用。下面是一个完整地使用函数PrintDatawindow()进行数据窗口打印的例子,该例子中同时打印三个数据窗口:
Long ll_job
Ll_job = PrintOpen("数据窗口打印")
PrintDatawindow(ll_job,dw_1)
PrintDatawindow(ll_job,dw_2)
PrintDatawindow(ll_job,dw_3)
PrintClose(ll_job)//关闭打印作业
在一个打印作业中同时打印多个数据窗口时,有时需要页码连续计数。如果使用composite类型的数据窗口就没有必要考虑这个问题了,打印单个的数据窗口如何解决这个问题呢?首先在应用中定义一个全局变量,用来保存当前已经打印过的数据窗口的页号:
int gi_pageno
定义一个函数f_pageno(可以是全局函数,也可以是窗口函数)用来返回前面已经打印过的页号:
Return gi_pageno
在数据窗口对象中放置计算字段引用该函数,计算字段如下定义:
page() String(f_get_pageno())
然后在数据窗口的PrintPage事件中修改该变量,以便记录每个数据窗口打印了多少页。
gi_pageno = gi_pageno 1
在第一个要打印的数据窗口的PrintStart事件中编写如下脚本,以便在重新开始打印作业时,页号重新开始计数:
gi_pageno=0
在其他要打印的数据窗口的PrintStart事件中编写脚本,使计算字段更新:
dw_1.Modify("Page_c.Expression= ‘String( page() f_get_pageno())‘")
上面的过程可能感觉到有些烦琐。实际上脚本很简单,定义一个全局变量和一个函数,在数据窗口对象上放置一个计算字段,在数据窗口的printstart、printpage事件中编写脚本。
4、Print函数
该函数是一个通用的函数,可以用来打印PowerBuilder中许多可视对象。下面介绍打印数据窗口时的语法,格式如下:
datawindowname.Print ( { canceldialog } )
datawindowname为要打印的数据窗口
控件
名称,canceldialog是一个boolean型变量,指示在打印时是否显示一个无模式的可以随时取消打印的窗口,该变量缺省为True。该函数正确执行则返回1,执行过程中发生错误则返回-1。
虽然该函数和PrintDatawindow一样都可以打印数据窗口,但是它们之间是有区别的。Print函数使用设置在数据窗口对象的打印规范来打印数据窗口,而PrintDatawindow函数使用打印机当前的设置来打印数据窗口。本节开始介绍的一个简单的打印
编程
,在调用函数printsetup时虽然可以设置打印机,但不是所有的设置都可以在调用Print函数来打印时体现出来,只有那些在数据窗口对象中没有指出的可以起作用。因为按钮“打印设置”仅仅调用函数printsetup(),没有修改数据窗口对象的打印设置。后面章节详细介绍
开发
一个通用的可以设置打印机、打印份数、打印方向、打印纸张、打印哪些页面等等很多选项的通用的打印配置窗口。
PowerBuilder中提供了两种常用的打印数据窗口的方法,一种是使用函数print,使用该函数可以由DataWindow自动维护打印作业;另一种是使用函数PrintDatawindow,该函数需要脚本来维护打印作业。使用打印作业应该首先启动打印作业,然后发送数据到打印机,最后关闭打印作业。典型脚本模式如下:
Long ll_job
Ll_job = PrintOpen("数据窗口打印")
//进行打印相关项目的设定
//发送打印内容
PrintClose(ll_job)//关闭打印作业
1、启动打印作业
PrintOpen函数用来打开一个作业,并返回当前可以使用的打印作业号,该打印作业号可以标识当前的打印工作。该函数的语法是:
PrintOpen ( { jobname } )
如果发生错误,该函数返回-1。打印作业名称是可选的,名字在打印队列中。在打印作业的最后必须关闭打印作业,使PowerBuilder和Windows清除打印作业所占用的所有资源。因此,每个启动作业的语句都有一个关闭作业的语句相对应。
2、关闭打印作业
有两个函数可以用来关闭打印作业。PrintClose()函数把当前页传送给打印机,并关闭当前打印作业。语法格式为:
PrintClose(printjobnumber)
函数PrintCancel()取消打印作业并删除当前的打印文件。这个函数可以与Print或者PrintDataWindow()函数组合使用。用于PrintDatawindow()的语法是:
DatawindowControl.PrintCancel()
用于Print()的语法是:
PrintCancel(printjobnumber)
PrintClose()函数和PrintCancel()函数是互相排斥的,成功调用过一个以后,不要在没有再次打开打印作业时调用另一个函数。
3、PrintDatawindow函数
该函数是以单个打印作业的形式打印数据窗口
控件
中的内容。PowerBuilder使用数据窗口对象中定义的字体和布局进行打印。用这个函数可以在一个打印作业中打印多个数据窗口,但是每个数据窗口
控件
都从新的一页开始打印;如果要让几个数据窗口打印在同一页中,则需要利用底层的打印函数或将要打印在同一页中的数据窗口,创建成一个composite显示样式的数据窗口。PrintDatawindow函数的语法是:
PrintDatawindow(printjobnumber,datawindow)
其中,printjobnumber是PrintOpen函数返回的打印作业号,datawindow是要打印的数据窗口
控件
的名称。除了能够和Printopen()、PrintClose()函数共同使用外,其他函数都不能和PrintDatawindow共同使用。下面是一个完整地使用函数PrintDatawindow()进行数据窗口打印的例子,该例子中同时打印三个数据窗口:
Long ll_job
Ll_job = PrintOpen("数据窗口打印")
PrintDatawindow(ll_job,dw_1)
PrintDatawindow(ll_job,dw_2)
PrintDatawindow(ll_job,dw_3)
PrintClose(ll_job)//关闭打印作业
在一个打印作业中同时打印多个数据窗口时,有时需要页码连续计数。如果使用composite类型的数据窗口就没有必要考虑这个问题了,打印单个的数据窗口如何解决这个问题呢?首先在应用中定义一个全局变量,用来保存当前已经打印过的数据窗口的页号:
int gi_pageno
定义一个函数f_pageno(可以是全局函数,也可以是窗口函数)用来返回前面已经打印过的页号:
Return gi_pageno
在数据窗口对象中放置计算字段引用该函数,计算字段如下定义:
page() String(f_get_pageno())
然后在数据窗口的PrintPage事件中修改该变量,以便记录每个数据窗口打印了多少页。
gi_pageno = gi_pageno 1
在第一个要打印的数据窗口的PrintStart事件中编写如下脚本,以便在重新开始打印作业时,页号重新开始计数:
gi_pageno=0
在其他要打印的数据窗口的PrintStart事件中编写脚本,使计算字段更新:
dw_1.Modify("Page_c.Expression= ‘String( page() f_get_pageno())‘")
上面的过程可能感觉到有些烦琐。实际上脚本很简单,定义一个全局变量和一个函数,在数据窗口对象上放置一个计算字段,在数据窗口的printstart、printpage事件中编写脚本。
4、Print函数
该函数是一个通用的函数,可以用来打印PowerBuilder中许多可视对象。下面介绍打印数据窗口时的语法,格式如下:
datawindowname.Print ( { canceldialog } )
datawindowname为要打印的数据窗口
控件
名称,canceldialog是一个boolean型变量,指示在打印时是否显示一个无模式的可以随时取消打印的窗口,该变量缺省为True。该函数正确执行则返回1,执行过程中发生错误则返回-1。
虽然该函数和PrintDatawindow一样都可以打印数据窗口,但是它们之间是有区别的。Print函数使用设置在数据窗口对象的打印规范来打印数据窗口,而PrintDatawindow函数使用打印机当前的设置来打印数据窗口。本节开始介绍的一个简单的打印
编程
,在调用函数printsetup时虽然可以设置打印机,但不是所有的设置都可以在调用Print函数来打印时体现出来,只有那些在数据窗口对象中没有指出的可以起作用。因为按钮“打印设置”仅仅调用函数printsetup(),没有修改数据窗口对象的打印设置。后面章节详细介绍
开发
一个通用的可以设置打印机、打印份数、打印方向、打印纸张、打印哪些页面等等很多选项的通用的打印配置窗口。
紧急求救!如何打印当前数据窗口中的内容?
pb 怎么调用打印机完成数据窗口的打印
vb中我打印当前窗口中的datagrid中的数据怎么编写代码?
pb 中打印数据窗口怎样加页眉和页脚
松下GD86A数据接口详解
ASP 窗口数据传递!
数据窗口 横排列
什么是数据窗口?
求:上传文件时抓包数据详解高手!~
AOUTCAD如何窗口打印问题
vb.net数据打印问题
在IE浏览器下无法打印,弹不出打印窗口
电脑打印数据不能进入打印机
sql表中的数据怎么打印出来
PB数据窗口画板包括哪几个子窗口(视窗)?
PB:如何在数据窗口中更改数据???
开机窗口显示:数据执行保护。??
pb数据窗口控件的问题?
电脑总是跳出数据执行保护窗口
在IE浏览器下无法打印,弹不出打印窗口?用其它软件打印都正常....
如何在PB数据窗口中实现多种不同格式的数据窗口的组合
quickReport 打印多次显示“无效的窗口句柄”
如何在VFP中调出打印设置窗口?
调用IE WebBrowser 打印,如何不显示选择打印机窗口?