4

例如,如果我将 12345 放在“文本”条形码的属性中,则输出为 012345。

这个“0”就是问题所在。我怎样才能删除这个?

我正在使用 Delphi 2010 和 FastReport 4.9.72。

4

2 回答 2

10

Code 128C 条码必须是偶数位数。这是设计使然。

数字和结果输出之间存在 1:1 映射,并且输出是 2 位对齐的。在代码 128C 的情况下1,这个数字的表示是01

如果值是,12那么基础表示将是12

所以数字628只能由0628

关于Code 128的维基百科文章解释了 128A、128B 和 128C 编码之间的区别。

于 2012-02-09T16:20:04.930 回答
1

要从字符串中删除前导零:

function RemoveLeadingZeros(const S: String): String;
var
  I, NumZeros: Integer;
begin
  Len := 0;
  for I := 1 to Length(S) do
  begin
    if S[I] <> '0' then Break;
    Inc(NumZeros);
  end;
  if NumZeros > 0 then
    Result := Copy(S, NumZeros+1, MaxInt)
  else
    Result := S:
end;
于 2012-02-09T20:20:14.557 回答