我正在编写一个Delphi应用程序,它可以读取不同的条形码,在同一表格/页面上的不同字段中输入数据。
因为相同的“id”可以用于多个项目(例如id 123可以用于零件,材料,员工等),我需要找到一种方法:
它类似于网址中使用的对,解析器将对分割为字段值。
最诚挚的问候,
答案 0 :(得分:2)
“条形码”大多无关紧要。您希望将名称=值对打包到尽可能小的空间中,然后将“名称”和“值”部分分开。 “条形码”部分仅是相关的,因为它施加了一些限制。 示例:根据您使用的条形码类型,您只能使用数字,而不是太多。所以你不能使用“=”符号。
这是一个可能的实现:为所有“名字”分配数字;假设“部件号”为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;