USB打印机开钱箱

本文介绍了一种通过USB接口向打印机发送特定ESC命令来实现开钱箱的方法。使用Delphi语言,定义了TOutBufPassThrough记录类型,通过ExtEscape函数发送开钱箱指令。此方法适用于零售和餐饮行业的POS系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

type
  TOutBufPassThrough = record   // 用于USB接口打印机开钱箱
  // 调用windows.extEscape可以直接用extEscape(handle, PASSTHROUGH, sizeOf(outBuf), @outBuf, 0, nil)向设备发送esc命令
    nDataLen: word;
    sEscData: array [0 .. 1024] of AnsiChar;
  end;

procedure TFrmCollectionOrder.OpenUSBMoneyBox;
var
  prt: TPrinter;
  esc: TOutBufPassThrough;
  sMoneyBoxOpenCommand: AnsiString;
begin
  try
    prt := Printers.Printer;
    prt.beginDoc;
    sMoneyBoxOpenCommand := AnsiString(const_OpenMoneyBoxCommand);
    esc.nDataLen := Length(sMoneyBoxOpenCommand);
    strpCopy(esc.sEscData, sMoneyBoxOpenCommand);
    Windows.ExtEscape(prt.Handle, PASSTHROUGH, sizeOf(esc), @esc, 0, nil);
    // PASSTHROUGH:允许程序直接发送数据到设备
    prt.endDoc;
  except

  end;
end;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值