摘要:本文就简单使用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)