Процессор ZBar и delphi

Итак, я пытался заставить сканирование штрих-кода работать в приложении Delphi в течение последних 3 недель. Меня перенаправили на это пример, но этот пример использует другие библиотеки, такие как 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, видеопоток все равно не будет отображаться. Итак, я думаю, мой вопрос заключается в том, что мне нужно проанализировать в функции zbar_processor_init()?

Я также не знаю, как настроить функцию обратного вызова, которая будет вызываться после получения результата. Как бы я это сделал?

Заранее спасибо, Кобус


person Kobus Vdwalt    schedule 16.05.2015    source источник


Ответы (1)


argc — это количество параметров, переданных в командной строке, а argv извлекает их. dev/video — это устройство в стиле Linux. Попробуйте con:

zbar_processor_init(processor, 'con:', 1)

Con: это консоль. Com1: последовательный порт 1, Aux: вспомогательный порт - возможно usb, Prn: принтер Lpt: построчный принтер.

person Rohit Gupta    schedule 16.05.2015
comment
Эй, не могли бы вы уточнить, пожалуйста? Я не уверен, что вы подразумеваете под con: - person Kobus Vdwalt; 17.05.2015
comment
Хорошо, спасибо ! Я попробую это завтра и соглашусь, если это сработает. - person Kobus Vdwalt; 20.05.2015