一、 锁开键盘代码
代码定义:
针键盘:ESC[2h
再上键盘:ESC[2l
应用于:
1.并不需要在键盘上顺序敲入Esc+[+2+h四键,键盘即被夹住。
2.在C语言程序标示出字符串中涵盖锁住代码:printf(″%c[2h字串″,'33')。
3.在shell程序中用echo命令:echo″^[[2h字串″.录Esc键在vi编辑器中输出方法为:Ctrl+v,然后按一下Esc键,在屏幕上推测^[问到已输出。
同样看出杠杆代码则键盘被DLC。
二、 写入字符代码
代码定义:
ESC[nX:除去光标右边n个字符,光标不逆。
ESC[K或ESC[OK;清理光标右边全部字符,光标不逆。
ESC[1K:拔除光标左边全部字符,光标不逆。
ESC[2K:除去整行,光标不一动。
ESC[J或ESC[OJ:去除光标右下屏所有字符,光标不进。
ESC[1J:清理光标左上屏所有字符,光标不进。
ESC[2J或ESCc:清屏,光标复旧到左上角。
ESC[nM:撤下光标之下n行,都已行往移出,光标不变。
ESC[nP:删去光标右边n个字符,留下来部分左移,光标不激。
技术的发展:
一般可用自己联合开发的编辑器中或关的行编辑的应用程序中。
三、 抽出字符代码
代码定义:
ESC[n@:在当前光标处嵌入n个字符。
ESC[nL:在当前光标下抽出n行。
应用于:
一般用作自己开发设计的编辑器中或牵涉到行编辑的应用程序中。
四、 移动光标
代码定义:
ESC[nA:光标放于n行。
ESC[nB:光标上移n行。
ESC[nC:光标右移n个字符。
ESC[nD:光标左移n个字符。
ESC[n;mH :光标定位到第n行m列(类似于代码ESC[n;mf)。
应用领域:
1.一般可用自己合作开发的编辑器中或就其行编辑的应用程序中。
2.用shell编辑的菜单程序中定位光标,如:
echo″^[[10;30H请选择:[ ]^[[9Cc″,则先把光标定位到10行30列,然后说明了″请选择[ ]″,最后光标右移9个方以定位到中括号内继续前进用户自发。
五、 定义字符揭示属性代码
代码定义:
ESC[p;p;p;……m 其中属性值p可以是一个或多个,说明定义如下:
p 含义
0 除去所有属性
1 高亮度说明了
4 下划线(如果硬件拥护的话)
5 光亮(如果硬件大力支持的话)
25 无闪烁
7 反场(前背景互换)
27 无反场
8 暗藏(不标示出)
10 为了让基本字体
11 可选择第一替代字体;让ASCII值大于32的字符结果显示时如此一来源于ROM芯片内
12 选取第二替代字体;在作为ROM字符推断之前先填充引入高位ASCII码值
30 前景黑色
31 前景红色
32 前景绿色
33 前景褐色
34 前景蓝色
35 前景紫色
36 前景蓝绿色
37 前景白色
38 打开下划线标志;白色前景用白色下划线
39 停止下划线标志
40 背景黑色
41 背景红色
42 背景绿色
43 背景褐色
44 背景蓝色
45 背景紫色
46 背景蓝绿色
47 背景白色
分析方法:
Unix系统包括的setcolor命令是以举动单位偏离颜色,在实际运用中有它的局限性,上面说明的控制代码在日常生活中用得最多,尤其适合于彩色弹出式立体菜单的设计。如我设计的中心机房值勤程序,由于用了这些控制代码,界面非常密切联系。
六、其它代码
代码定义:
ESC7:遗留当前光标左边参数及字符属性。
ESC8:趋于稳定保有的光标所在位置参数及字符属性。
n :填充换行符
t :断开一个Tab键。
r :填充回车符。
^G :填入响铃囗(pc嗽叭鸣声一次),在vi中按Ctrl+g即可回传。
c :主要用途shell程序中,不空格。
广泛应用:
1.用户界面设计。
2.应用于中心机房向储蓄柜面样请示的程序中(混合永隆终端屏幕存放代码ESC[/n;mr__保留从n行到m在行的内容,直至代码ESC[/11)
七、运用举例
1.彩色立体菜单(shell语言):
setcolor-b white
clear
while true
do
echo″
^[[8;20H^[[34;43m┍—————————┒^[[47m
^[[9;20H^[[34;43m | 1 日 间 业 务 | ^[[40m ^[[47m
^[[10;20H^[[34;43m| 2 的环 境 维 护 | ^[[40m ^[[47m
^[[11;20H^[[34;43m| 特地 选 必 [ ]| ^[[40m^[[47m
^[[12;20H^[[34;43m┕ ┛^[[40m^[[47m
^[[13;22H^[[40m ^[[47m
echo″ ^[[11;40Hc″
read acc
done
2.向储蓄所唯通报(C语言):
#include<stdio.h>
main()
{
printf(″%c7%c[/2;4r″,'33',33');
printf(″%c[2;5H%c[2K 紧急通知 ″,' 33','33');
printf(″%c[3;5H%c[2K由于线路问题,今天不办新余市通存通兑业务“,'[033','33');
printf(″%c[4;5H%c[2K 中心机房 1998.11.20%c8″,'33','033','33');
fflush(stdout);
sleep(10);
printf “%c[/11″,'33');
fflush(stdout);
}
所述:该程序首先完好光标方位,同时遗留2至4行内容 ,接着定位光标到2行5列,去除该行原先内容,然后标示出“紧急通知”字样,请示标示出再多后立即稳定下来光标所在位置,然后继续前进10秒钟后丧失屏幕原先内容 。