以下程序在POS58小票打印机下可正常实现,但在POS88打印机不可
而这两款打印机的ESC/POS打印命令集是一样的,不知为何。
LOCAL this_DATA,this_lab,PDStr,this_lpt
&&初始化打印口LPT1--标签机
 this_lpt=FOPEN('LPT1',2)&&设置字体加宽加高
 &&用ESC/POS打印命令(ESC ! n)
 PDStr=CHR(27)+CHR(33)+CHR(40)
 this_DATA=FPUTS(this_lpt,PDStr)&&打印加宽加高文本
 PDStr="打印加宽加高文本"
 this_DATA=FPUTS(this_lpt,PDStr)&&设置回正常字体
 &&用ESC/POS打印命令(ESC ! n)
 PDStr=CHR(27)+CHR(33)+CHR(0)
 this_DATA=FPUTS(this_lpt,PDStr)&&打印正常文本
 PDStr="打印正常文本"
 this_DATA=FPUTS(this_lpt,PDStr)&&开启钱箱
 PDStr=CHR(27)+CHR(112)+CHR(48)+CHR(40)+CHR(200)
 this_DATA=FPUTS(this_lpt,PDStr)&&关闭端文件 
 this_DATA=FCLOSE(this_lpt)************************************************************************************************************************************************
 ESC/POS打印命令描述ESC ! n 
[名称] 选择打印模式
[格式] ASCII码 ESC ! n
十六进制码 1B 21 n
十进制码 27 33 n
[范围] 0 ≤ n ≤ 255

[描述] 根据n的值设置字符打印模式

on/off

十六进制码

十进制码

功能

0

off

00

0

标准ASCII字体 (12 ?24)


on

01

1

压缩ASCII字体 (9 ?17)

1

--

--

--

未定义

2

--

--

--

未定义

3

off

00

0

取消加粗模式


on

08

8

选择加粗模式

4

off

00

0

取消倍高模式


on

10

16

选择倍高模式

5

off

00

0

取消倍宽模式


on

20

32

选择倍宽模式

6

--

--

--

未定义

7

off

00

0

取消下划线模式


on

80

128

选择下划线模式

说明:其中的取值范围部分无特殊说明则为十进制数,例如下例中1 ≤ n ≤ 4,其中1为十进制数的1,而不是ASCII编码表中的“1”。

本人就是不明白,取值范围的“0 ≤ n ≤ 255”如果是十进制的话,怎么发送到打印文件端口.

如:设置---选择下划线模式,以下不知对不对.
PDStr=CHR(27)+CHR(33)+CHR(7)
 this_DATA=FPUTS(this_lpt,PDStr) 
加宽加高 CHR(27)+CHR(33)+CHR(48)
 加宽加高加粗 CHR(27)+CHR(33)+CHR(56)
 加宽加高加粗使用压缩ASCII字体 CHR(27)+CHR(33)+CHR(57)取消ESC S0 ”、“ ESC ! n ”设置  CHR(27)+CHR(20) ,CHR(27)+CHR(0)效果差不多
取值范围的“0 ≤ n ≤ 255”就是 CHR(0 ≤ n ≤ 255)


加宽加高 CHR(27)+CHR(33)+CHR(48)
加宽加高加粗 CHR(27)+CHR(33)+CHR(56)
加宽加高加粗使用压缩ASCII字体 CHR(27)+CHR(33)+CHR(57)

这个Chr(48),Chr(56),Chr(57)跟下表说明怎让关系上的,谢谢!


 

 



48=32+16
56=32+16+8
57=32+16+8+1
要某个效果就加

on/off

十六进制码

十进制码

功能

0

off

00

0

标准ASCII字体 (12 ?24)


on

01

1

压缩ASCII字体 (9 ?17)

1

--

--

--

未定义

2

--

--

--

未定义

3

off

00

0

取消加粗模式


on

08

8

选择加粗模式

4

off

00

0

取消倍高模式


on

10

16

选择倍高模式

5

off

00

0

取消倍宽模式


on

20

32

选择倍宽模式

6

--

--

--

未定义

7

off

00

0

取消下划线模式


on

80

128

选择下划线模式