很难想象没有条形码的生活,尤其是现在我们在每一步都遇到了条形码。我们只能想象如果收银员在不使用扫描仪的情况下手动输入产品标识符,那么队列将是什么。此外,输入数字序列时很可能会犯错误。今天,我们将考虑各种条形码的一小部分。
Fastreport年终钜惠 在线下单立享85折起 !赶紧 加入购物清单 吧!
关于条形码的一些理论
很难想象没有条形码的生活,尤其是现在我们在每一步都遇到了条形码。我们去电影院,门票上有这张“黑白条形图”,我们去了超市,每种产品都有条形码形式的信息。我们只能想象如果收银员在不使用扫描仪的情况下手动输入产品标识符,那么队列将是什么。此外,输入数字序列时很可能会犯错误。今天,我们将考虑各种条形码的一小部分。
ITF(五分之二的交错)或“ 5分之二”的条形码是双频带数字代码,或者是只能编码成对数字的高密度数字条形码(条形码必须具有偶数个数字!)。每个条形码图案都将条形图案中的奇数位编码,并将条形之间的间隔图案中的偶数位编码。要对奇数个数字进行编码,必须将最左边(最高有效)数字填充零。
条形码可以是可变长度的,通常不使用校验和,尽管在某些特殊情况下会使用模10校验字符。由于交错条形码Code 5 of 2 不能自我检查,因此可以进行部分扫描,并且经常使用固定长度的数据字段来避免此问题。
简而言之:
编码纯数字数据;
长度是可变的,但必须具有偶数个数字;
校验和是可选的。
由于ITF是具有很高数据密度的条形码,因此它具有以下功能:
标签尺寸可以小于具有相同数字的其他代码的尺寸。在狭小的空间内打印条形码非常有效。
如果标签大小相同,则与其他代码相比,可以包含更多数据。(位数可以增加。)
如果标签尺寸和位数相同,则条形宽度可以更宽。
如果条宽度较宽,则条形码阅读器很容易读取。也可以进行远距离读取。
尽管ITF具有许多优点,但由于其组成,它也具有可能“跳过阅读”的缺点。跳过读取意味着表示“ 3852”的条形码被错误地读取为“ 38”,并且跳过了一些数字。
工业2 of 5由Identicon Corp.和Computer Identics Corp.在1970年开发,并积极地用于工业应用中。但是,当前未使用(某些物流应用程序除外)。Industrial 2 of 5看起来像这样,并使用5条表示一个字符。由于此代码仅将数据分配给条(而不是空格),因此其数据密度非常低:
Matrix 2 of 5是Code 5 of 2符 体系的一个较高密度成员,该体系于1968年首次开发。它主要用于仓库分类和照片处理。“ 5之2”的名称源于以下事实:用于编码每个字符的5个元素(条和空格)中,两个宽且三个窄。
在Delphi和Lazarus中进行条形码微调以进行打印
FastReport VCL允许您使用所有三种类型的条形码。让我们看看如何做。 在FastReport VCL设计器中,将obCatBarcode组件添加到 告中,然后从列表中选择条形码的类型:
代码–条形码数值的区域;
从Delphi / Lazarus代码创建条形码
uses frxBarcod;procedure TForm1.Button1Click(Sender: TObject);var bc: TfrxBarcodeView;beginbc :=TfrxBarcodeView(frxReport1.FindObject('BarCode1'));{Set the type of the barcode}bc.BarType := bcCode_2_5_interleaved;{Set the fixed barcode value}bc.Text := '123456';{Set the calculated barcode value}//bc.Expression := '<YourDatasetName."FieldName1"> + <YourDatasetName."FieldName2">';{Set whether it is necessary to calculate the checksum and add it to the end of the barcode}bc.CalcCheckSum := False;{Set the scale at which the barcode will be displayed}bc.Zoom := 2;{Set the angle of the barcode rotation. Can take the following values: 0, 90, 180, 270}bc.Rotation := 0;{Set whether to set the width of the barcode depending on its content.}{If set to False, Zoom will be set to keep the barcode width fixed}bc.AutoSize := True;{Set the barcode background color}bc.Color := clNone;{Set the barcode lines color}bc.ColorBar := clBlack;{Set whether to display the text at the bottom of the barcode}bc.ShowText := True;frxReport1.ShowReport();end;
Fastreport在线下单立享85折起 !赶紧 加入购物清单 吧!
还想要更多吗可以点击阅读【FastReport 表2020最新资源盘点】 ,查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群( ),我们很高兴为您提供查询和咨询。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!