FastReport中国社区FastReport联系电话 联系电话:023-68661681

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

来源:   发布时间:2020-11-03   浏览:次

报表生成器FastReport VCL是用于在软件中集成商务智能的现代解决方案。它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web,电子邮件和打印中。

近日,FastReport VCL更新至v6.7,在新版本中,添加了对最新版本IDE的支持,简化了用于付款标准的条形码的创建,新增从预览窗口直接编辑RichView的功能,同时修复了多个Bug问题。欢迎下载体验。(点击下方按钮下载)

点击下载最新版FastReport VCL Fastreport在线下单立享85折起!赶紧加入购物清单吧!

CODE 39是Intermec Corporation在1975年开发的条形码。条形码中最多可以包含43个字符,包括数字,字母和一些符号:0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ-。$ / +%。由于可以处理字母,因此CODE 39在工业领域必不可少,并且在汽车和电子等行业中使用。例如,在德国,它用于药品,但主要用于仓储。在美国,代码39被标准化为ANSI MH 10.8 M-1983和MIL-STD-1189。该标准后来被取消,并由ANSI / AIM BC1 / 1995代替。 

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码
可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

CODE 39以其条形和空格模式命名,在9个条形和空格中有3个是宽的。基本组成如下:

  • 一个字母(字符)由9个小节和空格表示。
  • 星号(*)附加在条形码的开头和结尾。(开始/停止字符)
  • 字符之间的间隔称为“字符间间隙”。通常,间隙宽度与窄条宽度一样宽。(最大宽度规定为窄条宽度的3到5.3倍。)

字符间距

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

下表概述了Code 39规范。分配给每个字符的数字值(开始/停止除外)在以下所述的校验和算法中使用。

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

代码39有时与可选的模43校验位一起使用,带有校验位的代码称为代码39 mod43。
这是执行校验和计算的方法:
1.取条形码中每个字符的值(0到42),不包括开始和结束代码。
2.对值求和。

3.将结果除以43。

4 .余数是要附加的校验和字符的值。

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

Code 39 Extended是Code 39的扩展版本,支持ASCII字符集。它可以编码128个字符:0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ!#$%&'()* +,-。/ :; <=>?@ [\] ^ _`{|} abcdefg hijklmnopqrs tuvwxyz,其中包括26个大写字母( AZ),26个小写字母(az)和带空格的特殊字符。

请务必注意,扩展代码39条形码的长度大约是常规代码39条形码的两倍。根据ISO 646,通过组合两个符号字符来显示这些字符,第一个由$ +%/四个字符之一组成,后跟26个字母之一。如果使用完整的ASCII字符集对解码器进行编程,则仅传输ASCII等效字符,而不传输符号字符组合。

Code 39 Extended也可以与可选的43模校验和一起使用,带有校验位的代码看起来像“ CODE 39 EXTENDED mod 43”。

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

CODE 39和CODE 39 Extended的并排比较

让我们比较不同条形码中的相同短语。在这两种情况下,我们在第一栏中都看不到任何区别。但是为什么没有区别呢?这是因为字符0123456789 ABCDEFG HIJKLMNOP QRSTUVWXYZ-。两个条形码中的$ / +%以相同的方式编码,但是如果将大写字母替换为小写字母,则会出现更改。

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

再一次,在CODE 39 Extended中,通过组合两个符号字符来显示字符,第一个由$ +%/四个字符之一组成,然后由26个字母之一组成。

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

在视觉设计器中创建条形码

FastReport VCL允许您在报告中使用上述两种条形码类型。让我们看看如何与他们合作。 在FastReport VCL设计器中,将obCatBarcode组件添加到报告中,然后从列表中选择条形码类型:

obCatBarcode

接下来,转到条形码编辑器:

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

代码–条形码数值的区域;

条形码类型–条形码类型可以在编辑器中立即更改,而无需在报告中添加新组件;

Calc CheckSum –校验。所有线性条形码都具有此属性。还记得“错过阅读”吗?我们必须以某种方式与之抗争!此属性确定是否应自动计算校验和。如果禁用,则校验和必须出现在对象文本中;

缩放–设置条形码的缩放比例,仅与“自动调整大小”属性结合使用;

文字–启用/禁用条形码下的文字显示;

旋转–允许您将对象的旋转设置为固定角度之一– 0、90、180、270度。

单击F(x)图标并进入大表达式编辑器。 可以在FastReport VCL设计器或文档中找到更多详细信息。 链接1 和链接2 

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

转到obCatBarcode组件的属性。

Code字段的内容将传输到Expression字段。如果“表达式”字段为空,则显示“文本”字段中的文本。 简而言之,“文本”是静态文本,“表达式”包含计算得出的表达式,包括来自数据源的值。

可视化报告生成器FastReport VCL功能指南:如何使用Delphi / Lazarus创建CODE 39和CODE 39扩展条形码

从Delphi / Lazarus代码创建条形码

uses frxBarcod;
 
procedure TForm1.Button1Click(Sender: TObject);
var bc: TfrxBarcodeView;
begin
 bc :=
TfrxBarcodeView(frxReport1.FindObject('BarCode1'));
{Set the type of the barcode}
bc.BarType := bcCode39;
{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;

现在,我们可以在业务应用程序中使用CODE 39标准的条形码(不仅对数字进行编码,而且对字母字符进行编码),例如,以在标签上输出(例如,也采用ZPL格式)。 
Fastreport在线下单立享85折起!赶紧加入购物清单吧!

还想要更多吗?您可以点击阅读【FastReport 报表2020最新资源盘点】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询。

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2909.html

联系我们
  • 重庆总部 023-68661681
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
微信
QQ 电话
023-68661681
返回
顶部