社区
DataWindow
帖子详情
dw的打印问题
chinesegump
2003-01-10 01:21:50
dw的打印设置如何保存,
比如,报表是A3的,如何在DW中将其设为A3纸?PB7。03
套打的票据一般是如何作的?
我现在的想法是在打印时将DW的边框设为不可视。
以前没做过,所以很无知,
大家帮忙阿,,
UP也有分,,
目前的打印机是一个很老的针打,驱动程序还不对
分不够在加。。
...全文
116
12
打赏
收藏
dw的打印问题
dw的打印设置如何保存, 比如,报表是A3的,如何在DW中将其设为A3纸?PB7。03 套打的票据一般是如何作的? 我现在的想法是在打印时将DW的边框设为不可视。 以前没做过,所以很无知, 大家帮忙阿,, UP也有分,, 目前的打印机是一个很老的针打,驱动程序还不对 分不够在加。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gucun_zhuang
2003-01-14
打赏
举报
回复
哇!dw_1.Object.DataWindow.Print.Paper.Size=8
就这么简单的定义了,打印的尺度?不是调用API函数可以调整打印尺度的么?这是另一种方法是么?只不过这个方法只能按照规定来设,不能多一点也不能少一点。
chinesegump
2003-01-14
打赏
举报
回复
ps:怎么加分啊?
我记得原来有个加分的选项的
chinesegump
2003-01-14
打赏
举报
回复
最近做项目的经验,关于票据打印的,,
用的star的nx-500的打印机,
而票据的长度达到22.7cm
出现的情况是打到一大半时,总有一截尾巴打不出来。
开始认为是程序设置的问题,
用adobe的虚拟打印机预览没问题,
折腾了一下午,才知道是打印机的问题,
这是个窄行的,最多只能达到20cm多一点
2 ropriest(馆主) :
除了A3,其他的纸张尺寸如何知道?
比如自定义的票据
2 大家:
继续帮忙啊,,
我想知道还有没有更好的方法,,
一楼的方法在系统还没有作时用还行,
现在系统都做好了,要改时间上来不及
用内嵌格式做的dw的打印设置好象是可以保存的,
而freeform的好象就不行,
我这几天还要忙考试,
大家帮忙up啊,,
多谢了
chinesegump
2003-01-14
打赏
举报
回复
dw_1.Object.DataWindow.Print.Paper.Size=8就是A3的纸张。
??
哪有这个的文档?
ropriest
2003-01-14
打赏
举报
回复
<DW Control Name>.Object.DataWindow.Print.Paper.Size=<0-41>
dw_1.Object.DataWindow.Print.Paper.Size=8就是A3的纸张。
bomber2001
2003-01-14
打赏
举报
回复
up
qianfl
2003-01-12
打赏
举报
回复
套打的话用FREEDOM的DW
flyhot
2003-01-10
打赏
举报
回复
gz
bomber2001
2003-01-10
打赏
举报
回复
up
侠之大者 f
2003-01-10
打赏
举报
回复
我曾经在delphi下打印明信片,就是把不需要的地方给空着.或用跟背景色相同的东西给遮住.
ice2water
2003-01-10
打赏
举报
回复
票据套打:建一数据窗口,将不需要的在打印时改为不可视即可
ice2water
2003-01-10
打赏
举报
回复
PB中一个类Word打印对话框的实现
Powerbuilder数据窗口可用于生成各种复杂的 报表,但如何让用户在使用时控制打印份数、打印范围等信息呢?
我们在开发我局MIS系统时,经过对我局报表打印需求的分析,提出了如下的功能要求:
1.必须能够控制象打印份数、打印(页码)范围等信息,这是基本的要求。
2.我们系统中装有多台打印机,必须能让用户根据自己需要选择使用哪台打印机,必要时能对所选打印机进行配置。
3.在设计时,对每一个报表需要什么样的纸张,要多大的边距合适,都已确定,所以使用时不需要页面的设置。但由于不同的报表使用不同的纸张,必须在使用时给出提示,以便用有机会换上合适的纸张(或换用合适的打印机)。
根据以上要求,我们设计了如下图所示的对话框。 下面把设计过程以及用到的技术介绍一下。
首先使用窗口画板画出窗口,名字为w_printdlg,窗口类型为respons。“打印机”组框中的“名称”文本控制的名字为st_printname,“设置”按钮的名字为cb_printsetup。“页面范围”组框中的无线按钮组名字分别为rb_pagearrangeall、rb_pagearrangecurrent、rb_pagearrange,单行编辑框名字为sle_pagearrange,其enable属性为false。“副本”组框中的编辑域名字为em_copies。“打印”旁边的下拉列表框名字为ddlb_printwhat,列表有三项,分别为所选页面、偶数页、奇数页。“纸张”组框中的下拉列表框名字为ddlb_paper,列表内容为Poerbuiler定义的43种纸张类型,分别用0-42的数字来表示。“纵向”无线按钮的名字为rb_portrait,“横向”无线按钮的名字为rb_landscape。表示纵向和横向的图片框分别为p_portrait和p_landscape。 命令按钮“确定”和“取消”的名字分别为cb_ok和cb_cancel。
以上工作完成之后,就要着手编写程序。
首先为窗口定义实例变量idw_toprint,类型为datawindow,用于保存要打印的数据窗口。再定义一个窗口事件ue_initcontrols(也可以定义为窗口函数),其程序内容如下:
//eventue_initcontrols()
//设置窗口中各控件的初始值
st_printername.text = idw_toprint.object.
datawindow.printer //当前打印机名字
em_copies.text = "1" //默认打印份数为1
rb_pagearrangeall.checked = true //默认范围为全部页
sle_pagearrange.enabled = false //页面范围编辑框无效
ddlb_printwhat.SelectItem(1) //默认为“所选页面”
//打印方向
integer li_temp
li_temp = integer(idw_toprint.object.datawindow.print.orientation) //取出设计时的方向
if li_temp = 1 then //横向
rb_landscape.checked = true //选中
p_landscape.visible = true //图片显示
p_portrait.visible = false
elseif li_temp = 2 then //纵向
rb_portrait.checked = true
p_portrait.visible = true
p_landscape.visible = false
end if
//纸张类型
li_temp = integer(idw_toprint.object.datawindow.print.Paper.Size) //设计时的纸张类型
ddlb_paper.SelectItem(li_temp+1) //列表框中选中
然后,在窗口的open事件中编写如下脚本:
//openevent
//要使用OpenWithParm()打开,参数中包含要打印的数据窗口。
idw_toprint = message.powerobjectparm
//从参数中取出要打印的数据窗口
this.eventue_initcontrols() //初始化窗口各控件
在无线按钮rb_pagearrangall的clicked事件中编写脚本如下:
sle_pagearrange.enabled = false
在无线按钮rb_pagearrangcurrent的clicked事件中编写脚本如下:
sle_pagearrange.enabled = false
在无线按钮rb_pagearrang的clicked事件中编写脚本如下:
sle_pagearrange.enabled = true//当此无线按钮选中时才可用
在命令按钮cb_printersetup中编写如下脚本:
//cb_printersetup
PrintSetup() //设置打印机
parent.eventue_initcontrols()
在无线按钮rb_portrait的clicked事件中编写如下脚本:
//纵向
p_landscape.visible = false
p_portrait.visible = true//显示纵向图片框
在无线按钮rb_landscape的clicked事件中编写如下脚本:
//横向
p_portrait.visible = false
p_landscape.visible = true
在命令按钮cb_cancel的clicked事件中编写如下脚本
//cb_cancel执行程序
CloseWithReturn(parent,2) //如果选择取消,返回2
在命令按钮cb_ok的clicked事件中编写如下脚本
//cb_ok执行程序
string str_temp
integer li_temp
long ll_row
//打印什么
li_temp = ddlb_printwhat.FindItem(ddlb_printwhat.text,0) - 1
idw_toprint.object.datawindow.print.page.rangeinclude = li_temp
//打印范围
ifrb_pagearrangeall.checkedthen//全部页
str_temp = ""
elseifrb_pagearrangecurrent.checkedthen//当前页
ll_row = idw_toprint.GetRow()
idw_toprint.object.datawindow.print.preview = "Yes"
//设成预览模式
str_temp = idw_toprint.Describe("evaluate('Page()',"+String(ll_row)+")") //计算页码
idw_toprint.object.datawindow.print.preview = "No"
elseif rb_pagearrange.checkedthen //输入范围
str_temp = sle_pagearrange.text
end if
idw_toprint.object.datawindow.print.page.range=str_temp
//副本份数
iflen(em_copies.text)>0then
idw_toprint.object.datawindow.print.copies
=Integer(em_copies.text)
endif
//纸的方向
li_temp=0
if rb_landscape.checked then
li_temp=1
elseif rb_portrait.checked then
li_temp=2
endif
idw_toprint.object.datawindow.print.orientation=li_temp
//纸的尺寸
li_temp= ddlb_paper.FindItem(ddlb_paper.Text,0)
//第li_temp项
idw_toprint.object.datawindow.print.paper.size=li_temp
closewithreturn(parent,1)
几点说明:
1.原点访问语法:程序中多次用到了象datawindowcontrol.object.datawindow.print.attribute语法,用语控制数据窗口的打印属性。原点访问语法用语代替原来的Discribe和Modify函数,更符合面向对象的语言习惯。关于print属性的详细信息,请参见Powerbuilder帮助。
2.当前打印页的计算:先用GetRow得到当前行数, 再用Describe和Evaluate函数来计算数据窗口表达式,得出当前页号。注意在计算之前,先把要打印的数据窗口置成预览模式,否则计算出来的是显示页号,和打印页号不一致。
3.窗口内外信息的传递:虽然你可以用全局变量传递信息,但那决不是一个好的注意。使用OpenWithParm函数打开窗口可以向窗口传递一个参数,使用CloseWithReturn函数关闭窗口可以返回一个参数,根据参数的类型,其结果被放在系统全局变量message的相应成员中。如果要传递多个参数,可以把要他们定义为一个结构来传递。
大麦
dw
22d
打印
服务器固件
大麦
dw
22d
打印
服务器固件
富士施乐m225
dw
打印
一体机驱动
富士施乐m225
dw
是一款黑白激光一体机产品,这里给大家提供了富士施乐m225
dw
一体机的
打印
驱动下载,如果你的
打印
机无法正常使用可以来下载这款驱动解决
问题
。 富士施乐m225
dw
主要参数: 产品类型:黑白激光多功能一体机 涵盖功能:
打印
/复印/扫描/传真 耗材类型:鼓粉一体 最大处理幅面:A4 复印速度:25cpm
打印
分辨率:600×600dpi 黑白
打印
速度:25ppm 扫描速度:14ppm
大麦
DW
22D刷Breed和OpenWrt及
打印
服务器
大麦
DW
22D刷Breed和最新版OpenWrt22.03.3及
打印
服务器
大麦路由器
DW
22D DM203 通用
打印
服务器 Padavan华硕老毛子 固件
大麦路由器
DW
22D DM203 通用
打印
服务器 Padavan华硕老毛子 固件
大麦
dw
22d 刷Openwrt 后手机连接
打印
机(兄弟牌)
打印
文件
1.刷bread 和openwrt 请参考https://blog.csdn.net/moyeddcsdn/article/details/107618992 2.刷
dw
22d
打印
机固件 如图,下载大麦刷机固件包 如下:链接:https://pan.baidu.com/s/1oj7IzypN6r3qDDNjbqmaEw?pwd=ymda 提取码:ymda 刷过之后在路由器里启动RAW协议。 3.手机下载 Printhand ,协议是RAW,
打印
机端口9100,IP :192.168.123.1,安装
打印
机驱动,选择
打印
文件格式,上传文件,开始
打印
,搞定!
DataWindow
611
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章