 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
perer
註冊時間: 2009-11-25 文章: 1
第 1 樓
|
發表於: 星期三 十一月 25, 2009 8:45 pm 文章主題: 请问怎么样实现POS打印机控制?(ESC/POS打印命令) |
|
|
以下程序在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(4 +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 x24)
on 01 1 压缩ASCII字体 (9 x17)
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)[/img] |
|
回頂端 |
|
 |
goodnight

註冊時間: 2008-10-13 文章: 473 來自: 台南市
第 2 樓
|
發表於: 星期四 十一月 26, 2009 12:35 am 文章主題: |
|
|
建議你先找賣你硬體的廠商問一下比較好 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|