ANSI.SYS程序的使用方法

ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。那么,它该如何使用呢?下面就来介绍一下。

注意:在本节中,语法和 ANSI 转义序列中的大写字母必须按原样键入。

ANSI.SYS 定义了一系列函数,这些函数被用来改变显示图形、控制光标移动和键的重定义,ANSI.SYS 设备驱动程序支持转义序列的 ANSI 终端仿真,以便控制系统的屏幕和键盘。

该设备驱动程序必须由位于 CONFIG.SYS 文件中的DEVICE或DEVICEHIGH命令加载。

语法

DEVICE(HIGH)=[ 驱动器 :][ 路径 ]ANSI.SYS [/X] [/K] [/R]

参数

[ 驱动器 :][ 路径 ]

指定 ANSI.SYS 文件的位置。

选项

/X

重新映射 101 键键盘以外的扩展键。

/K

使 ANSI.SYS 文件将 101 键键盘当作 84 键键盘看待,这等价于命令 SWITCHES=/K。如果您通常使用 SWITCHES=/K命令,那么在使用ANSI.SYS 时,则需要使用选项 /K。

/R

当 ANSI.SYS 与屏幕阅读程序(该程序使残疾人更易于使用计算机)一起使用时,此选项用来调整行的滚动,以便提高可读性。

在 ANSI 转义序列中使用的参数:

数字参数,用来指定一个十进制数。

可选参数。指定一个十进制数,用于选择函数。您可以指定多个函数,必须用分号 (;) 将参数隔开。

PL

行参数。指定一个十进制数,它代表显示器或其它设备上的一行。

Pc

列参数。指定一个十进制数,它代表屏幕或其它设备上的一列。

ANSI 转义序列中关于光标移动、图形和键盘的设置:

在下面的 ANSI 转义序列的列表中,缩写 ESC 代表 ASCII转义字符 27(1Bh),它位于每个转义序列的开始。

