vb点虐 指令集 vba指令集
用esc指令esc * m n1 n2 [d]k 打印一张图片,[dk]这个数据该怎么获取?vb点虐 的
这个应该是打印机命令格式,不同的打印机命令格式不尽相同,你可以找这一款打印机的命令说明看一看,一般光盘里有带的,或者到官网上下也可以。下面一些你可以先看看:
创新互联服务项目包括彭山网站建设、彭山网站制作、彭山网页制作以及彭山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,彭山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到彭山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
英文模式下的命令
代码 功能
CR 回车
ESC ! 设置打印方式
ESC % 选择或取消用户自定义字符集
ESC 定义用户自定义字符集
ESC * 设置位映射方式
ESC @ 初始化打印机
ESC ~ LED ON/OFF
ESC 返回行首
ESC 2 选择行间距为1/6英寸
ESC 3 设置行进为最小间距
ESC BEL 蜂鸣器ON/OFF
ESC C 设置单页长度
ESC c0 选择打印页
ESC c1 选择行间距
ESC c3 选择纸结束信号输出
ESC c4 选择打印纸及检测器(终止打印)
ESC c5 禁止/使能面板开关
ESC c6 禁止/使能ON-LINE开关
ESC d 打印及N行进纸
ESC D 设置TAB位置
ESC e 打印病退回N行
ESC f 设单页等待时间
ESC F 选择或取消单页退纸区
ESC i 全切割
ESC J 以最小间距进行打印和进纸
ESC K 以最小间距进行打印和退纸
ESC l 选择或取消倒过来的字符
ESC m 局部切割
ESC o 印章
ESC p 产生指定脉冲
ESC q 释放纸
ESC r 选择打印颜色
ESC R 选择国际字符子集
ESC SP 设置右边界
ESC t 选择字符码表
ESC U 选择或取消单向打印
ESC V 发送打印机状态
ESC z 设置或取消两页并行打印
FF 打印送出单页
HT 水平TAB
LF 换行
RS 流水TAB
中文模式下的命令
代码 功能
FS – n 设置中文字符下划线模式开关
FS ! n 选择中文字体
FS 选择中文字符模式
FS . 取消中文模式
EPSON打印控制指令集
打印命令 功能
格式: ASCII: 以标准ASCII字符序列表示
十进制: 以十进制数字序列表示
十六进制: 以十六进制数字序列表示
说明:该命令功能和使用说明。
HT 水平制表
格式: ASCII: HT
十进制: 09
十六进制: 09
说明:
打印位置进行到下一水平制表位置。
如果当前打印位置超过了最后一个水平制表位置,则HT命令不被执行。
水平制表位置由 ESC D命令设置。
LF 打印并换行
格式: ASCII: LF
十进制: 10
十六进制: 0A
说明:
打印存放在行编辑缓存中的一行数据并按当前设定的行距向前走纸一行。ESC2,ESC3指令可设定行距的长短。
如果行编辑缓存空,则只按当前设定的行距向前走纸一行。
CR 打印回车
格式: ASCII: CR
十进制: 13
十六进制: 0D
说明:
当打印在行编辑缓存中的一行数据之后,不进行走纸操作。
DLE EOT n 实时状态传送
格式: ASCII: DLE EOT n
十进制: 16 04 n
十六进制: 10 04
说明:
1 ≤ n ≤ 4
传送以实时的方式,n代表被选择的打印机状态,基于下列参数:
n = 1: 打印机状态
n = 2: 脱机状态
n = 3: 错误状态
n = 4: 纸检测器状态
返回的字节每位设置如下:
n = 1: 打印机状态
n = 2: 脱机状态
n = 3: 错误状态
n = 4: 纸检测器状态
DLE ENQ n 对打印机的实时请求
格式: ASCII: DLE ENQ n
十进制: 16 05 n
十六进制: 10 5
说明:
n = 0, n = 2
打印机对主机请求作出反应,n值定义如下:
n = 0: 恢复到联机状态
n = 2: 清除接收和打印缓冲区,并恢复错误.
ESC SP n 设置字符右间距
格式: ASCII: ESC SP n
十进制: 2732 n
十六进制: 1B20 n
说明:
以半点为设定单位(1/144英寸),设置字符右边间距为n个半点距。
默认值n=0。
ESC ! n 设置字符打印方式
格式: ASCII: ESC ! n
十进制: 2733 n
十六进制: 1B21 n
说明:
0≤n≤255
ESC ! n是综合性的字符打印方式设置命令,用于选择打印字符的大小和下划线。
打印参数n的每位定义为:
位 功能 值
0 1
0 字模选择 7×9 5×7
1 无定义
2 无定义
3 着重模式 取消 设定
4 倍 高 取消 设定
5 倍 宽 取消 设定
6 无定义
7 下划线 取消 设定
默认值n=0,
ESC % n 允许/禁止用户自定义字符
格式: ASCII: ESC % n
十进制: 2737 n
十六进制: 1B25 n
说明:
参数n为一个字节,只有最低位有效。
当n=<*******1>B时,选择用户自定义字符集;
当n=<*******0>B时,选择内部字符集。
0≤n≤255,默认值n=0。
ESC 设置用户自定义字符
格式: ASCII: ESC y n m x d1 d2……db
十进制: 27 38 y n m x d1 d2……db
十六进制: 1B 26 y n m x d1 d2……db
说明:
该命令用于自定义字符。各参数为:
y:字符的纵向字节数。这里取 y=1,2。
n:自定义字符集的起始ASCII码,n≥32。
m:自定义字符集的终止ASCII码,m≤127。自定义字符个数为m-n+1,最多可定义96个字符。
当只有一个自定义字符时,取m=n。
a:自定义字符的水平方向的点数。
d1 d2……db:自定义字符的数据。每个字符 y×x个字节,m-n+1个自定义字符共有:
(y×x)×(m-n+1)个字节。
每个自定义字符数据的格式:
d1 d3 … d(y×x)×(m-n+1)-1
d2 d4 … d(y×x)×(m-n+1)
样例如下:
发送的命令如下:
ESC y c1 c2 X p1 p2 p3 d4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14
Code 1B 26 02 20 20 07 1F 80 20 00 44 00 80 00 44 00 20 00 1F 80
ESC * 设置图形点阵
格式: ASCII: ESC * m n1 n2 D1,D2 … Dk
十进制: 27 42 m n1 n2 D1,D2 … Dk
十六进制: 1B 2A m n1 n2 D1,D2 … Dk
说明:
该命令用来设置点阵图形模式(m)和横向图形点阵。
m = 0,1: 表示打印密度。
0≤n1≤255,0≤n2≤1,0≤Dk≤255,k= n1+ n2×256。
n1,n2为两位十六进制数,n1这低字节,n2这高字节,k= n1+ n2×256,表示该命令下载的要打印图形的横向点数,该值应小于打印机的最大行宽打印点数。如果下送的点图数据超出一行的最大行宽打印点数时,超出的部分被忽略。
m 垂直方向点数 点密度 最大点数 图形打印模式
0 8 单密度 210 相邻点打印
1 8 双密度 420 相邻点不打印
Dk 定义为:
ESC -n 设置/取消下划线模式
格式: ASCII: ESC - n
十进制: 27 45 n
十六进制: 1B 2D n
说明:
n = 0, 1, 48, 49
n = 0 or 48,取消下划线模式。
n = 1 or 49, 设置下划线模式。
ESC 2 设定1/6英寸换行量
格式: ASCII: ESC 2
十进制: 2750
十六进制: 1B32
说明:
此指令将打印机的换行量设定为1/6英寸。
ESC 3 n 设定 n/144英寸换行量
格式: ASCII: ESC 3n
十进制: 2751 n
十六进制: 1B33 n
说明:
此指令将打印机的换行量设定为 n/144英寸。
n=1 - 255。
ESC 〈 打印头归位
格式: ASCII: ESC 〈
十进制: 2760
十六进制: 1B3C
说明:
执行该指令后,打针头会回到原位(home的位置)。
ESC =n 设备设置/取消
格式: ASCII: ESC = n
十进制: 27 61 n
十六进制: 1B 3D n
说明:
1 ≤n ≤3
默认 n = 1
位 功能 值
0 1
0 打印机选择 取消 设定
1 顾显选择 取消 设定
2 无定义
3 无定义
4 无定义
5 无定义
6 无定义
7 无定义
ESC ?n 取消用户自定义字符
格式: ASCII: ESC ? n
十进制: 27 63 n
十六进制: 1B 3F n
说明:
32 ≤n ≤126
ESC @ 初始化打印机
格式: ASCII: ESC @
十进制: 2764
十六进制: 1B40
说明:
该命令初始化打印机:使打印机恢复到最初的联机状态,清除以前留下的程序。
ESC D NULL 消除所有的水平制表位置
格式: ASCII: ESC D NULL
十进制: 27 68 0
十六进制: 1B44 0
说明:
ESC D NUL命令消除所有的水平制表位置,之后再执行的HT命令将无效。
命令(ASCII) 十六进制 功能说明
HT 9 打印位置进行到下一水平制表位置
LF 0a 打印行缓冲器里的内容,并向前走纸一行
CR 0D 打印回车
ESC SP 1B 20 n 设置字符右边的字间距为n个半点距(1/140英寸)
DLE EOT n 10 04 实时状态传送
DLE ENQ n 10 5 对打印机的实时请求
ESC SP n 1B 20 n 设置字符右间距
ESC ! n 1B 21 n 设置字符打印方式
ESC % n 1B 25 n 允许/禁止用户自定义字符
ESC 1B 26 设置用户自定义字符
ESC * 1B 2A 设置图形点阵
ESC - n 1B 2D n 设置/取消下划线模式
ESC 2 1B 32 设定1/6英寸换行量
ESC 3 n 1B 33 n 设定 n/144英寸换行量
ESC 〈 1B 3C 打印头归位
ESC = n 1B 3D n 设备设置/取消
ESC ? n 1B 3F n 取消用户自定义字符
ESC @ 1B 40 初始化打印机
ESC D NULL 1B 44 0 消除所有的水平制表位置
ESC E n 1B 45 0 设置/取消着重模式
ESC G n 1B 47 0 设置/取消重叠模式
ESC J n 1B 4A n 执行n/144英寸走纸
ESC K n 1B 4B n 打印并反向走纸
ESC R n 1B 52 n 选择国际字符集
ESC U n 1B 55 n 设置/取消单向打印
ESC a n 1B 61 n 选择对齐模式
ESC c 3 n 1B 63 33 n 输出纸尽传感器
ESC c 4 n 1B 63 34 n 设定缺纸时停止打印
ESC c 5 n 1B 63 35 n 允许/禁止走纸按键
ESC d n 1B 64 n 打印并进纸n字符行
ESC e n 1B 65 n 打印并反向进纸n字符行
ESC p 1B 70 产生钱箱驱动脉冲
ESC r n 1B 72 n 选择打印颜色
ESC t n 1B 73 n 选择字符集
ESC { n 1B 7B n 设置/取消倒向打印模式
FS ! 1B 75 n 汉字综合选择
FS & 1C 26 进入汉字打印方式
FS ~ S 1C 7E 53 n 选择汉字打印速度
FS · 1C 2E 退出汉字打印方式
FS 2 1C 32 用户自定义汉字
FS ? c1 c2 1C 3F c1 c2 取消用户自定义汉字
FS C n 1C 43 n 设定日文汉字编码系统
FS S n1 n2 1C 53 n1 n2 设定全角汉字字间距
FS W n 1C 57 n 设定/取消四倍角汉字模式
GS ( F pL pH a m nL nH 1D 28 设置黑标定位偏移量
GS In 1D 49 n 传送打印机ID
GS V 1D 56 m 走纸到切纸位置
1D 56 m n
GS a n 1D 61 n 设定/取消自动返回状态
GS r n 1D 72 n 状态传送
GS z 1D 7A 设置联机恢复等待时间
VB.NET命令窗口
Vb不是人机对话窗口,而是编程工具,可以编写代码进行调试执行或者生成可执行文件。
用Visual Studio .Net开发"Hello World!"程序:
我们知道"Hello World"一般是命令行程序,而这种程序在Visual Studio .Net中被称为"控制台程序"。下面是Visual Studio .Net编写控制台"Hello World!"程序的具体步骤:
(1)、启动Visual Studio .Net。
(2)、选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
(3)、将【项目类型】设置为【Visual Basic项目】。
(4)、将【模板】设置为【控制台应用程序】。
(5)、在【名称】文本框中输入【Hello World】。
(6)、在【位置】的文本框中输入【E:VS.NET项目】,然后单击【确定】按钮,则Visual Studio .Net会按照上面设定的参数创建一个控制台应用程序项目,具体如图01所示。
图01:"Hello World"控制台程序的【新建项目】界面
(7)、在【解决方案资源管理器】窗口中,双击Module1.vb文件,进入Module1.vb文件的编辑界面。
(8)、Visual Studio .Net已经为产生Main()函数。在系统创建的Main()函数中加入下面一行代码就可以了:
Console.WriteLine ("Hello World!")
(9)、选择【文件】|【保存Module1.vb】菜单或者按快捷键Ctrl+S,保存所做的修改。
(10)、此时单击快捷键Ctrl+F5运行程序就可以得到图02所示运行界面:
编译器为什么会生成汇编语言而不是机器语言?
1)其中有一个好处是方便优化,因为,编译器也是工具,也是机器,毕竟是机器生成的程序,不可以非常 完美的,而汇编是机器指令的助记符,一个汇编指令就对应一条机器指令(特殊指令除外)调试起来肯定会比 机器指令方便的方便,这样优化起来也方便。
2)高级语言只需要编译成汇编代码就可以了,汇编代码到机器码的转换是由硬件实现即可,有必要用软件实 现这样分层可以有效地减弱编译器编写的复杂性,提高了效率.就像网络通讯的实现需要分成很多层一样,主要 目的就是为了从人脑可分析的粒度来减弱复杂性.
3)如果把高级语言的源代码直接编译成机器码的话,那要做高级语言到机器码之间的映射,如果这样做的 话,每个写编译器的都必须熟练机器码。这个不是在做重复劳动么。
文章题目:vb点虐 指令集 vba指令集
标题来源:http://scyanting.com/article/ddigooo.html