1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Value Performance Support,动态链接库,DLL,的使用,1,动态链接库的概念,2,动态链接库的优点,3,DLL,指令,4,Visual Basic 5.0,6.0,下,TSC,函式库的应用,5,FoxPro,下,TSC,函式库的应用,6,Delphi,下,TSC,函式库的应用,请在使用TSCLIB.DLL之前,安装打印机驱动,1,动态链接库的
2、概念,动态链接库(,Dynamic Link Library,,缩写为,DLL,)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是,dll,,也有可能是,drv,、,sys,和,fon,,它和可执行文件(,exe,)非常类似,区别在于,DLL,中虽然包含了可执行代码却不能单独执行,而应由,Windows,应用程序直接或间接调用。,动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在,Windows,的管理下,才在应用程序与相
3、应的,DLL,之间建立链接关系。当要执行所调用,DLL,中的函数时,根据链接产生的重定位信息,,Windows,才转去执行,DLL,中相应的函数代码。,2,动态链接库的优点,1.,共享代码、资源和数据 使用,DLL,的主要目的就是为了共享代码,,DLL,的代码可以被所有的,Windows,应用程序共享。,2.,隐藏实现的细节,DLL,中的例程可以被应用程序访问,而应用程序并不知道这些例程的细节。,3.,拓展开发工具如,Delphi,的功能由于,DLL,是与语言无关的,因此可以创建一个,DLL,,被,C+,、,VB,或任何支持动态链接库的语言调用。这样如果一种语言存在不足,就可以通过访问另一种语
4、言创建的,DLL,来弥补。,说明,:,指定计算机端的输出端口,参数:,a,:单机打印时,请指定打印机驱动程序名称,,例如,:TSC TTP/TDP-243(E),若连接打印机服务器,请指定服务器路径及共享,打印机,名称,,例如,:,SERVERTTP243,3,DLL,指令,3.1,openport(a),3.2,closeport(),说明,:,关闭指定的计算机端输出端口,参数,:,无,3.3,Setup(a,b,c,d,e,f,g),说明,:,设定卷标的宽度、高度、打印速度、打印浓度、感应器类别、,gap/black,mark,垂直间距、,gap/black mark,偏移距离,),参数,
5、a:,字符串型别,设定卷标宽度,单位,mm,b:,字符串型别,设定卷标高度,单位,mm,c:,字符串型别,设定打印速度,,(,打印速度随机型不同而有不同的选项,),1.0:,每秒,1.0,吋打印速度,1.5:,每秒,1.5,吋打印速度,2.0:,每秒,2.0,吋打印速度,3.0:,每秒,3.0,吋打印速度,4.0:,每秒,4.0,吋打印速度,5.0:,每秒,5.0,吋打印速度,6.0:,每秒,6.0,吋打印速度,d:,字符串型别,设定打印浓度,,015,,数字愈大打印结果愈黑,e:,字符串型别,设定使用感应器类别,0,表示使用垂直间距传感器,(gap sensor),1,表示使用黑标传感器,
6、black mark sensor),f:,字符串型别,设定,gap/black mark,垂直间距高度,单位,:mm,g:,字符串型别,设定,gap/black mark,偏移距离,单位,:mm,,此参数若,使用一般卷标时均设为,0,3.4,clearbuffer(),说明,:,清除,参数,:,无,3.5,barcode(a,b,c,d,e,f,g,h,I),(,1,),说明,:,使用条形码机内建条形码打印,参数,:a:,字符串型别,条形码,X,方向起始点,以点,(point),表示。,(200 DPI,,,1,点,=1/8 mm,300 DPI,,,1,点,=1/12 mm),b:,字符
7、串型别,条形码,Y,方向起始点,以点,(point),表示。,(200 DPI,,,1,点,=1/8 mm,300 DPI,,,1,点,=1/12 mm),c:,字符串型别,,128 Code 128,switching code subset A,B,C,automatically,128M Code 128,switching code subset A,B,C,manually.,EAN128 Code 128,switching code subset A,B,C,automatically,25 Interleaved 2 of 5 25C Interleaved 2 of 5 wi
8、th check digits 39 Code 39 39C Code 39 with check digits 93 Code 93,EAN13 EAN 13,EAN13+2 EAN 13 with 2 digits add-on,EAN13+5 EAN 13 with 5 digits add-on,EAN8 EAN 8,EAN8+2 EAN 8 with 2 digits add-on,EAN8+5 EAN 8 with 5 digits add-on,CODA Codabar,POST PostnetUPCA UPC-A,UPCA+2 UPC-A with 2 digits add-o
9、UPCA+5 UPC-A with 5 digits add-on,UPCE UPC-E,UPCE+2 UPC-E with 2 digits add-on,UPCE+5 UPC-E with 5 digits add-on,3.5,barcode(a,b,c,d,e,f,g,h,I),(,2,),d:,字符串型别,设定条形码高度,高度以点来表示,e:,字符串型别,设定是否打印条形码码文,0:,不打印码文,1:,打印码文,f:,字符串型别,设定条形码旋转角度,0:,旋转,0,度,90:,旋转,90,度,180:,旋转,180,度,270:,旋转,270,度,g:,字符串型别,设定条形码宽窄,
10、bar,比例因子,请参考,TSPL,使用手册,h:,字符串型别,设定条形码宽窄,bar,比例因子,请参考,TSPL,使用手册,I:,字符串型别,条形码内容,3.5,barcode(a,b,c,d,e,f,g,h,I),(,3,),3.6,printerfont(a,b,c,d,e,f,g),说明,:,使用条形码机内建文字打印,参数,:,a:,字符串型别,文字,X,方向起始点,以点,(point),表示。,(200 DPI,,,1,点,=1/8 mm,300 DPI,,,1,点,=1/12 mm),b:,字符串型别,文字,Y,方向起始点,以点,(point),表示。,(200 DPI,,,1,点
11、1/8 mm,300 DPI,,,1,点,=1/12 mm),c:,字符串型别,内建字型名称,共,12,种。,1:8*/12,2:12*20 dots 3:16*24 dots 4:24*32 dots 5:32*48 dots,TST24.BF2:,繁体中文,24*,24,TST16.BF2:,繁体中文,16*,16,TTT24.BF2:,繁体中文,24*,24,(,电信码,),TSS24.BF2:,简体中文,24*,24,TSS16.BF2:,简体中文,16*,16,K:,韩文,24*,24,L:,韩文,16*,16,d:,字符串型别,设定文字旋转角度,0:,旋转,0,度,90:,旋转
12、90,度,180:,旋转,180,度,270:,旋转,270,度,e:,字符串型别,设定文字,X,方向放大倍率,,18 f:,字符串型别,设定文字,Y,方向放大倍率,,18,g:,字串型別,列印文字內容,3.7,sendcommand(command),说明,:,送内建指令到条形码打印机,参数,:,详细指令请参考,TSPL,3.8,printlabel(a,b),说明,:,打印卷标内容,参数,:a:,字符串型别,设定打印卷标式数,(set),b:,字符串型别,设定打印卷标份数,(copy),3.9,downloadpcx(a,b),说明,:,下载单色,PCX,格式图文件至打印机,参数,:a:
13、字符串型别,文件名,(,可包含路径,),b:,字符串型别,下载至打印机内存内之文件,名,(,请使用大写档名,),3.10,formfeed(),说明,:,跳页,该函式需在,setup,后使用,参数,:,无,3.11,nobackfeed(),说明,:,设定纸张不回吐,参数,:,无,3.12,windowsfont(a,b,c,d,e,f,g,h),说明,:,使用,Windows TTF,字型打印文字,参数,:,a:,整数型别,文字,X,方向起始点,以点,(point),表示。,b:,整数型别,文字,Y,方向起始点,以点,(point),表示。,c:,整数型别,字体高度,以点,(point),
14、表示。,d:,整数型别,旋转角度,逆时钟方向旋转,0-0 degree 90-90 degree,180-180 degree 270-270 degree,e:,整数型别,字体外形,0-,标准,(Normal)1-,斜体,(Italic),2-,粗体,(Bold)3-,粗斜体,(Bold and Italic),f:,整数型别,底线,0-,无底线,1-,加底线,g:,字符串型别,字体名称。,如,:Arial,Times new Roman,细名体,标楷体,h:,字符串型别,打印文字内容。,3.13,about(),说明,:,显示,DLL,版本号码,参数,:,无,4.1,引言,4,Visual
15、 Basic 5.0,6.0,下,TSC,函式库的应用,Visual Basic(,简称,VB),是一种可视化的面向对象的编程语言,深受广大,Windows,程序员的喜爱。但和任何其它语言一样,,VB,并不能满足所有的编程需要,例如没有提供读写硬件端口、控制中断等硬件控制函数。而在一些工业控制场合,往往需要对硬件板卡进行读写操作,如果控制软件是采用,VB,编写的,就很有必要对其进行功能扩充,使其具有操作硬件的能力。因此,,VB,可以通过声明和执行,DLL,函数调用新硬件设备的,DLL,设备驱动函数。,Private,Declare,Sub,openport Lib,c:windowssyste
16、mtsclib.dll,(,ByVal PrinterName As String,),动态库的路径,定义参数类型,函数,释放,用,Visual Basic,的,Declare,语句声明要使用的,DLL,过程或数;,执行,DLL,子程序。,例如:,私有,声明,4.2,VB,调用,DLL,函数的步骤,4.3,VB,下的动态库函数声明(,1,),Private Declare Sub,openport,Lib,c:windowssystemtsclib.dll,(,ByVal,PrinterName,As String),Private Declare Sub closeport Lib,c:wi
17、ndowssystemtsclib.dll,(),Private Declare Sub,sendcommand,Lib,c:windowssystemtsclib.dll,(_,ByVal,command As String),Private Declare Sub setup Lib,c:windowssystemtsclib.dll,(_,ByVal,LabelWidth,As String,_,ByVal,LabelHeight,As String,_,ByVal,Speed As String,_,ByVal,Density As String,_,ByVal,Sensor As S
18、tring,_,ByVal,Vertical As String,_,ByVal,Offset As String),Private Declare Sub,downloadpcx,Lib,c:windowssystemtsclib.dll,(_,ByVal,Filename As String,_,ByVal,ImageName,As String),Private Declare Sub barcode Lib c:windowssystemtsclib.dll(ByVal X As String,_,ByVal Y As String,_,ByVal CodeType As String
19、ByVal Height As String,_,ByVal Readable As String,_,ByVal rotation As String,_,ByVal Narrow As String,_,ByVal Wide As String,_,ByVal Code As String),Private Declare Sub printerfont Lib c:windowssystemtsclib.dll(ByVal X As String,_,ByVal Y As String,_,ByVal FontName As String,_,ByVal rotation As S
20、tring,_,ByVal Xmul As String,_,ByVal Ymul As String,_,ByVal Content As String),4.3,VB,下的动态库函数声明(,2,),4.3,VB,下的动态库函数声明(,3,),Private Declare Sub clearbuffer Lib,c:windowssystemtsclib.dll,(),Private Declare Sub,printlabel,Lib,c:windowssystemtsclib.dll,(_,ByVal,NumberOfSet,As String,_,ByVal,NumberOfCopy
21、As String),Private Declare Sub,formfeed,Lib,c:windowssystemtsclib.dll,(),Private Declare Sub,nobackfeed,Lib,c:windowssystemtsclib.dll,(),Private Declare Sub,windowsfont,Lib,c:windowssystemtsclib.dll,(_,ByVal,X As Integer,_,ByVal,Y As Integer,_,ByVal,fontheight,As Integer,_,ByVal,rotation As Integer
22、ByVal,fontstyle,As Integer,_,ByVal,fontunderline,As Integer,_,ByVal,FaceName,As String,_,ByVal,TextContent,As String),4.4,指令具体使用,5,FoxPro,下,TSC,函式库的应用,5.1,引言,FoxPro,是基于,WINDOWS,操作系统下的一种数据库编写软件。现在比较盛行的是可视化的,Visual FoxPro,,也简称,FoxPro,。,由于它能够运行在更廉价的、旧的硬件上,运行遗留下来的代码,而且仍然能够执行现代的编程语言希望实现的事务,它仍然是那些叛逆的组织
23、小型的资源有限的办公室、独立软件开发者以及很多政府和政府运转机构的选择。,5.2,FoxPro,范例(,1,),declare,openport,in,c:windowssystemtsclib.dll,string,declare closeport in,c:windowssystemtsclib.dll,declare,sendcommand,in,c:windowssystemtsclib.dll,declare setup in,c:windowssystemtsclib.dll,string,string,string,string,string,string,string,de
24、clare,downloadpcx,in,c:windowssystemtsclib.dll,string,string,declare barcode in,c:windowssystemtsclib.dll,string,string,string,string,string,string,string,string,string,declare,printerfont,in,c:windowssystemtsclib.dll,string,string,string,string,string,string,string,declare clearbuffer in,c:windowss
25、ystemtsclib.dll,declare,printlabel,in,c:windowssystemtsclib.dll,string,string,declare,formfeed,in,c:windowssystemtsclib.dll,declare,nobackfeed,in,c:windowssystemtsclib.dll,declare,windowsfont,in,c:windowssystemtsclib.dll,integer,integer,integer,integer,integer,integer,integer,string,string,openport(
26、TSC,TTP-243 Plus”)setup(32,25,2,10,0,0,0)clearbuffer()barcode(10,0,EAN13,80,1,0,2,4,123456789012)windowsfont(10,100,50,0,0,0,标楷体,标楷体字型,)printlabel(1,1)closeport(),5.2,FoxPro,范例(,2,),8.6.1,引言,6,Delphi,下,TSC,函式库的应用,Delphi,是著名的,Borland(,现在已和,Inprise,合并,),公司开发的可视化软件开发工具。,Delphi,是一门真正的面向对象的开发工具,并且是完全的可视
27、化。,Delphi,使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。,Delphi,具有强大的数据库开发能力,可以让你轻松地开发数据库。,6.2,Delphi,范例(,1,),procedure,openport(PrinterName:pchar);stdcall;far,;external,tsclib.dll,;,procedure closeport;external,tsclib.dll,;,procedure,sendcommand(Command:pchar);stdcall;far;external,tsclib.dll,;,procedure,setup
28、LabelWidth,LabelHeight,Speed,Density,Sensor,Vertical,Offset:pchar);tsdcall,;far;external,tsclib.dll,;,procedure,downloadpcx(Filename,ImageName:pchar);stdcall;far,;,external,tsclib.dll,;,procedure,barcode(X,Y,CodeType,Height,Readable,Rotation,Narrow,Wide,Code:,pchar,);,stdcall,;far;external,tsclib.d
29、ll,;,procedure,printerfont(X,Y,FontName,Rotation,Xmul,Ymul,Content:pchar,);,stdcall;far,;external,tsclib.dll,;,procedure clearbuffer;external,tsclib.dll,;,procedure,printlabel(NumberOfSet,NumberOfCopoy:pchar);stdcall,;far;,external,tsclib.dll,;,6.2,Delphi,范例(,2,),procedure,formfeed;external,tsclib.d
30、ll,;,procedure,nobackfeed,;external,tsclib.dll,procedure,windowsfont,(X,Y,FontHeight,Rotation,FontStyle,FontUnderline,:integer;,FaceName,TextContect:pchar);stdcall;far;external,tsclib.dll,;,procedure TForm1.M_cancelClick(Sender:,TObject,);,begin,openport(TSC,TTP-246M);,Setup(110,63,3,10,0,0,0);,SendCommand(GAP,2 mm,0);,ClearBuffer,();,SendCommand(BOX,15,15,810,510,5);,WindowsFont(50,150,40,0,0,0,Arial,LOT:);,Barcode(50,200,39,50,0,0,2,4,123456);,WindowsFont(490,150,40,0,0,0,宋体,TSC,条形码打印机,);,Barcode(520,200,39,50,0,0,2,4,123456);,printlabel(1,1);,closeport;,end;,






