2016-06-14 32 views
0

Ich habe versucht, GS1 Data Matrix Codes mit dem "Motorola EMDK für .net v. 2.7" zu lesen. (V. 2.5.0.3) für das ich war mit dem Symbol und Symbol.Barcode (v. 2.7.0.2) Baugruppen und erstellt den folgenden Beispielcode in einem Windows Forms-Anwendung:GS1 Datamatrix Codes mit Motorola EMDK für .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(); 
    } 

Ich habe analysierte die Ausgabe über einen Haltepunkt im ReadNotify-Ereignis, aber ich bekomme kein vernünftiges Ergebnis. Es ist immer nur die einfache Codefolge.

Ich würde eine Art von Anzeige benötigen (über die Symbologie Identifier zum Beispiel), dass es ein Gs1 Datamatrix-Code oder besser ein Ergebnis in einem nützlichen Format ist.

Antwort

0

Die EMDK-Beispiele zeigen, wie Sie die Barcode-Bibliothek verwenden können.

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

    } 

_readerData.Text ist der Text im Barcode und Sie haben den Text an dem Funktionscode in dem GS1-Matrix-Code spalten AI Werte zu erhalten _readerData.Type ist die Art von Barcode und Sie können für den Matrix-Barcode überprüfen

Möglicherweise müssen Sie auch ReaderDataLengths.DefaultText (55) in ReaderDataLengths.MaximumLabel

ändern