如何使用 C#.Net 实现 POS 扫描仪的 DirectIO 事件?

Posted

技术标签:

【中文标题】如何使用 C#.Net 实现 POS 扫描仪的 DirectIO 事件?【英文标题】:How I Can Implement DirectIO Event Of POS Scanner Using C#.Net? 【发布时间】:2020-09-05 09:30:11 【问题描述】:

我正在尝试使用 Pos Scanner 的 DirectIO 事件生成错误哔声,但我不知道正确的参数。事件名称是 DirectIO,它需要三个参数,他的语法是:

directIO(DIO_SCANNER_DIO_ERROR_BEEP, data, object);

我们不知道上述事件接受的参数。您能否通过 C#/VB.Net 中的示例向我们提供有关上述事件的更多详细信息。

扫描仪详细信息:DataLogic Magellan 9800i

谢谢,

【问题讨论】:

欢迎来到 SO。请在询问之前阅读此内容 -> ***.com/help/how-to-ask 你也没有在这里得到答案吗?你问的几乎一样:***.com/questions/61205956/… 【参考方案1】:

这是一个有点旧的材料,但支持的功能可能会因扫描仪型号和连接方式而异。OEM USB, RS232 Standard RS232 Single Cable OPOS Service Objects

如果您通过 POS for .NET 调用 OPOS,请参考此页面。PosCommon.DirectIO Method (POS for .NET v1.12 SDK Documentation)

public abstract DirectIOData DirectIO (
    int command,
    int data,
    Object obj
)

参数

命令 命令号。服务对象分配的特定值。 数据 对象

备注 使用 DirectIO 方法允许服务对象向应用程序提供其设备类的标准服务对象不支持的功能。根据服务对象对命令的定义,DirectIO 方法可能是异步的或同步的。

DirectIO 返回 DirectIOData 类的实例。

DirectIOData Members (POS for .NET v1.12 SDK Documentation)

Scanner 对象必须处于 DeviceEnabled=true 状态。

除非另有说明,data 参数应为 0,obj 参数应为空字符串。


如果您直接调用 OPOS,请参阅以下资源:UnifiedPOS (UPOS) Controls Combined JavaPOS and OPOS Controls

8-1 扫描仪控件的 DirectIO 命令详细信息

此时为pDatapString参数定义一些变量,用ref指定。 例如:

int pData = 0;
string pString = "";

int result = axOPOSScanner1.DirectIO(DIO_SCANNER_DIO_ERROR_BEEP, ref pData, ref pString);

【讨论】:

你好,其实我对directIO事件的实现和它的参数一无所知。 您是否从 DataLogic 获得了文档?如果您匹配那里列出的command 值,也许它会起作用。

以上是关于如何使用 C#.Net 实现 POS 扫描仪的 DirectIO 事件?的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube 扫描仪正在使用 javascript

Python实现Redis数据扫描

如何在c#.net中将图像文件(如扫描副本)转换为文本文件[重复]

快速排序分区以及优化方法

快速排序分区以及优化方法

如何检查扫描仪是不是已插入(C#、.NET TWAIN)