好的,所以我一直试图让条形码扫描在过去3周内在delphi应用程序中运行。我已被定向到this示例,但该示例使用了像imagemagika这样的其他库,并且是一个控制台应用程序。我正在寻找一个vcl表单应用程序。
这是我编写的一些代码,试着看看我是否可以让ZBar处理器在delphi中工作:
// Create Processor
processor := zbar_processor_create(0);
zbar_processor_set_config(processor, ZBAR_NONE, ZBAR_CFG_ENABLE, 1);
// Initialize processor
zbar_processor_init(processor, {what do I put here ?}, 1);
// Setup a callback
{I dont know what do here}
// Enable preview window
zbar_processor_set_visible(processor, 1);
zbar_processor_set_active(processor, 1);
此代码基于我在此处找到的C中的示例:https://github.com/ZBar/ZBar/blob/master/examples/processor.c
以及此处的文档: http://zbar.sourceforge.net/api/zbar_8h.html#c-processor
zbar窗口打开但不显示视频供稿,因为我在初始化步骤中将nil
解析为参数。在示例中,他们有这个C代码,但我不知道这意味着什么:
const char *device = "/dev/video0";
/* initialize the Processor */
if(argc > 1)
device = argv[1];
zbar_processor_init(proc, device, 1);
如果我解析'/dev/video0'
而不是nil
,则视频Feed仍然无法显示。所以我想我的问题是我需要在zbar_processor_init()
函数中解析什么?
我也不知道如何设置一个在找到结果后调用的回调函数。我该怎么做呢?
提前致谢, Kobus
答案 0 :(得分:2)
argc
是命令行中传递的参数数量,argv
获取它们。 dev/video
是linux风格的设备。试试con:
zbar_processor_init(processor, 'con:', 1)
Con:
是控制台。 Com1:
串口1,Aux:
辅助端口 - 可能是usb,Prn:
打印机Lpt:
行式打印机。