首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用ReadPrinter?

如何使用ReadPrinter?
EN

Stack Overflow用户
提问于 2019-04-22 17:54:05
回答 1查看 498关注 0票数 3

我像这样将指纹直接发送到假脱机:

代码语言:javascript
运行
AI代码解释
复制
var
 cmnd : TBytes;
 ...   
 WritePrinter(HandleImp, @cmnd[0], Length(cmnd), CaracteresImpressos);
 ...

在大多数情况下,这满足了我的需要,我的问题是关于需要打印机响应的命令,例如读取状态。

我读到有关函数ReadPrinter (),但我不能使用it...the返回始终不同于0(根据文档指示该函数已执行),但缓冲区变为空,就好像打印机没有响应。

ci的返回值等于0。

https://docs.microsoft.com/en-us/windows/desktop/printdocs/readprinter

这是我的代码:

代码语言:javascript
运行
AI代码解释
复制
function TTP650.pedeStatusDrawer: TBytes;
    begin
      SetLength(result, 3);
      result[0] := 16;
      result[1] := 04;
      result[2] := 01;
    end;

function TForm1.statusDrawer: boolean;
    var
      buffer : TBytes;
      cmnd : TBytes;
      s : string;
      i : integer;
      ret : boolean;
      ci: DWORD;
    begin
      setLength(buffer,20);
      DescricaoAnsiString := 'Lendo Pulso/Gaveta' + #10;
      cmnd := tp.pedeStatusDrawer();

      if not OpenPrinter(PChar(driverselecionado), HandleImp, nil) then
        Memo1.Lines.Add('Erro: Impressora não encontrada')
      else
      begin

      Documento.pDocName := PChar('Minha impressão');
      Documento.pOutputFile := nil;
      Documento.pDataType := 'RAW';

      StartDocPrinter(HandleImp, 1, @Documento);
      StartPagePrinter(HandleImp);

      WritePrinter(HandleImp, @cmnd[0], Length(cmnd), CaracteresImpressos);
      ret := ReadPrinter(HandleImp, @buffer[0], Length(buffer), ci);

      EndPagePrinter(HandleImp);
      EndDocPrinter(HandleImp);

      if(ret = true) then
      begin
          if(ci >0) then
          begin
            for i := 0 to Length(buffer)-1 do
            s := s + IntToStr(buffer[i]) + ' ';

            Memo1.Lines.Add(s);
          end;

      end;
      ClosePrinter(HandleImp);
      end;

    end;

我用的是双向热敏打印机。文档摘录:

代码语言:javascript
运行
AI代码解释
复制
[Name] Real-time status transmission 

[Format] ASCII   DLE  EOT n 

          Hex     10  04  n 

          Decimal 16  4   n

[Description]

根据以下参数,实时传输由n指定的选定打印机状态:

代码语言:javascript
运行
AI代码解释
复制
n = 1: Transmit printer status 

n = 2: Transmit offline status 

n = 3: Transmit error status 

n = 4: Transmit paper roll sensor status

如果有兴趣,请提供完整的文档(第9页和第10页讨论该主题)。printer documentation

EN

回答 1

Stack Overflow用户

发布于 2019-07-31 20:07:34

我通过串行通信得到了答案。我通过串口对问题中提到的字符串执行了send命令,并读取:

代码语言:javascript
运行
AI代码解释
复制
Serial: TBlockSerial;
b: = Serial.RecvByte (500);

啊,真灵。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55798748

复制
相关文章
【GPU陷入价格战】谷歌云可抢占GPU降价40%,P100每小时不到3块钱
来源:Google 作者:文强 【新智元导读】还愁用不起GPU?今天谷歌宣布云端可抢占GPU大幅降价,P100的价格每小时0.43美元,换算成人民币只需2.77元。 不是每个人工作的时候都需要GPU
新智元
2018/06/25
2.2K0
Cloud Compute
       最近,Cloud Compute,也就是“云计算”备受关注,或者说是因为一些大厂商铺天盖地的宣传才导致自web2.0以来又一个互联网应用的new wave。。。
