fastreport打印条形码的两个问题(200分)

  • 主题发起人 主题发起人 zlibo
  • 开始时间 开始时间
Z

zlibo

Unregistered / Unconfirmed
GUEST, unregistred user!
1、我的条形码长度是18位,有数字有字母,打出来的条形码很长,影响扫描的速度,如何控制条码的长度,就像书本后面印刷的条形码那样
2、我在一张A4纸上打印n张包括条形码的表格,表格的内容完全相同,如何控制表格的数目,比如一张纸打满可以打12张,而我只打印8张
 
1、应该可以通过直接改变条码控件的长与宽直接实现吧

2、有两种方法,一种是在报表设计时,直接添加对话框页面,在打印前提示需要的张份,然后通过设置虚拟记录数来实现。
另一种是创建一个表,然后在表中即设计好内容及记录数,把主项数据关联到这个表,就可以了
 
to levi:
1、果然可以控制,原来那个长度可以设成零点几的,100分是你的了
2、你说的这两种方法都有道理,但我个人比较喜欢第一种,能不能给个代码例子我参考一下,报表打印编程我不太懂
 
2、在主项数据的onbeforePrint事件里写判断函数
begin
if [line#] mod 8 =0 and [line#]<>1 then
newpage;
end;
 
留下邮件地址,把设计好的报表给你,用我讲的第一种方法实现的。
其实你自己也可以做,很简单的。
1、在添加页面时选择添加“对话框”,然后在上面放置一个Edit,两个Bubtton,其中一个设置模式为 mrok, Caption ='OK 另一个设置为 mrCancel, Caption = Cancel

2、双击 Ok按钮,写上 语句 a:=Edit1.Text; (注 A为变量名称,就是用来保存要打印几张条码的,Edit1是放置的tEdit的名称,注意如果重命名为名称,要相应更改)

3、新建一页正常的报表页,然后在里面放置一个Band 主项数据,在主项数据的band中放置条码内容。如果一行需要打印多个条码,还可以设置 Band的Columns属性。需要注意的是,FR是不能识别汉字名称的控件名称,经过汉化的FR,默认生成的控件名称是汉字的,如主项数据1,一定要改成全英文的名称,如 MasterDataBand1,

4、在报表页中,选中 OnBeforePrint事件,写上代码 MaserDataBand1.DataSource:=a;

试试吧,这样就可以了。
 
to levi:
我的e-mail:zlibo@163.com
谢谢
 
邮件已发给你了,请查收!
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部