hur.cn - 华软网

 热门搜索

打印问题!急!急!急!

  作者:未知    来源:网络    更新时间:2018/10/11
各位高手:
     我用了一个三口打印伺服器,连了三台热敏打印机。程序的一个窗口上有三个数据窗体(即:三个票据),怎么实现一点击“打印”按扭就让三个票据分别从不同的打印机上打印出来???在线等待......
------华软网友回答------
分别设置三个datawindow的打印机
分别调用三个dw的打印函数.
dw_1.Object.DataWindow.Printer = "printername1"
dw_2.Object.DataWindow.Printer = "printername2"
...
dw_1.print()
dw_2.print()
...
------华软网友回复------
谢谢这位老大!我先试一下!
------华软网友回复------
在服务器上可以实现,但在客户端还是不行啊!
------华软网友回复------
客户端应该一样的吧
设置共享打印机
------华软网友回复------
设置共享了,客户端显示的就是三台共享打印机,但是每次都是从默认的那一台中出来的!为什么啊???
------华软网友回复------
可以从注册表取,

高版本用printgetprinter
------华软网友回复------
客户端使用服务端打印机
打印机名称是: \\服务端IP\打印机名称
用printgetprinter 就可以获得

------华软网友回复------
看看这个对你有没有帮助
这个是两台打印机打印一个数据的代码


string ls_printer[]  //定义一个字符串型数组  
  integer li_rtn,li_ArrayUp,li_step  
   
  //从注册表中提取打印机信息,将所有打印机信息付给字符串数据变量:ls_printer  
  li_rtn = RegistryKeys("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers", ls_printer)   //从注册表中取其列表  
   
  IF li_rtn = 1 THEN //返回值为1时,说明取出打印机信息  
     li_ArrayUp = UpperBound(ls_printer)   
     //取列表数组上限  
     IF li_ArrayUp >= 1 THEN  
        FOR li_step = 1 TO li_ArrayUp  
   //向下拉列表框中增加打印机,此条语句对于打印来说没有必要,只是将打印机显示出来。  
   //其中lb_print是一个下拉列表框控件  
            lb_print.additem ( ls_Printer[li_step] )    
   //设置当前打印机为默认打印机  
   PrintSetPrinter(ls_Printer[li_step])  
   //利用当前打印机进行数据打印  
   dw_1.print()  
        NEXT  
     ELSE  
   
     END IF  
  ELSE  
   
  END IF  

------华软网友回复------
一楼说的应该是可行,你在客户端测试的不行的话,应该是你的打印机名设置的不对,请仔细检查      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。