bisal
2019/01/29
6520
使用Google Cloud Platform进行资产跟踪
高价值资产往往会被放错地方或被盗。我们回顾了Leverege如何使用GCP创建一个使用物联网设备的资产跟踪解决方案。
用户4122690
2020/06/18
2.6K0
使用Google Cloud Platform进行资产跟踪
Google 的 Serverless 产品对比:Cloud Run、Cloud Functions、App Engine
Serverless 平台的主要优点是,它们使您可以专注于编写代码,而不必关心管理基础结构,自动扩容或为所用资源支付更多费用。
donghui
2021/02/08
3.5K0
Google 的 Serverless 产品对比:Cloud Run、Cloud Functions、App Engine
Cloud Pilot 2.5 Google Cloud Platform 虚拟机迁移(下)
本周赶上独立日休假,本来没打算写。后来看了看上周的素材还多了点边角料,就顺手凑了一篇。实属为了这点醋,包了顿饺子。
s09g
2022/12/18
7600
Cloud Pilot 2.5 Google Cloud Platform 虚拟机迁移(下)
TPU使用说明
为了连接到 TPU,我们必须配置一台虚拟机(单独结算)。要注意的是虚拟机和TPU是分别计费的。
marsggbo
2018/10/22
2K0
TPU使用说明
谷歌对决亚马逊 在云中运行Hadoop
Google Compute Engine 的虚拟机提供了一种快速、可靠的方式来运行 Apache Hadoop。如今,Google 正在努力通过Google Cloud Storage Hadoop
静一
2018/03/15
1.3K0
谷歌对决亚马逊 在云中运行Hadoop
TPU使用说明
为了连接到 TPU,我们必须配置一台虚拟机(单独结算)。要注意的是虚拟机和TPU是分别计费的。
marsggbo
2019/05/26
3.4K0
TPU使用说明
TPU使用说明
为了连接到 TPU,我们必须配置一台虚拟机(单独结算)。要注意的是虚拟机和TPU是分别计费的。
marsggbo
2018/10/16
1.5K0
如何在 Google Cloud 上部署 EMQX 企业版
Google Cloud 的 IoT Core 产品将于 2023 年 8 月 16 日停止服务,随着这一日期的临近,许多用户正在为他们现有的物联网业务寻找新的解决方案,而 EMQX 企业版是实现这一目标的理想选择。
EMQ映云科技
2023/04/19
2.8K0
Compute Engine Static Ip Charge 谷歌云被扣费
信用卡收到 2 次被谷歌云扣费的短信,每月 7 美刀左右,是因为之前开了 vm 实例(送的 300 美刀到期后,把几个实例删除了,可能是操作的时候默认保留一个静态 IP 导致一直在扣费,刚开始还以为是送的美刀的过了有效期,扣费了就没去仔细看),没有把 静态 IP 释放掉。
卓越笔记
2023/02/18
5040
Compute Engine Static Ip Charge 谷歌云被扣费
Cloud Pilot 2. Google Cloud Platform 服务器虚拟化架构(上)
首先还是拿个友商出来做对照。当初是在大四毕业的暑假到研究生的第一年期间考的VCP和VCAP,vSphere的版本还在6.5/6.7,放在今天多少有点过气。但我还是打算把VMware拎出来,看看VMware vSphere虚拟化架构。
s09g
2022/07/06
1.9K1
Cloud Pilot 2. Google Cloud Platform 服务器虚拟化架构(上)
python google app engine
云计算的三个层次:issa:paas:saas 云计算有三个层次。图12-1 显示了每个层次,以及对应层次的代表产品。最低层的是IaaS(Infrastructure-as-a-Service),即提供计算机本身基本的计算能力(物理形式或虚拟形式)、存储(通常是磁盘)、计算。亚马逊Web 服务(Amazon Web Services,AWS)提供了弹性计算云(Elastic Compute Cloud,EC2),以及简单存储系统(Simple Storage System,S3)服务,这两者就在IaaS 层面。Google 也提供了IaaS 存储服务,称为Google Cloud Storage。Google App Engine 作为云计算的中间一层,称为Paas(Platform-as-a-Service)。这一层为用户的应用提供执行平台。最高一层是Software-as-a-Service(SaaS)。在这一层,用户只须简单地访问应用,这些应用位于本地,但只能通过因特网访问。SaaS 的例子包括基于Web的电子邮件服务,如Gmail、Yahoo! Mail 和Hotmail。
用户5760343
2022/05/14
5460
python google app engine
[译] Traffic Director如何为开放服务网格提供全局负载均衡
在上周的Next ‘19,我们宣布了用于服务网格的Traffic Director,为您的VM和容器服务带来全局流量管理。我们还在博客中向您展示了Traffic Director的功能。今天,我们将深入探讨其特性和优势。
PHP开发工程师
2022/06/16
1K0
[译] Traffic Director如何为开放服务网格提供全局负载均衡
点击加载更多

相似问题

无法连接Linux VM (Google Cloud Platform Compute Engine)

21

Google Cloud Platform Debugger for Compute Engine with Payara/Glassfish Application Server

18

How to Read Photos for Deep Learning on Google Cloud Platform Compute Engine VM Instance,通过Jupyter Lab

11

Google Cloud Platform - Compute Engine Bitnami表示堆栈启动脚本

11

如何在Google Cloud Platform的Compute Engine上安装Jenkins?

111
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档