ESC[PL;PcH

光标位置:移动光标到指定的位置(坐标),如果不指定位置,光标将移动到起始位置,即屏幕的左上角(0 行,0 列)。

该转义序列与下面的光标位置转义序列的工作方式相同。

ESC[PL;Pcf

光标位置:与前面光标位置转义序列的工作方式相同。

ESC[PnA

上移光标:不改变列而将光标向上移动指定的行数。如果光标已在首行,则 ANSI.SYS 忽略这个序列。

ESC[PnB

下移光标:不改变列而将光标向下移动指定的行数。如果光标已经在最后一行,则 ANSI.SYS 忽略这个序列。

ESC[PnC

右移光标:不改变行而将光标向右移动指定的列数。如果光标已经在最右列,则 ANSI.SYS 忽略这个序列。

ESC[PnD

左移光标:不改变行而将光标向左移动指定的列数。如果光标已经在最左列,则 ANSI.SYS 忽略这个序列。

ESC[s

保存光标位置:保存当前光标位置。使用“恢复光标位置”序列,您可以将光标移动到保存的光标位置。

ESC[u

恢复光标位置:将光标位置返回到“保存光标位置”所储存的位置。

ESC[2J

清除显示:清除屏幕并将光标位置移到起始位置(0 行,0 列)。

ESC[K

清除行:清除从光标所在位置到行尾的所有字符( 包括光标位置上的字符)。

ESC[Ps;...;Psm

设置图形模式:调用由下列数值指定的图形函数,在该序列再次出现之前,这些被指定的函数保持激活状态。图形模式改变屏幕上显示的颜色和文本(例如:黑体和下划线字体)属性。

文本属性

值功能

------------------------------------

0 无属性

1 黑体

4 下划线字体(仅适用于单色显示适配器)

5 闪烁字体

7 反显字体

8 隐藏字体

前景色

值功能

------------------------------------

30 黑色

31 红色

32 绿色

33 黄色

34 蓝色

35 紫红色

36 青色

37 白色

背景色

值功能

------------------------------------

40 黑色

41 红色

42 绿色

43 黄色

44 蓝色

45 紫红色

46 青色

47 白色

参数 30 到 47 符合 ISO 6429 标准。

ESC[=psh

设置模式:改变屏幕宽度或类型,使之成为下列数值所指定的一种。

0 40 x 148 x 25 单色(文本)

1 40 x 148 x 25 彩色(文本)

2 80 x 148 x 25 单色(文本)

3 80 x 148 x 25 彩色(文本)

4 320 x 148 x 200 4 色(图形)

5 320 x 148 x 200 单色(图形)

6 640 x 148 x 200 单色(图形)

7 启用换行功能

13 320 x 148 x 200 彩色(图形)

14 640 x 148 x 200 彩色(16 色图形)

15 640 x 148 x 350 单色(2 色图形)

16 640 x 148 x 350 彩色(16 色图形)

17 640 x 148 x 480 单色(2 色图形)

18 640 x 148 x 480 彩色(16 色图形)

19 320 x 148 x 200 彩色(256 色图形)

ESC[=Psl

重新设置模式:使用“设置模式”序列所用的同一值来重新设置模式,但是 7 除外,使用 7 将使换行功能失效。

注意:该转义序列中的最后一个字符是个小写 L。

ESC[code;string;...p

设置键盘字符串:将键盘键重新定义为指定的字符串。该转义序列的参数定义如下:

“code”是列于下表的一个或多个数值,这些数值代表键盘键和键的组合。当在命令中使用这些数值时,除了该序列要求的分号外,您还必须键入该表中显示的分号。括号中的代码在一些键盘上不存在,除非选项 /X 在 ANSI.SYS 的DEVICE 命令中被指定,否则,ANSI.SYS 将不为这些键盘翻译括号中的代码。

“string”对于单个字符是 ASCII 代码,或者是包含在引号中的串。例如:65 和“A”都被用来代表大写字母 A。

要点:下表中的一些值并不是对于所有的计算机都有效,对于那些不同的数值,请检查您的计算机文档。

键代码 SHIFT+ 代码 CTRL+ 代码 ALT+ 代码

------------------------------------------------------------------

F1  0;59   0;84        0;94       0;104

F2  0;60   0;85        0;95       0;105

F3  0;61   0;86        0;96       0;106

F4  0;62   0;87        0;97       0;107

F5  0;63   0;88        0;98       0;108

F6  0;64   0;89        0;99       0;109

F7  0;65   0;90        0;100      0;110

F8  0;66   0;91        0;101      0;111

F9  0;67   0;92        0;102      0;112

F10 0;68   0;93        0;103      0;113

F11 0;133  0;135       0;137      0;139

F12 0;134  0;136       0;138      0;140

A   97     65          1          0;30

B   98     66          2          0;48

C   99     66          3          0;46

D   100    68          4          0;32

E   101    69          5          0;18

F   102    70          6          0;33

G   103    71          7          0;34

H   104    72          8          0;35

I   105    73          9          0;23

J   106    74          10         0;36

K   107    75          11         0;37

L   108    76          12         0;38

M   109    77          13         0;50

N   110    78          14         0;49

O   111    79          15         0;24

P   112    80          16         0;25

Q   113    81          17         0;16

R   114    82          18         0;19

S   115    83          19         0;31

T   116    84          20         0;20

U   117    85          21         0;22

V   118    86          22         0;47

W   119    87          23         0;17

X   120    88          24         0;45

Y   121    89          25         0;21

Z   122    90          26         0;44

1   49     33          --         0;120

2   50     64          0          0;121

3   51     35          --         0;122

4   52     36          --         0;123

5   53     37          --         0;124

6   54     94          30         0;125

7   55     38          --         0;126

8   56     42          --         0;126

9   57     40          --         0;127

0   48     41          --         0;129

-   45     95          31         0;130

=   61     43          --         0;131

[   91     123         27         0;26

]   93     125         29         0;27

92     124         28         0;43

;   59     58          --         0;39

’   39     34          --         0;40

,   44     60          --         0;51

.   46     62          --         0;52

/   47     63          --         0;53

`   96     126         --         0;41

通常,在DOS提示符下按ESC键时,屏幕会显示一个反斜杠(\)并把光标移到下一行.这时可以使用PROMPT命令.假如现在DOS提示符是$P$G,想要清屏,就可键入: PROMPT=$E[2J $P$G 这里$E即表示按ESC键,然后再把提示符改回$P$G,不然在执行每条命令前就都要清屏了.

在用EDIT编辑批处理文件时可用下列方法输入ESC字符.首先同时按下Ctrl和P键 然后再按下作方括号,此时屏幕出现一左箭头(?说明已输入了ESC字符.之后必须放 开Ctrl再次按下方括号键开始ANSI命令.

(0)

相关推荐

  • ANSI.SYS程序的使用方法

    ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果.那么,它该如何使用呢?下面就来介绍一下. 注意:在本节中,语法和 ANSI 转义序列中的大写字母必须按原样键入. ANSI.SYS 定义了一系列函数,这些函数被用来改变显示图形.控制光标移动和键的重定义,ANSI.SYS 设备驱动程序支持转义序列的 ANSI 终端仿真,以便控制系统的屏幕和键盘. 该设备驱动程序必须由位于 CONFIG.SYS 文件中的DEVICE或DEVICEHIGH命令加载. 语

  • 总结UNIX/LINUX下C++程序计时的方法

    前言 良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产生影响. 下面看看小编为大家整理几个计时方法 方法一: 如果是想统计某个程序的运行时间,那么可以使用 time ./a.out 方法二: 如果是想对某个函数或者语句进行计时,那么有别的方法.比如说,gettimeofday函数.直接贴示例代码: #include <sys/time.h> v

  • Apache,wsgi,django 程序部署配置方法详解

    本文实例讲述了Apache,wsgi,django 程序部署配置方法.分享给大家供大家参考,具体如下: 前面写过一篇文章,ngixn,uwsgi,django,python 环境配置,有兴趣的朋友可以参考 nginx,django部署 后来有人在QQ上问我,用Apache 好部署吗?我当时只在windows下用 APACHE2.3,django1.4,wsgi 部署过,还没有在 linux 下部署.前几天有时间,我在 centos 上测试部署了一下.也不难.唯一的差别是,在windows 下有已

  • Python加速程序运行的方法

    问题 你的程序运行太慢,你想在不使用复杂技术比如C扩展或JIT编译器的情况下加快程序运行速度. 解决方案 关于程序优化的第一个准则是"不要优化",第二个准则是"不要优化那些无关紧要的部分". 如果你的程序运行缓慢,首先你得使用14.13小节的技术先对它进行性能测试找到问题所在. 通常来讲你会发现你得程序在少数几个热点位置花费了大量时间, 比如内存的数据处理循环.一旦你定位到这些点,你就可以使用下面这些实用技术来加速程序运行. 使用函数 很多程序员刚开始会使用Pyth

  • Python基于time模块求程序运行时间的方法

    本文实例讲述了Python基于time模块求程序运行时间的方法.分享给大家供大家参考,具体如下: 要记录程序的运行时间可以利用Unix系统中,1970.1.1到现在的时间的毫秒数,这个时间戳轻松完成. 方法是程序开始的时候取一次存入一个变量,在程序结束之后取一次再存入一个变量,与程序开始的时间戳相减则可以求出. Python中取这个时间戳的方法为引入time类之后,使用time.time();就能够拿出来.也就是Java中的System.currentTimeMillis(). 由于Python

  • python运行其他程序的实现方法

    python运行其他程序的实现方法              这里提供了两种实现方法,一.os.system()函数和 使用ShellExecute函数运行其他程序及实现代码,大家可以参考下, 一 使用os.system()函数运行其他程序 打开系统的记事本程序 >>>import os >>> os.system('notepad') 0 >>> os.system('notepad python.txt') 0 二 使用ShellExecute函数

  • Go语言调用其它程序并获得程序输出的方法

    本文实例讲述了Go语言调用其它程序并获得程序输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "exec" // "os/exec" in go1     "fmt" ) func main(){     cmd := exec.Command("ls", "-l")     buf, err := cmd.Output()   

  • chat.asp聊天程序的编写方法

    可能朋友们已经在一些杂志上看到过 ASP 聊天程序的编写方法,但作者在这里自己写了一个更简单的程序,仅仅使用了一个 .asp 文件.请将以下代码剪贴到记事簿并保存为chat.asp. < %@ Language=VBScript %> < % Response.Buffer=true ' 设置输出缓存,用于显示不同页面. On error resume next ' 忽略程序出错部分 If Request.ServerVariables("Request_Method"

  • VC++实现文件与应用程序关联的方法(注册表修改)

    本文实例讲述了VC++实现文件与应用程序关联的方法.分享给大家供大家参考,具体如下: 日常工作中,doc文件直接双击后,就能启动word软件,并读取该文档的内容在软件中显示,这都得益于注册表的配置,我们的软件也需要实现这样的功能,该如何写注册表以及写入哪些内容呢?下面的两个函数就能实现这个功能.CheckFileRelation是检查注册表中是否已经将我们期待的文件格式与相应软件关联了:RegisterFileRelation是直接往注册表中写入相关的key和value. /**********

  • 微信小程序中post方法与get方法的封装

    微信小程序开发post方法与get方法的封装 第一步:在utils文件夹下创建httpUtil.js文件 第二步:创建函数httpPost方法代码如下: function Post(url, data, cb, isShow, showNetError, that, showLoading) { if (showLoading == true || showLoading == undefined){ wx.showNavigationBarLoading(); wx.showLoading({

随机推荐