类似于-“中国移动话费单打印”的思路

本文介绍了在VB中实现单据打印模块的方法。作者为安徽省棉麻交易市场做类似中国移动话费单打印的模块,起初想用报表实现,后发现用Printer.CurrentX和printer.CurrentY更简单。还介绍了准备工作,如量坐标、处理换行等,并给出了实现每行最多打印6个字符的函数及调用示例。

前一阵子给 安徽省棉麻交易市场 作了一个咚咚
(类似于中国移动话费单打印)
其中一个模块的功能就是实现单据打印
单据是专用纸,不是白纸
模块程序简单,主要是思路要对,要不然就复杂了

开始走了弯路,老是想怎么用报表
比如datareport,ms的MSFlexGrid,还有更为复杂的第三方水晶报表

事实上用一个极为简单的Printer.CurrentX和printer.CurrentY就可以了
要做的准备工作就是量好单据每个要打印项的坐标
再乘以56.7,转化成“缇”
如果是水平打印,则要先将打印机的走纸设为横向(控制面板里。。)

还有个细节是换行问题
在VB中,text文本框的输入是可以自动换行的,但打印则不会自动换行
为此,我编写了一个函数实现每个文本框每行最多打印6个字符:

Sub PrintSingleLine(s As String, X As Long, n As Integer)
     Dim nLines As Integer
    
     nLines = Len(s) / n
     If Len(s) > n * nLines Then nLines = nLines + 1
     If Len(s) = 0 Then nLines = 1 ' 空 行
     For i = 0 To nLines - 1
     Printer.CurrentX = X
     Printer.Print Mid(s, i * n + 1, n)
     Next
    End Sub

再实行以下调用:

 Dim s As String, sLine As String
    
     Printer.CurrentY = 72 * 56.7   '72是我例子的坐标
     s = txtProductInfo(2).Text   '我例子的文本框
     pos = InStr(s, vbCrLf)  'vbCrlf索回车的意思。。
    
Do While pos > 0
     sLine = Left(s, pos - 1)
     s = Mid(s, pos + 2)
     PrintSingleLine Trim(sLine), 49 * 56.7, 6
     pos = InStr(s, vbCrLf)
 Loop
    
PrintSingleLine Trim(s), 49 * 56.7, 6  '每行6个字符

---------作者卡卡---------

下载代码方式:https://pan.quark.cn/s/604a73f2a5f9 流量分类机制(IEEE 802.1Qbv)将以太网数据传输划分为多个不同类别,每个类别均被分配特定时段以获取网络访问权,借此构建了类别专属的保护“路径”。依托IEEE 802.1Qcc的优化SRP与性能提升,用户网络接口(UNI)得到扩充,从而支持了远程集中化的网络设置。 ### IEEE 802.1Qbv TSN:流量调度技术详解 #### 一、IEEE 802.1Qbv TSN概述 在当前迅速演进的科技领域中,特别是工业自动化、汽车电子以及高性能计算等领域对实时通信的需求持续上升,时间敏感型网络(Time-Sensitive Networking, TSN)技术随之出现。其中,IEEE 802.1Qbv规范是TSN体系中的一个关键构成,主要聚焦于以太网中时间敏感数据流量的管理与调度。 #### 二、IEEE 802.1Qbv标准背景 IEEE 802.1Qbv由IEEE LAN/MAN标准委员会制定,作为IEEE 802.1Q-2014规范的一个延伸,目的是为支持定时传输的数据单元提供更高效、更精准的服务。该规范通过引入时间敏感的流量调度机制,使网络能更好地适应工业控制等环境下的实时性要求。 #### 三、核心概念阐释 **1. 流量调度(Scheduled Traffic)** - **定义**:IEEE 802.1Qbv的核心功能之一是流量调度,它允许依据预定的时间计划来传输不同类型的网络数据。 - **作用**:通过设定优先级和分配时间间隙,保障关键任务数据单元能在规定时限内完成传输,从而增强整个网络的可靠性与确定性。 **2. 类别特定的保护“路径”** - **...
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值