`
iffiffj
  • 浏览: 158757 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

开启钱箱(CashDrawer)核心代码

    博客分类:
  • POS
 
阅读更多
这里的代码只是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#POS打开钱箱源代码

    使用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端口)

    在本文中,我们将深入探讨如何使用C#编程语言来控制和打开POS钱箱,特别是针对USB和LPT端口的打印机。 首先,我们需要了解钱箱通常是如何通过打印机接口被控制的。大多数POS钱箱通过接口连接到打印机,如并行(LPT...

    qt通过打印驱动打开钱箱

    分析和理解这些代码,可以帮助你更好地理解如何在Qt中操作打印机驱动以打开钱箱。 总的来说,这个技术涉及到Qt编程、Windows API的使用、打印机硬件控制以及对特定打印机型号的深入理解。通过这样的实践,开发者...

    VB打开钱箱代码

    在VB.NET编程环境中,"VB打开钱箱代码"通常指的是使用Visual Basic .NET来控制外设,例如POS机上的钱箱。钱箱是零售商店自动化的关键组成部分,它与收银系统相连,允许通过电子指令进行开启和关闭。在本文中,我们将...

    C#输出打印机指令打开钱箱

    在上述代码中,`27, 112, 0, 69`是钱箱打开的ESC/POS命令序列。这些值可能会根据具体的打印机型号和配置有所不同,因此在实际应用中需要查阅打印机的文档来获取正确的指令。 `OnPrintPage`事件处理程序通常用于绘制...

    开钱箱 易语言源码

    - **关键函数分析**:比如可能有`开钱箱函数`,用于模拟开启钱箱的操作;`计数函数`,计算钱箱中的金额;以及可能的`保存状态函数`,保存当前钱箱的状态。 4. **学习与开发** - **易语言学习路径**:对于初学者,...

    打开钱箱程序

    4. **自动开箱**:基于预设规则(如达到一定金额、营业时间结束等),程序可以自动触发钱箱开启,减少人为错误并提高效率。同时,自动开箱也可以配合硬币分拣机和纸币鉴别器,自动整理和清点现金。 5. **报告和分析...

    delphi 打开钱箱的代码

    delphi 打开钱箱的代码,超市POS开发或许用的上。需要的先保留一份吧

    C#POS打开钱箱打印

    C# POS 打开钱箱打印 C# POS 打开钱箱打印是指使用 C# 语言在点售系统(Point of Sale,POS)中实现打开钱箱和打印机的控制,实现自动打印小票的功能。本篇文章将详细介绍该功能的实现过程和相关知识点。 一、使用...

    DELPHI 开钱箱源代码

    至于“可以设置热键”,这意味着程序允许用户自定义快捷键来触发钱箱开启,提高了操作效率。这可能涉及到键盘事件的捕获和处理,比如使用PostMessage或SendMessage API函数来模拟键盘输入,从而触发钱箱打开。 总的...

    pb打开钱箱源码实例

    描述中的"pb打开钱箱源码实例"进一步强调了这是一个具体的代码示例,这意味着我们可以从中学到如何在实际项目中实现类似的功能。这可能包括以下关键知识点: 1. 数据库连接:在PowerBuilder中,我们需要设置数据库...

    VB开钱箱源代码,可以用其他语言调用

    在实际应用中,VB开钱箱源代码可能包含以下几个核心知识点: 1. **串口通信**:自动售货机等设备通常通过串行通信(RS-232)与钱箱控制器进行通信。源代码中可能涉及到发送特定命令到串口以控制钱箱的开关动作。 2...

    简单的并口开钱箱DEMO(Delphi)

    在DEMO程序中,很可能是通过模拟打印命令来触发钱箱的开启,因为许多POS打印机支持在打印指令之后附加一个钱箱开启的命令。 为了实现这个功能,开发者需要了解钱箱的控制协议,这通常由钱箱制造商提供。通常,这个...

    一键开钱箱

    连接打印机无法开钱箱,可以用这个工具点击一下即可打开钱箱,下载看看是否可行... 连接打印机无法开钱箱,可以用这个工具点击一下即可打开钱箱,下载看看...

    商店收银钱箱打开工具

    商店收银钱箱打开工具,通常是指用于管理零售店收银流程中硬币、纸币存储的钱箱开启软件。这样的工具对于小型店铺尤其重要,因为它能帮助店主或收银员安全、有效地处理日常交易中的现金管理。下面我们将深入探讨这款...

    pos机钱箱弹出源码

    "pos机钱箱弹出源码"是指控制POS机钱箱打开和关闭的软件代码。这个功能通常是通过与钱箱硬件的通信协议实现的,例如通过串行接口(如RS-232)或者USB接口进行通信。源码可能包含了以下关键部分: 1. **硬件驱动**:...

    USB打印机开钱箱程序

    这个程序负责解析来自收银系统的指令,将打印任务发送给打印机,并在适当的时候触发钱箱开启。开发者可能需要了解打印机的命令集,如ESC/POS指令集,来编写这样的程序。ESC/POS是打印机行业的一种通用语言,包含了...

    openbox开钱箱程序

    pos机并口开钱箱程序,支持通过pos打印机LPT1打开钱箱

    钱箱USB驱动盒打开程序

    能够在delphixe7-delphixe10.2.3运行的打开USB钱箱驱动盒的代码。需要的朋友可以下载试试

Global site tag (gtag.js) - Google Analytics