改变自己
我可以改变世界 改变自己

摘要:本文就简单使用Delphi调用BarTender之ActiveX组件打印条码的开发过程做介绍.

1. 前言

最近一个项目需要在扫描条码后按固定的格式打印。条码打印软件客户习惯使用的是BarTender,为了保持客户的习惯以及降低开发风险,决定使用Delphi调用BarTender来完成打印条码标签功能。

此功能的重点在于:

a) 使用BarTender格式打印

b) 格式中有需要变动的部分

2. 设计标签

a) 新建一个空白标签

b) 在画面上加入一个条形码控件,一个文本控件

c) 选中条形码控件,双击(或右键,属性),打开属性窗口;点击“高级”,选择“共享/名称”页,在共享名称中输入条形码控件的名字“BarCode1”;点击确定完成修改。这个步骤来定义在Delphi中(或其它语言VB等)访问的对象名。

d) 同样的步骤,给文本控件设置名称为“Text1”

e) 保存为“c:\test.btw”

3. 导入ActiveX组件

a) 打开Delphi(版本5.0及以上,其它没有测试)

b) 选择菜单“项目”-->“导入类型库”(ProjectàImport Type Library)

c) 在弹出的窗口中,列出可导入的类型库;找到“BarTender 7.75”,选中

d) 将要导入的类名称会列在class names中,由于这里的类名称会与系统已存在类名称有重复,将这个全部复制出来,将类型名称前面都加上Bt。如:TFormat修改为TBtFormat.

e) 类名称修改完成后,点击”安装”(Install)

f) 系统会安装组件到ActiveX控件页上

4. 调用BarTender打印

a) 新建应用程序

b) 在窗体上拖一个TBtApplication控件(ActiveX页上),命名为btApp1

c) 在窗体上放一个TButton控件,命名为btn1,双击btn1产生事件

d) 填写事件代码如下:

procedure TForm1.btn1Click(Sender: TObject);
begin
with btApp1.Formats.Open('c:\test.btw', True, '') do
//打开标签文件
begin
SetNamedSubStringValue('BarCode1', '1234567890'); //设置值
SetNamedSubStringValue('Text1', 'Hello BarTender!');
PrintOut(False, False); //打印
Close(btDoNotSaveChanges); //关闭不保存
end;
btApp1.Quit(btDoNotSaveChanges); //退出end;

e) 现在应该可以工作了是吗?...更多信息,请看引入的类型库源码(BarTender_TLB.pas)

posted on 2010-01-05 20:14  dashan  阅读(2721)  评论(0编辑  收藏  举报