收录日期:2018/10/23 13:43:18 时间:2016/05/22 09:12:05 标签:DataWindow
我要打印的票据格式很多,用户希望能根据不同的打印格式,指定不同的打印机,请问大家有什么好办法!

Email:man996@sohu.com
我基本上是软用户选择使用哪一台打印机,即定义好的打印机格式(同一台打印机的不同联结方式)
那么如何在选择打印内容时,自动选择定义好的纸张。
请大家帮忙!
printsetup(),想怎么设怎么设
根据我做的报表的格式,自动设置纸张大小。有什么好办法?
可以调用PB内定的参数:printsetup(),也可以自己在做一个定义打印的窗口。方法很多,只要想到怎么解决应该可以办到
ll_job  =  printopen()  
If  ll_job  =  -1  then  
messagebox("提示","打印機未準備好")  
Return  
End  if 
//定制行距1/8英寸  1/8英寸 = 0.125 英寸 = 3.175 毫米
PrintSend(ll_job,  CHAR(27)+CHAR(48))  
//設定頁長= 1/8 英寸 * 15 = 1.875 英寸
PrintSend(ll_job,  CHAR(27)+CHAR(67)+CHAR(15))  
//因為 1 英寸 = 25.4 毫米 ,所以最終的紙長是:
//= 1.875 英寸 * 25.4 = 47.625 毫米
//必須使用printdatawindow,這樣纔能利用剛纔設置的打印控制碼
printdatawindow(ll_job,dw_print)  
printclose(ll_job)
to(moqijun(存钱) )
我不太明白你上面的char(27),char(67),char(15)
是什么意思?可以告诉我吗?
可以让数据窗口的内容自动适应纸张的大小的代码
//利用该PageCountAcross()函数可以让数据窗口的内容自动适应纸张的大小
//使用一个循环检测如果该值等于1就说明已经自动适应纸张大小了
String AS_ACROSS,AS_zoom
long I,K
K=0
DW_PRINT.SetRedraw(FALSE)
FOR I=50 to 500
AS_ZOOM=string(I)
dw_print.modify("datawindow.zoom="+AS_ZOOM)
AS_ACROSS = dw_print.describe( " evaluate('PageCountAcross()',"+string(dw_print.object.datawindow.firstrowonpage)+")"  )
if long(AS_ACROSS)=2 then
AS_ZOOM=string(I - 1 )
dw_print.modify("datawindow.zoom="+AS_ZOOM)
K=1
EXIT
END IF
NEXT
DW_PRINT.SetRedraw(TRUE)
IF K=0 AND I=50 then
MESSAGEBOX('系统信息','你的报表可能太宽了,目前打印机支持的纸张已经不能适应了!')
edn if

一个技术问题? 寻求合作,整套预算会计软件 请高手指教!!!!!如解决必酬谢. 对象序列化一般做法是做一个集合,用集合的serialize全部存盘,我想生成一个保存一个 求助:关于网络流量计费 关于SOCK_RAW,高手请进 我找到bcb6的5张盘下载地点了!!!! 请教: 2 ways priority queue 介绍几个VB的好站点,我的保留网站! 这是技术论坛啊!!!版主呢?建议把xlinlin给封了! 求救!紧急!关于mediaplayer控件! 有关在VC.NET中使用ActiveX控件的问题 关于函数指针的问题,请帮忙解答 哪位大侠可以告知《上帝发疯了》这部电影的收看或下载地址? Java的学习问题???给个建议吧!! 向各位高手求教编程的问题 有关于vc++中CDialog的问题 请教怎样枚举局域网中的主机的ip 请教怎样枚举局域网中的主机的ip 寻求合作,整套预算会计软件 敬请指教:如何使用位图,包括存储与调用? 我朋友的一个问题,请大家帮忙解决! sybase下能不能自定义函数,并在sql语句中使用 关于同步的理解,请大家来看看 请问如何将打印页面设置为 20mm*15mm ,thx ? 急,如何才能将多个声音文件(.WAV)合成一个WAV文件??? 如何用IIS5在一台电脑上配置多站点? www.mrcase.net怎么了?playcase怎么了? 在开发中打印是必备的功能,请大家给我个意见用什么方式或软件实现打印比较好?来者有分! Java的学习问题???给个建议吧!!