【问题标题】:GS1 Datamatrix Codes with Motorola EMDK for .Net带有摩托罗拉 EMDK 的 .Net GS1 Datamatrix 代码
【发布时间】:2016-06-14 07:16:45
【问题描述】:

我一直在尝试使用“Motorola EMDK for .net v. 2.7”读取 GS1 数据矩阵代码。为此,我一直在使用 Symbol(v. 2.5.0.3) 和 Symbol.Barcode(v. 2.7.0.2) 程序集,并在 Windows 窗体应用程序中创建了以下示例代码:

    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 事件中的断点分析了输出,但没有得到合理的结果。它始终只是纯代码字符串。

我需要某种指示(例如通过符号系统标识符)它是 gs1 数据矩阵代码,或者更好的是有用格式的结果。

【问题讨论】:

    标签: .net barcode symbols motorola datamatrix


    【解决方案1】:

    EMDK 示例展示了如何使用条形码库。

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

    _readerData.Text是条形码中的文字,你必须在GS1 Matrix Code中的功能码处拆分文字才能得到AI值 _readerData.Type是条码类型,可以查看矩阵条码

    您可能还需要将ReaderDataLengths.DefaultText (55) 更改为ReaderDataLengths.MaximumLabel

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多