2016-06-14 3 views
0

Я пытался читать коды данных GS1 с помощью «Motorola EMDK for .net v. 2.7». (С. 2.5.0.3) Для этого я использую символ и Symbol.Barcode (. V 2.7.0.2) Агрегаты и создал следующий пример кода в приложения Windows Forms:GS1 Datamatrix коды с Motorola EMDK для .Net

private global::Symbol.Barcode.Reader _reader; 
    private global::Symbol.Barcode.ReaderData _readerData; 

    public Form1() 
    { 
     InitializeComponent(); 

     _readerData = new ReaderData(ReaderDataTypes.Text, ReaderDataLengths.DefaultText); 

     var device = Device.AvailableDevices.FirstOrDefault(d => d.DeviceName != Device.SIMULATE); 
     if (device == null) 
     { 
      throw new Exception("No Symbol scanner in the system."); //TODO //MSG 
     } 

     // Create the reader, based on selected device 
     _reader = new global::Symbol.Barcode.Reader(device); 

     _reader.Actions.Enable(); 

     _reader.Changes.Save(); 

     _reader.ReadNotify += new EventHandler(_reader_ReadNotify); 

     // Start a pending read. 
     try 
     { 
      _reader.Actions.Read(_readerData); 
     } 
     catch (global::Symbol.Exceptions.OperationFailureException) 
     { 
      //_logger.Error("Error, Reader is blocked", ex);, 
     } 
    } 

    private void _reader_ReadNotify(object sender, EventArgs e) 
    { 
     _readerData = _reader.GetNextReaderData(); 

     _reader.Actions.Read(_readerData); 
    } 

    private void Form1_Closing(object sender, CancelEventArgs e) 
    { 
     _reader.Dispose(); 
    } 

Я проанализировал выход через точку останова в событии ReadNotify, но я не получил разумного результата. Его всегда просто строка простого кода.

Мне нужно какое-то указание (например, с помощью идентификаторов символов), что это код datamatrix gs1 или лучше результат в полезном формате.

ответ

0

Примеры EMDK показывают, как вы можете использовать библиотеку штрих-кода.

switch (_readerData .Result) 
    { 
      case Symbol.Results.SUCCESS: 
       HandleData(_readerData) 
      break; 

    } 

_readerData.Text текст в штрих-код, и вы должны разделить текст на код функции в GS1 матричный код, чтобы получить AI значения _readerData.Type тип штрих-кода, и вы можете проверить для матричного штрих-кода

Вам также может понадобиться изменить ReaderDataLengths.DefaultText (55) на ReaderDataLengths.MaximumLabel

Смежные вопросы