GP470寺冈新标签打印程序配置文件参考手册.docx
《GP470寺冈新标签打印程序配置文件参考手册.docx》由会员分享,可在线阅读,更多相关《GP470寺冈新标签打印程序配置文件参考手册.docx(15页珍藏版)》请在冰豆网上搜索。
GP470寺冈新标签打印程序配置文件参考手册
GP470
寺冈新标签打印程序
配置文件参考手册
注:
本文中的打印机默认指示为GP470打印机
一.安装
只需双击安装程序文件,根据提示即可完成安装。
*注意:
此程序所使用的操作系统为Windows2000/XP/2003。
除此之外的系统本程序可能无法运行。
二.运行
通过开始菜单或双击安装目标文件夹下的可执行文件“寺冈新标签打印程序XX”即可。
(一)选择标签类型
程序主界面让用户选择所打印的标签类型。
图1
(二)输入查询条件数据,找出数据库中的数据
输入查询条件的数据,按“提交”从数据库中查找数据。
图2
(三)打印标签
确保与程序对应的标签已经正确地安放上打印机之后,按“打印”按钮完成操作。
三.配置环境说明
此程序完全可以手动修正配置文件来完成基本的标签打印需求。
可以使用文本编辑软件如“记事本”来更改。
*注:
如果使用此程序来打印标签的话,您不需要手动设置打印机中的大部分参数。
但有两项重要的打印机参数需要您通过手动设置,它们是打印浓度和标签检测敏度。
*注:
配置文件的扩展名为ini。
文件中以“;”或“//”打头的都为注释行。
注释行的概念就是解释说明配置文件中某项内容的涵义。
您可以写上一些易懂的文字让查看者理解该配置项的意义。
如下:
;该项内容用于打印机。
//该项内容用于数据库。
*注:
配置文件中还有两个概念需要理解,就是块和项。
以中括号括起来的文字表明为块。
以XXXXX=YYYYYY表示为项(XXXXX项的值为YYYYYY)。
如下:
[Database]
connstring="DSN=BEIJINGHUALIAN"
这两行解释为Database块中有一项connstring的值为DSN=BEIJINGHUALIAN。
必须要记住的是一个配置文件中的块都是不可重复的。
一个块中的项也是不可重复的。
必须牢记于心。
程序有两个配置文件分别gp470.ini和label.ini。
下面专门针对这两个文件进行说明。
(一)gp470.ini
此文件用于配置整个程序的全局性功能。
如访问数据库的用户名和密码,本地打印机的端口或网络打印机的地址等。
1[Database]
2connstring="Provider=MSDASQL.1;Password=storep;UserID=ops$storep;DataSource=store78"
3
4[Comm]
5;0:
Port;1:
Name
6PortOrName=0
7Port=LPT1
8;Port=\\192.9.100.55\UP4608200dpi
9
10[InitValue]
11Grade=合格
12Pricer=XXXX
(段1)
第2行中,可以修改三项重要的内容,它们是数据库用户名,密码,数据源。
如果懂数据库,这三项内容很容易修改。
根据第5行的注释来看第6行配置是0的话则使用本地打印机。
这时,使用第7行的LPT1并行口来打印。
是1时表明连接的打印机是网络打印机。
当您需要使用网络打印机打印标签时,只要将上面第6-8行修改为如下:
6PortOrName=1
7;Port=LPT1
8Port=\\192.9.100.55\UP4608200dpi
(段2)
看出不同了吗?
很容易,就是将PortOrName改为1,在第7行前加上注释符号让其无效,去掉第8行前面的注释符号使其生效。
再修改目标打印机的IP地址即可。
*注:
如果使用网络打印机方式的话,则目标打印机必须安装gp470打印机驱动,您可以在附送光盘中找到,另外该打印机必须设置为共享打印机,网络应当畅通。
“UP4608200dpi”为网络打印机的共享名,如果您不曾修改过打印机名的话,就不必理会了。
第11-12行只是设置程序的全局性数值。
在本文之后会有说明。
(二)label.ini
本程序的大部分配置都是在此配置文件中修正。
下面解释一下流程:
搜索类似以下的文本段:
1[LabelInfo]
2LabelCount=12
3Label1="绿色标准价签(南京)",Label1
4Label2="红色特价价签(南京)",Label2
5Label3="蓝色标准小价签(南京)",Label16
6Label4="红色特价小价签(南京)",Label18
7Label5="收货号(无条码)",Label8
8Label6="店内码(有条码)",Label9
9Label7="NightRun绿色价签(南京)",Label10
10Label8="NightRun红色价签(南京)",Label11
11Label9="NightRun蓝色小价签(南京)",Label17
12Label10="NightRun红色特价小价签(南京)",Label19
13Label11="联营价签",Label20
14label12="联营小价签",label21
(段3)
程序的起始地就是LabelInfo块。
第二行说明程序将配置12种标签。
从第三行起列举了这些标签。
您所看到的引号括起的中文字将显示在程序的主界面中。
见图1。
在逗号之后的类似“,Label1”表明这张标签将使用Label1块的配置。
您可以搜索整个文件中的[Label1],将会看到类似以下的文本段:
1[Label1]
2DB=DB4
3Field=Field1
4;用户界面设定
5UserInterface=UserInterface1
6LabelSize=110,40
7LabelGap=0
8;1:
黑标;2:
横切
9LabelType=1
10;停止位置调整
11StopPosition=35
12LabelPaperMargin=0,0,0,0
13;1:
正向;2:
反向
14PrintDirection=1
15
16PrintItemCount=12
17PrintItem1=Label1_PrintItem1
18PrintItem2=Label1_PrintItem2
19PrintItem3=Label1_PrintItem3
20PrintItem4=Label1_PrintItem4
21PrintItem5=Label1_PrintItem5
22PrintItem6=Label1_PrintItem6
23PrintItem7=Label1_PrintItem7
24PrintItem8=Label1_PrintItem8
25PrintItem9=Label1_PrintItem9
26PrintItem10=Label1_PrintItem10
27PrintItem11=Label1_PrintItem11
28PrintItem12=Label1_PrintItem12
(段4)
段4中第2行表示该标签所使用的数据库查询语句配置块为[DB4]。
如果搜索这个块,您会看到以下的文本段:
[DB4]
SqlLang="SELECT…WHERE规格>=@*1*@and规格<=@*2*@"
(段5)
通过一条SQL语句,通过查询条件,当用户在标签打印界面中按下提交时,将在数据库中搜索出一个二维表格,它将被毫不修改地添加到标签打印界面的列表中去。
*注:
@*1*@表示标签打印界面中的第一个输入框中用户输入的值。
@*2*@表示界面中的第二个输入框中用户输入的值。
比如当用户在第一个输入框中输入111111,在第二个中输入222222。
那么这个语句将被换成”Select…WHERE规格>=111111and规格<=222222”,然后系统执行该语句搜索出数据。
段4中第3行表示该标签所使用的程序的标签打印界面上表格中的列描述配置块为[Field1]。
接着您搜索该块,如下:
1[Field1]
2FieldCount=11
3FieldName1=品名
4FieldName2=产地
5FieldName3=货号
6FieldName4=价格
7FieldName5=条码
8FieldName6=条码长度
9FieldName7=单位
10FieldName8=供应商
11FieldName9=组号
12FieldName10=小组号
13FieldName11=商品类型
14FieldWidth1=3300
15FieldWidth2=0
16FieldWidth3=1300
17FieldWidth4=0
18FieldWidth5=0
19FieldWidth6=0
20FieldWidth7=0
21FieldWidth8=0
22FieldWidth9=0
23FieldWidth10=0
24FieldWidth11=0
(段6)
段6中第二行说明该标签的标签打印界面中列表的列数有11列。
这11列的列文字从第3-13行列举。
从第14-24行列举这11列的列显示宽度,为0时表示该列被隐藏。
这11列的顺序和内容应当匹配先前段5中sql语句的列项,这样在程序界面中显示的数据才能完全无错。
段4中第5行表示该标签所使用的程序的标签打印界面上的其它界面配置的配置块为[UserInterface1]。
如下:
1[UserInterface1]
2;可以选择范围来搜索吗?
0:
行;1:
不行
3SingleSearch=0
4;界面上搜索前是否清除先前的数据?
0:
清除;1:
不清除
5KeepBeforeSearch=0
(段7)
在段7中第3行表明为搜索条件是否是范围搜索,0为范围,1为非范围。
当非范围搜索时界面上第二个输入框将隐藏。
在段7中第5行表明当用户按了提交按钮搜索数据之前是否要清除先前搜索的数据,此功能主要用于累计单个搜索数据。
段4中第6行表示该标签的尺寸为长110mm,宽40mm。
段4中第7行表示该标签的标签间隔为0mm。
段4中第9行说明该标签的标签类型是黑标的还是模切的。
1为黑标,2为模切。
段4中第11行表示该标签的停止位置调整是35*8=280。
此值(280)对应于打印机参数中的停止位置调整,当然您不用也不需要去手动设置打印机参数。
这一项值主要是为了防止连续打印多张标签时打偏,或者是打印后微送出下一张纸方便您手动撕下前一张纸。
段4中第12行表示该标签的文字的左右上下边距,尽量不要去更改。
段4中第14行表明该标签的打印方向。
根据您具体如何送纸来设置,1为正向,2为反向。
段4中第16行表示在该标签上打印多少项文字或条码。
根据这里的值,表示打印12项。
段4中从第17行开始列举了这12项的块位置。
如[Label1_PrintItem1]。
您可以在本文件中搜索到此块。
如下:
1[Label1_PrintItem1]
2;1:
文字;2:
条码
3ItemPrintType=1
4ItemPosition=18,1
5ItemFontSize=6,7
6ItemCharGap=0.5
7ItemExpression=@*1*@
(段8)
段8中:
第3行表示该打印项的类型,1表示打印文字,2表示打印条码。
第4行表示该打印项所打印的位置,即在纵坐标为18mm,横坐标为1mm的地方为该打印项的位置。
第5行表示该打印项字体的大小尺寸,即字体宽为6mm,高为7mm。
第6行表示该项字体的字间距为0.5mm。
第7行表示该打印项的表达式。
您可以输入任何固定的文字,如:
北京华联。
在这里,您看到的是@*1*@,它表示在标签打印界面中的列表中的所有的第一列数值。
即如果当前行该列为“华联”的话,那么打印时将在纵坐标为18横坐标为1的位置上打印一个字体宽为6mm高为7mm的“华联”。
如果需打印如“华联:
“后面再加上第一列的文本时,可以让该项等于“华联:
@*1*@”,可以任意组合。
再来看另一实例:
1[Label1_PrintItem3]
2;1:
文字;2:
条码
3ItemPrintType=1
4ItemPosition=30,16
5ItemFontSize=3,3
6ItemCharGap=2
7ItemExpression=@*Grade()*@
(段9)
在段9中:
第7行表示的是什么呢?
它是一个程序的内部函数。
凡是以@*和*@为边界的都是程序的内部函数。
这里的函数的值其实就是GP470.ini文件中的“Grade=合格”即“合格”。
所以这个打印项块的含义就是在纵坐标为30mm,横坐标为16mm的位置上打印一个字体高为3mm宽为3mm,字间距为2mm的“合格”。
继续另一个实例:
1[Label1_PrintItem6]
2;1:
文字;2:
条码
3ItemPrintType=1
4ItemPosition=8,32
5ItemFontSize=3,3
6ItemCharGap=1
7ItemExpression=@*Pricer()*@
(段10)
在段10中:
第7行意义为何?
它也是个程序的内部函数。
它的值就是gp470.ini文件中的“Pricer=XXXX”中的“XXXX”。
该打印项意义为:
在纵坐标为8mm,横坐标为32mm的位置上打印一个字体高为3mm,宽为3mm,字间距为1mm的“XXXX”。
再看下一个:
1[Label1_PrintItem7]
2;1:
文字;2:
条码
3ItemPrintType=1
4ItemPosition=58,11
5ItemFontSize=4,12
6ItemCharGap=0.2
7ItemExpression=@*Format(@*TransPrice(@*4*@)*@,0.00)*@
8ItemFontFace=TimesNewRoman
9itemFontWeight=900
(段11)
在段11中:
第7行中,看上去很复杂。
其实这是一个嵌套的函数。
什么是嵌套的函数呢?
就是指函数中的参数使用的值是另一个函数的值。
很难理解是吗?
下面分开解释:
先看@*4*@,它表示取的值是程序界面中的第4列中的值,这里其实它是个价格。
假设它的值为8.1即八块一角,那么程序将用8.1来替换掉@*4*@,即成了@*Format(@*TransPrice(8.1)*@,0.00)*@,然后程序取@*TransPrice(8.1)*@,在这里,不需要知道内部函数TransPrice做些什么事,它将等于8.1,即整个一句变成了@*Format(8.1,0.00)*@。
之后程序内部函数Format将8.1变成了文本串8.10。
所以整个句子变成了8.10,就是说在该位置上打印的文本为了8.10。
整个流程请看下面:
@*Format(@*TransPrice(@*4*@)*@,0.00)*@=>
@*4*@=8.1=>
TransPrice(8.1)=8.1=>
Format(8.1,0.00)=8.10
第8行中,表示的含义为该文字打印所使用的字体,您可以打开Word等编辑软件,看看自己的电脑支持哪些字体。
第9行中,表示的是该字体的厚度。
就是指是不是粗体,还是细体。
它的值从下面的值中选择:
100,200,300,400,500,600,700,800,900。
其中100最细,900最粗。
*注:
如果没有第8行和第9行的话,程序将默认使用黑体作为打印的字体。
当存在这两行时,请务必注意请将该项字体的ItemFontSize中的宽改为原来的一半,不必理解为什么这么做,只需要知道因为在这种打印配置条件下,一个中文字占两个字母的宽,所以宽度要缩小一半。
最后一个实例:
1[Label1_PrintItem12]
2;1:
文字;2:
条码
3ItemPrintType=2
4ItemPosition=53,24
5;条码高度
6BarHeight=4
7;条码文字位置-0:
不显示;1:
下方;2:
上方
8BarTextPos=1
9ItemExpression=@*5*@
(段12)
在段12中:
第3行表示打印的是条形码。
第4行同样表示打印的位置。
第6行表示该条形码的高度为4mm。
第8行表示该条码文字的位置,0为不打印,1为下方,2为上方。
第9行表示同样为该打印项的打印内容为界面列表中的第5列,其实就是条码内容。
现假设第5列条码值是12345678,该项表明在纵坐标为53mm,横坐标为24mm的位置上打印一个高度是4mm,条码文字位予下方的条码12345678。
四.修正举例
(一)添加打印项
1.修改该标签配置块中的PrintItemCount项,将其值加一,然后加一项如下:
PrintItemCount=13
PrintItem1=Label1_PrintItem1
PrintItem2=Label1_PrintItem2
PrintItem3=Label1_PrintItem3
PrintItem4=Label1_PrintItem4
PrintItem5=Label1_PrintItem5
PrintItem6=Label1_PrintItem6
PrintItem7=Label1_PrintItem7
PrintItem8=Label1_PrintItem8
PrintItem9=Label1_PrintItem9
PrintItem10=Label1_PrintItem10
PrintItem11=Label1_PrintItem11
PrintItem12=Label1_PrintItem12
PrintItem13=Label1_PrintItem13
红色字体为新增的项。
2.添加打印项配置块Label1_PrintItem13到Label1_PrintItem12块后
[Label1_PrintItem12]
;1:
文字;2:
条码
ItemPrintType=2
ItemPosition=53,24
;条码高度
BarHeight=4
;条码文字位置-0:
不显示;1:
下方;2:
上方
BarTextPos=1
ItemExpression=@*5*@
[Label1_PrintItem13]
;1:
文字;2:
条码
ItemPrintType=1
ItemPosition=30,20
ItemFontSize=3,4
ItemCharGap=0.5
ItemExpression=<新增加的打印项>
其中新增加的打印项以@*...*@为多。
例如@*3*@表示打印界面列表中的第三列。
当然也可以是固定文本串如“北京华联”。
也可以是组合如“北京华联:
@*3*@“
*注:
配置文件中不要再有同样的[Label1_Printer13]块项出现。
在该文档开头已经重点说明了这一点。
(二)删除打印项
1.将需要删除的打印项去除。
PrintItemCount=11
PrintItem1=Label1_PrintItem1
PrintItem2=Label1_PrintItem2
PrintItem3=Label1_PrintItem3
PrintItem4=Label1_PrintItem4
PrintItem5=Label1_PrintItem5
PrintItem5=Label1_PrintItem12//PrintItem?
中的?
必须连续,否则程序报错无法运行
PrintItem6=Label1_PrintItem6
PrintItem7=Label1_PrintItem7
PrintItem8=Label1_PrintItem8
PrintItem9=Label1_PrintItem9
PrintItem10=Label1_PrintItem10
PrintItem11=Label1_PrintItem11
2.删除相应的打印块项
[Label1_PrintItem5]
;1:
文字;2:
条码
ItemPrintType=1
ItemPosition=41,28
ItemFontSize=3,3
ItemCharGap=4
ItemExpression=@*7*@
另一种简单的方法就是:
[Label1_PrintItem5]
;1:
文字;2:
条码
ItemPrintType=1
ItemPosition=41,28
ItemFontSize=3,3
ItemCharGap=4
ItemExpression=@*7*@
即将@*7*@从文件中删除。
(三)将搜索方式改成非范围搜索方式
1.去除SqlLang中的@*2*@条件
[DB4]
SqlLang="SELECT…WHERE规格>=@*1*@and规格<=@*2*@规格=@*1*@"
2.将SingleSearch改为1,KeepBeforeSearch改为1。
[UserInterface1]
;可以选择范围来搜索吗?
0:
行;1:
不行
SingleSearch=1
;界面上搜索前是否清除先前的数据?
0:
清除;1:
不清除
KeepBeforeSearch=1
(四)如果需要再改成范围搜索方式,则可以反过来操作。
1.添加SqlLang中的@*2*@条件
[DB4]
SqlLang="SELECT…WHERE规格=@*1*@规格between@*1*@and@*2*@"
2.将SingleSearch改为0,KeepBeforeSearch改为0。
[UserInterface1]
;可以选择范围来搜索吗?
0:
行;1:
不行
SingleSearch=0
;界面上搜索前是否清除先前的数据?
0:
清除;1:
不清除
KeepBeforeSearch=0
至此,整个Label.ini配置文件的内容基本上已经全部解释了。
如有需要,请参考附录。
附录A.GP470.INI
[Comm]打印机配置块
Port 本地打印机时为端口号(如LPT1)
网络打印机时为打印机地址(如\\192.9.100.55\UP4608200dpi)
PortOrName 0:
本地打印机;1:
网络打印机
[Database] 数据库配置块
connstring 数据库连接字符串
[InitValue]程序使用的全局性变量块
Grade 等级
Price 物价员
附录B.Label.ini
[DB?
]?
从1开始,数据库相关的配置块。
包括SQL语句等信息。
connstring连接字符串,缺省情况下为gp470.ini中的connstring值。
SqlLangSql语句。
语句中需要包括的重要信息为@*1*@,@*2*@。
含义为在标签打印界面中的两个用户输入框。
[Field?
]?
从1开始,标签打印界面中的列表描述信息
FieldCount 列表的列项总数
FieldName?
?
从1开始,该列表项的描述信息
FieldWidt