这里的代码只是POS驱动中的一部份
private static void openDrawer(String portName, PosPrinter pp/*这是POS机的配置*/)
throws Exception {
CommPortIdentifier port = null;
CommPort open = null;
try {
port = CommPortIdentifier.getPortIdentifier(portName);
open = port.open(portName, 100);
open.setInputBufferSize(32);
open.setOutputBufferSize(32);
OutputStream outputStream = open.getOutputStream();
//设置开启钱箱的脉冲频率,一般不用设置,默认就行
if (pp.getPc().hasDrawerConfig()) {
if (pp.getPc().getDrawerRate() == 2400) {
outputStream.write(EpsonPosPrinterCommand.ESC_DRAWER_RATE_2400);
} else {
outputStream.write(EpsonPosPrinterCommand.ESC_DRAWER_RATE_9600);
}
int ontime = pp.getPc().getDrawerOntime();
int offtime = pp.getPc().getDrawerOfftime();
outputStream.write(EpsonPosPrinterCommand
.generatePulse(ontime, offtime));
outputStream.write(EpsonPosPrinterCommand.ESC_OPEN_DRAWER);
} else {//默认设置
outputStream.write(EpsonPosPrinterCommand.ESC_DRAWER_RATE_9600);
int ontime = 50;
int offtime = 50;
outputStream.write(EpsonPosPrinterCommand.generatePulse(ontime, offtime));
outputStream.write(EpsonPosPrinterCommand.ESC_OPEN_DRAWER);
}
outputStream.flush();
java.util.concurrent.TimeUnit.SECONDS.sleep(1);
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
if (e instanceof IOException
&& e.getMessage()
.startsWith("Resource temporarily unavailable")) {
} else {
throw e;
}
} finally {
if (port != null && port.isCurrentlyOwned()) {
open.close();
}
}
}
分享到:
相关推荐
使用C#编写的发送命令给打印机打开钱箱的源代码.使用ESC标准命令,调用API实现. /*ESC p M n1 n2 M =0 代表一个钱箱 n代表脉冲宽度 n1 =40--50 之间 M =1 代表两个钱箱 n2 =120--150之间*/ 使用writePrinter API...
在本文中,我们将深入探讨如何使用C#编程语言来控制和打开POS钱箱,特别是针对USB和LPT端口的打印机。 首先,我们需要了解钱箱通常是如何通过打印机接口被控制的。大多数POS钱箱通过接口连接到打印机,如并行(LPT...
分析和理解这些代码,可以帮助你更好地理解如何在Qt中操作打印机驱动以打开钱箱。 总的来说,这个技术涉及到Qt编程、Windows API的使用、打印机硬件控制以及对特定打印机型号的深入理解。通过这样的实践,开发者...
在VB.NET编程环境中,"VB打开钱箱代码"通常指的是使用Visual Basic .NET来控制外设,例如POS机上的钱箱。钱箱是零售商店自动化的关键组成部分,它与收银系统相连,允许通过电子指令进行开启和关闭。在本文中,我们将...
在上述代码中,`27, 112, 0, 69`是钱箱打开的ESC/POS命令序列。这些值可能会根据具体的打印机型号和配置有所不同,因此在实际应用中需要查阅打印机的文档来获取正确的指令。 `OnPrintPage`事件处理程序通常用于绘制...
- **关键函数分析**:比如可能有`开钱箱函数`,用于模拟开启钱箱的操作;`计数函数`,计算钱箱中的金额;以及可能的`保存状态函数`,保存当前钱箱的状态。 4. **学习与开发** - **易语言学习路径**:对于初学者,...
4. **自动开箱**:基于预设规则(如达到一定金额、营业时间结束等),程序可以自动触发钱箱开启,减少人为错误并提高效率。同时,自动开箱也可以配合硬币分拣机和纸币鉴别器,自动整理和清点现金。 5. **报告和分析...
delphi 打开钱箱的代码,超市POS开发或许用的上。需要的先保留一份吧
C# POS 打开钱箱打印 C# POS 打开钱箱打印是指使用 C# 语言在点售系统(Point of Sale,POS)中实现打开钱箱和打印机的控制,实现自动打印小票的功能。本篇文章将详细介绍该功能的实现过程和相关知识点。 一、使用...
至于“可以设置热键”,这意味着程序允许用户自定义快捷键来触发钱箱开启,提高了操作效率。这可能涉及到键盘事件的捕获和处理,比如使用PostMessage或SendMessage API函数来模拟键盘输入,从而触发钱箱打开。 总的...
描述中的"pb打开钱箱源码实例"进一步强调了这是一个具体的代码示例,这意味着我们可以从中学到如何在实际项目中实现类似的功能。这可能包括以下关键知识点: 1. 数据库连接:在PowerBuilder中,我们需要设置数据库...
在实际应用中,VB开钱箱源代码可能包含以下几个核心知识点: 1. **串口通信**:自动售货机等设备通常通过串行通信(RS-232)与钱箱控制器进行通信。源代码中可能涉及到发送特定命令到串口以控制钱箱的开关动作。 2...
在DEMO程序中,很可能是通过模拟打印命令来触发钱箱的开启,因为许多POS打印机支持在打印指令之后附加一个钱箱开启的命令。 为了实现这个功能,开发者需要了解钱箱的控制协议,这通常由钱箱制造商提供。通常,这个...
连接打印机无法开钱箱,可以用这个工具点击一下即可打开钱箱,下载看看是否可行... 连接打印机无法开钱箱,可以用这个工具点击一下即可打开钱箱,下载看看...
商店收银钱箱打开工具,通常是指用于管理零售店收银流程中硬币、纸币存储的钱箱开启软件。这样的工具对于小型店铺尤其重要,因为它能帮助店主或收银员安全、有效地处理日常交易中的现金管理。下面我们将深入探讨这款...
"pos机钱箱弹出源码"是指控制POS机钱箱打开和关闭的软件代码。这个功能通常是通过与钱箱硬件的通信协议实现的,例如通过串行接口(如RS-232)或者USB接口进行通信。源码可能包含了以下关键部分: 1. **硬件驱动**:...
这个程序负责解析来自收银系统的指令,将打印任务发送给打印机,并在适当的时候触发钱箱开启。开发者可能需要了解打印机的命令集,如ESC/POS指令集,来编写这样的程序。ESC/POS是打印机行业的一种通用语言,包含了...
pos机并口开钱箱程序,支持通过pos打印机LPT1打开钱箱
能够在delphixe7-delphixe10.2.3运行的打开USB钱箱驱动盒的代码。需要的朋友可以下载试试