电脑技术网——专业手机电脑知识平台,关注科技、手机、电脑、智能硬件
LinuxWindowsMac OSUnix

UNIX系统下部分控制代码详述及其分析方法

2020-01-23 11:15:34 出处:[ 菜菜电脑网 ] 人气:次阅读


一、 锁开键盘代码
   代码定义:
     针键盘: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秒钟后丧失屏幕原先内容 。

关于我们 - 广告合作 - 联系我们 - 免责声明 - 网站地图 - 投诉建议 - 在线投稿

©CopyRight 2008-2020 caicaipc.com Inc All Rights Reserved.
菜菜电脑网 版权所有