捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号-1 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
FastReport 增加二维码支持(含源代码)
关键字:二维码 FastReport QRCODE
来 自:原创
平 台:Win2K/2003/NT/XP 下载所需:0 火柴
深浅度:中级 完成时间:2012/8/4
发布者:ahlkj (奖励50火柴) 发布时间:2012/8/27
编辑器:Delphi7 语  种:简体中文
分 类:数据库 下载浏览:2709/57131
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
{
工作中遇到这样的需求,苦苦找不到相关的代码,找到一个还是收费的!:(
本着共享互惠的精神,本人简单实现了一个 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.
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论73条
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号-1 更新RSS列表