FastReport 如何动态创建Barcode控件,并对条形码的属性进行设置

fang_ding 2011-03-11 04:59:24
在FastReport中,是双击frxReport控件,再用里面的barcode控件来进行条形码的设置,这样可以说是静态的生成条形码并可以对条码的是属性进行设置。
但现在需要动态的创建Barcode控件,并对条形码可以进行动态设置。如:在一个窗口中的edit中分别设置条形码的类型,条形码的值,条形码的长与宽等一些属性,点击打印即可以得到所设置属性的条形码。

这里我之前写的动态创建barcode的部分代码是:
var
ShowBarcode:TfrBarcodeView;
begin
ShowBarcode:=TfrBarcodeView.Create ;
.
.
end;
但是运行提示的错误时undeclared identifier:'TfrBarcodeView'。
...全文
2020 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fang_ding 2011-03-21
  • 打赏
  • 举报
回复
结贴 散分!~
fang_ding 2011-03-14
  • 打赏
  • 举报
回复
last_wolf1860
你的方法是条码的属性是从FastReport的Page1中建立的Dialog的edit中设置的,
那如何让条码的属性的属性是通过主窗体Form中的edit中获取呢?
last_wolf1860 2011-03-14
  • 打赏
  • 举报
回复
下载链接:http://download.csdn.net/source/3091723
fang_ding 2011-03-14
  • 打赏
  • 举报
回复
一种样式打印所以的
last_wolf1860 2011-03-14
  • 打赏
  • 举报
回复
你还没讲是一种样式打印所有的条码还是一个条码一种样式?
fang_ding 2011-03-14
  • 打赏
  • 举报
回复
条码的各种属性都可以通过对话框进行设置,也包括条码样式
fang_ding 2011-03-14
  • 打赏
  • 举报
回复
没问题
last_wolf1860 2011-03-14
  • 打赏
  • 举报
回复
等我把ArcEngine10装完了,我写个Demo你去下载罢。(要下载分哦:)
last_wolf1860 2011-03-14
  • 打赏
  • 举报
回复
楼主要打的条码是一种样式打所有的,还是一个条码一种样式?
fang_ding 2011-03-14
  • 打赏
  • 举报
回复
我接触delphi不久,不太懂,能像上面一样写些代码及一些说明吗?谢谢!
last_wolf1860 2011-03-14
  • 打赏
  • 举报
回复
变量传递,在FastReport中创建自义变量test,在OnGetValue中赋值
if varName = 'test' then
Value = ...
我个人做法,喜欢用一个Variant类型的数组(不需要考虑数据类型),使用VarArrayCreate后,赋值,打印前传入FastReport.
再根据规则,设置动态打印的BarCode属性,这么说能听懂吗?
spooy 2011-03-12
  • 打赏
  • 举报
回复
'TfrBarcodeView' 这个窗体的单元包含进来了没有?
last_wolf1860 2011-03-12
  • 打赏
  • 举报
回复
忘了说明了,我用的FastReport版本是4.10,DelphiXE测试通过
last_wolf1860 2011-03-12
  • 打赏
  • 举报
回复
1.动态创建条形码,需要在FastReport中写脚本,我写的脚本附在后面。
2.需要定义条形码点击事件,以便用户点出设置条形码的属性
3.定义进行条形码设置的对话窗,把需要设置的属性定义在对话窗中。

具体步骤:FastReport中右击Page1(页面1)->New Dialog,在其中加入需要设置属性的编辑框,工具栏里基本都有。将DialogPage1的Visible属性设置为False,否则预览即显示对话。
在Page1的OnBeforePrint事件中,添加代码->动态创建BarCode

procedure Page1OnBeforePrint(Sender: TfrxComponent);
var barCode:TFrxBarCodeView;
begin
tt:=false;
barCode:= TFrxBarCodeView.Create(Page1);
barCode.width:=200;
BarCode.Height:=60;
BarCode.Parent:=Page1;
barCOde.Left:=18;
BarCode.Top:=12;
barCode.OnPreviewCLick:= 'BarCodeClick';
end;

procedure BarCodeClick(Sender: TfrxView; Button: TMouseButton;
Shift: Integer; var Modified: Boolean);
begin
DialogPage1.ShowModal;
with dialogpage1 do
begin
if ModalResult = mrOK then
begin
//showmessage(edit1.Text+#13+edit2.Text+#13+Edit3.Text);
//此处加入条形码属性修改代码
end;
end;
end;
lw19860412 2011-03-12
  • 打赏
  • 举报
回复
你真牛逼,
fang_ding 2011-03-12
  • 打赏
  • 举报
回复
但是运行提示的错误时undeclared identifier:'TfrBarcodeView'。这个问题解决了,原因是写错了,少了个字母,正确的是TfrxBarcodeView。
这里还有个问题是如何动态创建多个Barcode,并且可以对barcode的条码类型BarType用代码进行设置,而不是点击Barcode进入后进行设置。
fang_ding 2011-03-11
  • 打赏
  • 举报
回复
等待。。。。
kye_jufei 2011-03-11
  • 打赏
  • 举报
回复

var
ShowBarcode:TfrxBarCodeObject;

5,392

社区成员

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

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