Delphi 如何将条形码分配给特定的应用程序字段/文本框

Delphi 如何将条形码分配给特定的应用程序字段/文本框,delphi,barcode,Delphi,Barcode,我正在编写一个Delphi应用程序,可以读取不同的条形码,将数据输入同一表单/页面上的不同字段 由于相同的“id”可用于多个项目(例如,id 123可用于零件、材料、员工等),因此我需要找到一种方法: 将适当的标签/字段以任何格式(例如userid=123或partid=123)并入条形码本身 将此条形码信息解析为相关字段/值对,以便在正确的应用程序文本框/选择/单选按钮/等中插入数据 它类似于web URL中使用的对,解析器将对拆分为字段值 致以最诚挚的问候,条形码基本上是不相关的。您希望将名

我正在编写一个Delphi应用程序,可以读取不同的条形码,将数据输入同一表单/页面上的不同字段

由于相同的“id”可用于多个项目(例如,id 123可用于零件、材料、员工等),因此我需要找到一种方法:

  • 将适当的标签/字段以任何格式(例如userid=123或partid=123)并入条形码本身
  • 将此条形码信息解析为相关字段/值对,以便在正确的应用程序文本框/选择/单选按钮/等中插入数据
  • 它类似于web URL中使用的对,解析器将对拆分为字段值

    致以最诚挚的问候,

    条形码基本上是不相关的。您希望将名称=值对打包到尽可能小的空间中,然后将“名称”和“值”部分分开。“条形码”部分之所以相关,是因为它施加了一些限制。示例:根据您使用的条形码类型,您只能使用数字,不能使用太多数字。所以不能使用“=”符号

    这里有一个可能的实现:给你所有的“名字”分配数字;假设“零件号”为1,“物料”为2,“员工”为3。只需在条形码中输入的文本前面加上数字

    编码如下所示:

    Barcode.code := '1' + PartNumber;
    Barcode.code := '2' + MaterialNumber;
    
    解码同样简单:

    case BarcodeText[1] of
      '1': PartNumber := Copy(BarcodeText,2,MaxInt);
      '2': MaterialNumber := Copy(BarcodeText,2,MaxInt);
    end;
    

    像UCC/EAN128这样的代码只是定义了一个固定长度的“应用程序代码”,它告诉软件在剩余字符中编码了什么样的数据。只要读卡器能够处理它,它可以在一个条形码内使用多次。谢谢,我知道这会很容易。我只需要确保每个条形码都有前缀(或者我的条形码可以处理一些特殊的分隔符)。