基于Delphi的条码打印系统设计与实现
2008-7-15 18:03:26
摘 要 介绍了如何在Delphi开发环境下实现条码打印,并结合示例详细介绍了条码打印系统的 设计思路及主要技术实现代码。
引言
随着社会的不断发展,条形码技术以其可靠性高、输入速度快、采集信息量大、灵活使用等优点为各行业带来了良好的经济效益和管理效益。如今条码仓库管理不只适用于商业商品库存的管理,同样适用于工厂产品和原料库存管理,通过仓库管理(盘存)电子化的实现,使产品、原料信息资源得到充分利用。条码打印系统是整个条码仓库管理系统中一个重要组成部分,准确的条码打印是正确盘点出库、入库及库存数据信息的前提和基础。本文以为北京XX厂仓库设计的条码打印系统为例,重点介绍了条码打印系统的设计思路和实现代码,希望为日后类似系统开发有借鉴意义。
条码打印系统设计思路
1、制定条码编制规则
北京XX厂仓库担负全厂零部件、电子元器件的存储和管理任务,经过对仓库结构和所存放物品的分析,条码的码制采用EAN128条码,EAN128条码是由国际物品编码协会(EAN lnternational)和美国统一代码委员会(UCC)联合开发、共同采用的一种特定的条码符号。它是一种连续型、非定长有含义的高密度代码,能够代表整个ASCII字符集,用以表示生产日期、批号、数量、规格、保质期、收货地等更多的信息。
图1 条码打印系统——条码形成界面
2、条码格式实现
根据制定的条码规则来手工录入产品零部件数据信息形成条码。条码格式形成窗体如图1所示。
3、运行环境
本系统将以Microsoft Windows 98 简体中文版和Microsoft Windows 2000为基本的开发平台,使用SQL SERVER2000数据库管理系统。
条码打印系统主要技术实现
条码打印系统的关键在于如何将条码信息准确的传送到条码打印机中打印,这些信息主要包括:查询数据库信息、打印标签设置、原打印标签提取等。
(1)变量设置(条码标签设置),条码打印设置见图2。
Print_Outport:string; //输出连接口
Print_Tf:textfile; //存盘时INI声明
Print_Height:string; //标签高度
Print_Refx:string; //X参考坐标
Print_Port:integer; //连接口
……
图2 条码打印系统——条码打印设置界面
(2)打开输出端口,将输出地址指向连接的通讯端口。
Procedure print_open_port;
Var
C:comm;
Begin
If port=0 then outport:=’com1’;
If port=1 then outport:=’com2’;
C:=comm.create(print);
//先使用232组件,将输出端口打开
c.commname:=outport;
c.startcomm;
c.stopcomm;
end;
(3)存储标签机变量,将当前所用到的变量值存入INI文件中。
Procedure print_write_ini;
Begin
If fileexists(filepath)=true then
Begin
File_rewrit(filepath);
If formexists(‘frclever’)=true then change_variable;
Ini_save_str(filepath Print_,’ed_height’,Print_height);
……
(4)测试(打印)条形码。
procedure tprint.BARCODEClick(Sender:TObject);
var
str:string;
begin
open_port;
str:=’^xa’+#13#10;
str:=str+’^ll’+width+#13#10;
str:=str+’^lho,10’+ #13#10;
str:=str+’^fo’refx+','+refy +'^bcn,'+bcheight+',y,n,n,a^fd' +barcode.text+
'^fs'+#13#10;
Str:=str+ '^xz';
If formexists('print' )=true then
begin
print.memo.Lines.Clear;
print.memo.Lines.Add( str );
end;
comport_outln(outport,str );
end;
结语
Delphi是一个强大的开发语言工具,通过对其编程细节的把握,对条码打印机系统的理解,可以利用Delphi中barcodectrl条码控件与数据信息相连接,将形成的条码信息通过端口传输到条码打印机打印,该条码打印系统已成功地应用于北京XX厂库存管理系统分系统近1年时间,应用表明,系统运行稳定、可靠,操作方便。