FastReport如何打印二维条形码?

lxycsdn 2009-09-09 09:15:35
FastReport如何打印二维条形码?
...全文
293 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhxjtoa 2009-09-15
  • 打赏
  • 举报
回复
学习
火龙岛主 2009-09-09
  • 打赏
  • 举报
回复
1.更改FastReport源码
找到frxBarcod.pas
TfrxBarcodeType =
(
bcCode_2_5_interleaved,
bcCode_2_5_industrial,
bcCode_2_5_matrix,
bcCode39,
bcCode39Extended,
bcCode128A,
bcCode128B,
bcCode128C,
bcCode93,
bcCode93Extended,
bcCodeMSI,
bcCodePostNet,
bcCodeCodabar,
bcCodeEAN8,
bcCodeEAN13,
bcCodeUPC_A,
bcCodeUPC_E0,
bcCodeUPC_E1,
bcCodeUPC_Supp2, { UPC 2 digit supplemental }
bcCodeUPC_Supp5, { UPC 5 digit supplemental }
bcCodeEAN128A,
bcCodeEAN128B,
bcCodeEAN128C,
这里添加二维条形码的名称
);

增加一个类似
function Code_Supp2: AnsiString;的函数
在procedure DrawBarcode(Canvas: TCanvas; ARect: TRect; ShowText: Boolean);里增加对二维条形码的算法。
bcCodeUPC_E1: // 7 digits, 6+1
begin
TextOutR(3, 3, 44, Copy(FText, 1, 6));
TextOutR(BarWidth + 1, BarWidth + 1, BarWidth + 8, Copy(FText, 7, 1));
end;
else
begin
TxtWidth := TextWidth(String(FText));
TextOutR((BarWidth - TxtWidth) div 2, 0, BarWidth, FText);
end;
//在这里添加算法来画
end;

其他的再调整一下就好了!
重新编译FastReport!


另外一种就是动态建立,然后采用图形赋值的方法!

try__again 2009-09-09
  • 打赏
  • 举报
回复
barcode我用过一维的,通过设置应该可以达到二维的
dinoalex 2009-09-09
  • 打赏
  • 举报
回复
barCode控件,通过它可以实现条形码的打印。

barCode如果想使用程序中某个变量作为条码值,那么首先设置barCode的值为变量。例如:barCodeValue。给这个变量赋值的方式同 给meotext中的变量赋值一样。

frVariables['barcode'] := somevalue;

在使用条形码的时候,需要引入FR_BarC 单元。
dinoalex 2009-09-09
  • 打赏
  • 举报
回复
http://www.winu.cn/space-14160-do-blog-id-9754.html

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