分享
 
 
 

UNIX系统下部分控制代码介绍及其应用

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一、 锁\开键盘代码

代码定义:

锁键盘:ESC[2h

开键盘:ESC[2l

应用:

1.直接在键盘上顺序敲入Esc+[+2+h四键,键盘即被锁住。

2.在C语言程序显示字符串中包含锁代码:printf(″%c[2h字串″,'\033')。

3.在shell程序中用echo命令:echo″^[[2h字串″.注Esc键在vi编辑器中输入方法为:Ctrl+v,然后按一下Esc键,在屏幕上显示^[表示已输入。

同样显示开锁代码则键盘被解锁。

二、 删除字符代码

代码定义:

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请选择:[ ]^[[9C\c″,则先把光标定位到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;40H\c″

read acc

done

2.向储蓄所发通知(C语言):

#include<stdio.h>

main()

{

printf(″%c7%c[/2;4r″,'\033',\033');

printf(″%c[2;5H%c[2K紧急通知″,' \033','\033');

printf(″%c[3;5H%c[2K由于线路问题,今天不办新余市通存通兑业务“,'[033','\033');

printf(″%c[4;5H%c[2K中心机房1998.11.20%c8″,'\033','033','\033');

fflush(stdout);

sleep(10);

printf “%c[/11″,'\033');

fflush(stdout);

}

说明:该程序首先保存光标位置,同时保存2至4行内容 ,接着定位光标到2行5列,清除该行原先内容,然后显示“紧急通知”字样,通知显示完后立即恢复光标位置,然后等待10秒钟后恢复屏幕原先内容 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有