首页 > 其他分享 >如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?

时间:2022-10-09 14:11:26浏览次数:85  
标签:Text Delphi bcQR FastReport want type VCL

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

近年来,二维码已经贯穿于我们日常生活。它们是一种二维条码,可以很容易地被数字设备读取,并以一系列像素的形式存储信息。它们已被广泛用于贸易、物流和生产领域。


如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表设计器

与简单的条形码不同,二维码支持水平和垂直读取,因此,它们可以存储更多的数据。二维码的易识别性和易用性决定了它们的受欢迎程度。使用 ​​FastReport VCL​​,您可以轻松地在报告中使用 QR 码。接下来我们一起来看看示例。

启动报告生成器设计器。从 "条形码对象 "工具的弹出菜单中选择 "QRCode "组件。

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_fastreport_02

添加到页面后,QRCode 将如下图所示:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表开发_03


双击它来打开二维条码编辑器。这也可以从上下文菜单中选择 "编辑 "项来完成:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_FastReport VCL_04

下方展示的是条形码编辑器:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表开发_05

接下来我们看看它的主要功能:

1. 在“常规”选项卡中,您可以更改条码的大小、添加签名或旋转条码。

2. 在“其他选项”选项卡上:

  • 如果 CodePage <> 0 - 使用 ECI 模式;
  • 您可以在 Encoding 属性中选择文本编码;
  • ErrorLevels属性确保了冗余度,以便正确读取有部分损坏的代码图像的数据。
  • QuietZone 检测二维码是否有白框。

3. 在表达式编辑器的“代码”行中,您可以:

  • 访问数据源字段;
  • 使用系统变量;
  • 使用各种功能

在“ExpressionPreset”对象属性中,您可以根据瑞士代码的规范选择生成收据的预设 :

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表生成器_06

您可以生成各种类型的二维码,因此您需要指定一个特定格式的字符串并在 Text 属性中进行设置。

我们可以通过条形码和数据的示例看看这些类型:

URI是统一资源标识符。它是一个字符串,用于标识各种文件、文档、图像、电子邮件、Web 服务等:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表设计器_07

电子邮件 地址 - 电子邮件地址:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表生成器_08

EmailMessage  – 电子邮件文本:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表开发_09

MATMSG:TO:[email protected];SUB:FastReport VCL 问题;BODY:你好,我有一个关于 FastReport VCL 的问题。

地理位置 ——真实地理位置的坐标:


如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表设计器_10

地理位置:-50.737563,-79.490016,120


短信 - 短信:


如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表开发_11

SMSTO:(71)555-4444:你好,多莉!我很好!


致电- 电话号码:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_FastReport VCL_12

Wi  -fi – 连接到 wi-fi 的信息:

如何使用 Delphi/Lazarus 代码在 FastReport VCL 中生成二维码?_报表生成器_13

接下来让我们从Delphi/Lazarus代码中创建一个二维码。

uses frxBarcode2D;
procedure TForm1.Button1Click(Sender: TObject);
var
bcQR: TfrxBarcode2DView;
begin
bcQR := TfrxBarcode2DView(frxReport1.FindObject('Barcode2D1'));
{ Set the barcode type }
bcQR.BarType := bcCodeQR;

{ Depending on the type you want to use, you need to }
{ leave one line that assigns the text of a certain format }

{ If you want to set url type: }
bcQR.Text := 'https://www.fast-report.com/en/';

{ If you want to set EmailAddress type: }
bcQR.Text := '[email protected]';

{ If you want to set EmailMessage type: }
bcQR.Text :=
'MATMSG:TO:[email protected];SUB:FastReport VCL question;BODY:Hello, I have a question about FastReport VCL.;';

{ If you want to set Geolocation type: }
bcQR.Text := 'geo:-50.737563,-79.490016,120';

{ If you want to set SMS type: }
bcQR.Text := 'SMSTO:(71) 555-4444:Hello, Dolly! I'' m fine ! ';

{ If you want to set Call type: }
bcQR.Text := 'tel:(71) 555-4444';

{ If you want to set Wi-Fi type: }
bcQR.Text := 'WIFI:T:WPA;S:Honeypot;P:youarewelcome;H:true;';
frxReport1.ShowReport();
end;

通过上文我们了解到如何在 FastReport VCL 中使用二维码。这个组件为在现代工作流程中使用这个报告生成器带来了更多可能性。

标签:Text,Delphi,bcQR,FastReport,want,type,VCL
From: https://blog.51cto.com/u_15821131/5740272

相关文章