如何在報表加入條型碼? delphi 6(100分)

  • 主题发起人 主题发起人 choipan
  • 开始时间 开始时间
C

choipan

Unregistered / Unconfirmed
GUEST, unregistred user!
如題! 想加在quick report中不知如何實現??
 
如果不用第三方控件,可以用画布画。
 
用画布來實現
 
要如何畫? 請詳細點好嗎??
謝謝一定給分
 
你的条形码是在数据库中存储的吗?是以什么格式存储的?
 
  
  画布是可以画矩形的,可使用Canvas.Rectangle(x1,y1,x2,y2),其填充颜色由
Canvas.Brush.Color来指定,边框颜色由Canvas.Pen.Color指定。
  条形码可以看做一系列宽度不一、颜色分黑白的矩形加上一系列数字组成。首先
将你的条形码转换成一个记录数组,定义为:
TBarCodeUnit=Record
TheColor:TColor;
TheWidth:Integer;
then
umber:Integer;
end;
TBarCodeArr=Array[1..n] of TBarCodeUnit;
//假设你的条形码有n个条纹,包括黑和白。
然后声明一个变量:
  ABarCode:TBarCodeArr;
用指定的算法,将条形码的每条的颜色(clWhite或clBlack)、宽度和数字依次填入ABarCode中。
在报表上,用循环画出
x0:=条形码初始横坐标;
for i:=1 to ndo
begin
Canvas.Pen.Color:=ABarCode.Color;
Canvas.Brush.Color:=ABarCode.Color;
Canvas.Rectangle(x0,y0,x0+ABarCode.TheWidth,y0+TheHeight);
Canvas.TextOut(IntToStr(ABarCode.then
umber),x0+a,y0+b);
x0:=x0+ABarCode.TheWidth;
end;
  其中,a和b用来修正数字与条纹之间的偏移,可通过实验确定;y0是初始纵坐标,
  根据需要确定,TheHeight是条形码的高度,根据需要自己确定。
  
 
snowboat : 請問你有例子嗎? 可以給我嗎??我很急..老板又急著要...我又是新手...
很多東西都不懂...謝謝你了或者你可以發到我的: choipan@icqmail.com
 
你的条形码数据是哪里来的?
 
还在用QR啊?早淘汰了
还是用FR或RM吧,完全支持条形码
 
snowboat : 是數據庫中的表的某一field. 是數字類的..
謝謝..
 
用ReportBuild或fastReport;wwww.51delphi.com上看看。
QuickReport做报表最次了,delphi7都改成rav的报表控件了
 
不行呀..因為之前的報表都是用quickreport 做的很多格式...又有很多數據庫的操作
要換到別種類很煩的...而且又赶著要交了..
 
不是有个很简单的方法,下载个条型码字体,你在报表里要打条形码的字段选那个字体
就行了,我以前在PB就是这么做的
 

Similar threads

回复
0
查看
815
不得闲
回复
0
查看
988
不得闲
D
回复
0
查看
925
DelphiTeacher的专栏
D
后退
顶部