FastReport 增加二维码支持(含源代码)

上传者: julyxday | 上传时间: 2023-05-05 09:10:37 | 文件大小: 281KB | 文件类型: RAR
{ 工作中遇到这样的需求,苦苦找不到相关的代码,找到一个还是收费的!:( 本着共享互惠的精神,本人简单实现了一个 FastReport 打印二维码的应用。 使用方法非常简单,将压缩包中的 frx2DBarcode 单元添加到引用即可在报表设计中看到 2D 条码对象,进行设计、打印。 目前仅实现了 QRCcode 的打印,抛砖引玉,相信增加 PDF417,DM 编码应该不会太难。 如果对源代码做了改进和修改欢迎 EMAIL 给我一份,学习一下! 邮件: JulyXDay@QQ.COM 谢谢支持! } {******************************************} { } { FastReport v4.0 } { 2DBarcode object } { } { Copyright (c) 2012 } { by LiKejian } { QQ 39839655 } { } {******************************************} unit frx2DBarcode; interface {$I frx.inc} uses Windows, Messages, SysUtils, Classes, Graphics, frxClass {$IFDEF Delphi6} , Variants {$ENDIF}; type TfrxBarcode2DObject = class(TComponent); // fake component TfrxBarcode2DView = class(TfrxView) private FEccLevel: SmallInt; FModule: SmallInt; FVersion: SmallInt; FText: String; FExpression: String; public constructor Create(AOwner: TComponent); override; procedure Draw(Canvas: TCanvas; ScaleX, ScaleY, OffsetX, OffsetY: Extended); override; class function GetDescription: String; override; procedure GetData; override; published property Version: SmallInt read FVersion write FVersion default 0; property EccLevel: SmallInt read FEccLevel write FEccLevel default 0; property Module: SmallInt read FModule write FModule default 0; property DataField; property DataSet; property DataSetName; property Expression: String read FExpression write FExpression; property Frame; property Text: String read FText write FText; end; implementation uses frx2DBarcodeRTTI, frxDsgnIntf, frxRes, frxUtils, uQRCode; constructor TfrxBarcode2DView.Create(AOwner: TComponent); begin inherited; end; class function TfrxBarcode2DView.GetDescription: String; begin Result := '2D 条形码对象'; end; procedure TfrxBarcode2DView.Draw(Canvas: TCanvas; ScaleX, ScaleY, OffsetX, OffsetY: Extended); const sFileName = 'QRCode.bmp'; var oBmp: TBitmap; begin BeginDraw(Canvas, ScaleX, ScaleY, OffsetX, OffsetY); //Create 2D Barcode CreateQRCode(FText, FVersion, FEccLevel, FModule); if FileExists(sFileName) then begin oBmp := TBitmap.Create; oBmp.LoadFromFile(sFileName); frxDrawGraphic(Canvas, Rect(FX, FY, FX1, FY1), oBmp, IsPrinting, False, False, 0); FreeAndNil(oBmp); end; DrawFrame; end; procedure TfrxBarcode2DView.GetData; begin inherited; if IsDataField then FText := VarToStr(DataSet.Value[DataField]) else if FExpression <> '' then FText := VarToStr(Report.Calc(FExpression)); end; initialization frxObjects.RegisterObject1(TfrxBarcode2DView, nil, '', '', 0, 23); finalization frxObjects.UnRegister(TfrxBarcode2DView); end.

文件下载

资源详情

[{"title":"( 5 个子文件 281KB ) FastReport 增加二维码支持(含源代码)","children":[{"title":"uQRCode.pas <span style='color:#111;'> 5.70KB </span>","children":null,"spread":false},{"title":"PtImageRW.dll <span style='color:#111;'> 668.00KB </span>","children":null,"spread":false},{"title":"frx2DBarcode.pas <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"frx2DBarcodeRTTI.pas <span style='color:#111;'> 1.10KB </span>","children":null,"spread":false},{"title":"PtQREncode.dll <span style='color:#111;'> 44.00KB </span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明