`
wsql
  • 浏览: 11791246 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

PB 中定制打印页长

 
阅读更多

----在使用连续纸打印数据窗口的情况下,需要定制打印的页长,以保证打印机走纸正确,不用人工干预,实现连续打印。在PB中须调用外部函数来自定义纸张长度,比较繁琐。本文介绍一种直接对打印机的控制方法,简单实现对页长的设定。

一、预备知识

计算机与打印机的通讯使用ASCII码进行,其中标准ASCII码包括可打印字符及非打印字符(控制码),打印机使用控制码来定制打印机。大多数打印机指令使用控制码escape作为其指令序列的第一个序列码。下面介绍本文用到的几个指令码序列:

设置换行量(行距)1/8英寸
ASCII
ESC0
十进制码
2748
设置以行为单位的页长

ASCII
ESCCn
十进制码
2767n
其中n为每页行数范围(1-127

二、PB中控制码的传送及定制页长的实现

----PB中通过函数Printsend(printjobnumber,string,{zerochar})来实现向打印机发送控制码。各参数定义如下:

printjobnumber:printjob()函数返回的打印作业号;
string:
控制字符串,使用ASCII码;
zerochar:
用来替代string中的数字0


---
由于字符串中,0终止字符串,如果string中包含0,则需利用其他字符来表示0,参数zerochar即为此用途而设,当PB发送控制字符串给打印机时,把替代的字符zerochar转化为0

---下面是具体的完成定制页长打印数据窗口的程序(定制页长为2.75英寸):

longll_job
dw_print.reset()
ll_job=printopen()
ifll_job=-1then
messagebox(gs_title,"
打印机未准备好")
return
endif
//
定制行距1/8英寸

PrintSend(ll_job,CHAR(27)+CHAR(48))
//
设定页长22
PrintSend(ll_job,CHAR(27)+CHAR(67)+CHAR(22))
printdatawindow(ll_job,dw_print)
printclose(ll_job)

分享到:
评论

相关推荐

    pb 打印模块 定制仿Word打印、Excel页面设置对话框

    pb 打印模块 定制仿Word打印、Excel页面设置对话框 示例图片 http://hi.csdn.net/attachment/201009/16/0_1284596585mm42.gif

    pb定制仿Word打印、Excel页面设置对话框

    pb定制仿Word打印、Excel页面设置对话框

    pb12.5源码开发的简单框架(含查询、打印、数据窗口共享、排序、定制基类).rar

    pb12.5源码开发的简单框架(含查询、打印、数据窗口共享、排序、定制基类).rar 适合简单业务开发

    在PowerBuilder10.5下通过福晰ocx控件FoxitPDFSDK_AX_Pro.ocx实现PDF文件的浏览和打印功能

    在PowerBuilder10.5下实现PDF文件的浏览和打印功能,PDF浏览界面可定制,根据代码对阅读器的按钮进行隐藏和显示,对其他PB的版本应该也大同小异。这里用的是福晰的ocx控件,纯净无水印。可下载的文件包含Power...

    PB进阶代码(很全的)

    7.2.4 PB中实现图形的复制与粘贴以及图像的简单处理 -- PictureBox 7.3.1 获得系统的内部进程 -- System Thread 7.3.2 获得系统基本信息 -- SystemInformation 7.4.1 检测物理网络的连通情况 -- Mping 7.4.2 ...

    查询、打印、数据窗口共享、排序、定制基类.zip

    PB源码

    pb9 进阶开发篇第二章.pdf

    2.4 数据窗口通用显示列定制窗口的实现 -- ColumnVisible 2.5 数据窗口中实现增量查询 -- zlcx 2.6 数据窗口的多表更新 -- UpdateMultable 2.7 单击标题栏对数据窗口排序 -- TitleSort 2.8 动态数据窗口 -- ...

    PowerBuilder 12.6入门视频教程下载(初级)

    12.循环实例_打印九九乘法表+ABCDE*A=EEEEEE 13.结束语句Continue\Exit\Return\Halt+事件介绍 14.自定义事件+自定制事件+使用SQL语句+游标 15.PB代码升级+全局函数 16.Window对象_窗体常用属性+常用事件open 17.常用...

    AC Report 中国式报表控件(Ver 2.61)

    8.对于企业用户,控件增加了SetCustInfo()方法,可以用来定制设计器和预览窗口标题、文档的扩展名、打印任务的名称、设计器中菜单和子窗口的可见性等。 9.一些bug的修正,如:当windows任务栏是非自动隐藏时,预览...

    Delphi编程技巧.rar

    Api函数列表【与打印有关】 Delphi中TApplication类的巧用 Delphi 中自做动态显示的控件 DELPHI 中 自 适 应 表 单 的 实 现 在Delphi 中 利 用 Tbatch 组 件 如何在注册表中注册BDE 如何在标题栏上增加...

    PowerBuilder 8.0基础篇

    6.2.4 PB中实现图形的复制与粘贴以及图像的简单处理 -- PictureBox 6.3.1 获得系统的内部进程 -- System Thread 6.3.2 获得系统基本信息 -- SystemInformation 6.4.1 检测物理网络的连通情况 -- Mping 6.4.2 ...

    《PowerBuilder 8.0基础篇》源程序下载

    6.2.4 PB中实现图形的复制与粘贴以及图像的简单处理 -- PictureBox 6.3.1 获得系统的内部进程 -- System Thread 6.3.2 获得系统基本信息 -- SystemInformation 6.4.1 检测物理网络的连通情况 -- Mping ...

    可重用MIS用户接口模块的设计

     制作统一界面的一般方法是具体而强行的规定,本文依据PB开发的经验,实现了MIS系统中窗口和菜单的整体继承框架,并对其中数据校验结果的中文提示方法、打印预览、用户定制查询和数据窗口的重复使用技术等进行了

    DELPHI技巧集(集合各种开发源码)

    30 Delphivspb.htm 开发AS/400应用系统PB5与Delphi3的比较 9K 31 Device_isok.htm 检查驱动器是否就绪 1K 32 Dtccw03.htm 资源文件在DELPHI中的使用 10K 33 Dttray.htm 如何创建任务栏的应用程序 11K 34 ...

    大数据时代是什么意思.pdf

    百度资料表明,其 新⾸页导航每天需要提供的数据超过1.5PB(1PB=1024TB),这些数据如果打印出来将超过5千 亿张A4纸。有资料证实,到⽬前为 ⽌,⼈类⽣产的所有印刷材料的数据量仅为200PB。2、是数据类别⼤和类型多样...

    滴答表格企业版 5.1.2

    当今企业的业务需求复杂多变,对软件的通用性要求越来越高,造成开发周期过长,给软件项目带来不可预知的风险,同时大大降低 了软件企业的利润空间,而滴答表格企业版正是为解决这些问题而推出的一款基于模板化开发...

    滴答表格专业版 4.2.2

    当今企业的业务需求复杂多变,对软件的通用性要求越来越高,造成开发周期过长,给软件项目带来不可预知的风险,同时大大降低了软件企业的利润空间,而滴答表格专业版正是为解决这些问题而推出的一款基于模板化开发的...

    NMAP简单使用

    nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20 扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。 host -l | cut -d -f 4 | nmap -v -iL - 进行...

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics