複製鏈接
請複製以下鏈接發送給好友

ANSI.SYS

鎖定
ANSI.SYS是MS-DOS中一個很有用的設備驅動程序,利用它,我們可以取得意想不到的顯示效果。
定義一套函數,用於改變圖形的顯示,控制光標的移動,以及對鍵盤進行重新設置。ANSI.SYS設備驅動程序支持ANSI ESC序列的終端仿真,來對系統屏幕和鍵盤進行控制。
中文名
ANSI.SYS
別    名
設備驅動程序

ANSI.SYS基本介紹

ANSI ESC序列是一個ASCII碼字符序列;序列開頭的兩個字符是ESC轉義字符 (ASCII碼為1Bh)和左方括號(5Bh),緊跟其後的是一個控制鍵盤和顯示功能的字母數字代碼序列。 ANSI轉義序列嚴格區分字母大小寫,如“A”和“a”就分別有完全不同的意義。
這個設備驅動程序必須通過CONFIG.SYS文件中的(DEVICE)或(DEVICEHIGH)命令加載。
注意:本主題中,語法和ANSI ESC轉義序列的黑體字必須嚴格照原樣輸入 。
語法:
DEVICE=drive:pathANSI.SYS /X /K /R
參數 :
drive:path
指定ANS1.SYS文件所在處的完整路徑名。
開關項 :
/X
重新映射獨立於101鍵鍵盤的擴展鍵。
/K
ANSI.SYS象處理84鍵鍵盤一樣來處理101鍵鍵盤。 這與命令SWITCHES=/K等效。如果經常要用SWITCHES=/K命令,則有必要在ANSI.SYS中用/K開關項。
/R
在讀屏幕程序(使計算機更方便殘疾人操作)中用ANSI.SYS時,/R通過調整行滾動來提高其可讀性。
ANSI轉義序列中要用到以下參數:
Pn
數字參數。指定一個十進制數字。
Ps
可選參數。指定一個十進制數,用以選擇某一函數。若要指定多個函數,可用(;)分隔不同的函數。
PL
行參數。指定一個十進制數,表示顯示器或另一設備上顯示的某一行。
Pc
列參數。指定一個十進制數,表示顯示器或另一設備上顯示的某一列。
用於光標移動、圖形和鍵盤設置的ANSI ESC序列
下列ANSI轉義序列中,縮寫ESC代表ASCII轉義字符27(1Bh),它出現在每個轉義序列的開頭。
ESCPL;PcH
光標置位:移動光標到所指定的位置(座標)。如果沒有指定位置,則光標移至初始位置屏幕的左上角(0行,0列)。該轉義序列與下面這個光標定位轉義序列的工作方式相同。
ESCPL;Pcf
光標置位:與上面的光標定位轉義序列等價。
ESCPnA
光標上移:向上按指定的行數移動光標,所在列數不變.如果光標已在頂行,ANSI.SYS忽略該序列。
ESCPnB
光標下移:按指定的行數向下移動光標數行,且保持所在列數不變.如果光標已在底行,ANSI.SYS忽略此序列。
ESCPnC
光標前移:按指定的列數向前移動光標數列,且保持所在行數不變。如果光標已在最右邊的列上,ANSI.SYS忽略此序列。
ESCPnD
光標後移:按指定的列數使光標後退數列,而不改變其原所在行。如果光標已在最左列,ANSI.SYS忽略此序列。
ESCs
保存光標位置:保存當前光標位置。可利用“恢復光標位置”序列將光標移至此光標位置處。
ESCu
恢復光標位置:返回由“保存光標位置”轉義序列所存放的光標位置座標。
ESC2J
擦除顯示:清屏並將光標移至起始位置(0行,0列)。
ESCK
行擦除:清除從當前光標位置到其所在行行末的所有字符(包括光標位置處的字符)。
ESCPs;...;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(禁止折行)除外。此轉義序列的最後一個字符是小寫字母l。
ESCcode;string;...p
設置鍵盤字串:用一指定的串重定義鍵盤的鍵。此轉義序列的參數定義如下:
★ Code是下表中列出的一個或多個值。這些值代表鍵盤的鍵或鍵組合。在命令中用到這些值時,除了轉義序列所要求的分號外,還要求輸入表中所示的分號。小括號括出的代碼在一些鍵盤中沒有提供。ANS1.SYS對這些鍵盤,不進行括號中的代碼的解釋,除非在ANS1.SYS的DEVICE命令中指定了/X開關項。
★ String串可以是一單個字符的ASCII碼,也可以是用雙引號引起的一個字串。例如,65和“A”都可用來表示大寫字母A。
注意:下表中的某些值並非對所有計算機都有效,注意查對你的計算機手冊,看哪些值是不同的。 [1] 
ANSI.SYS─註解
重新映射的擴展鍵
帶101個鍵的鍵盤,可利用/X開關對某些擴展鍵重新進行映射。例如,101鍵鍵盤上有兩個HOME鍵:一個在數字小鍵盤上,一個在光標控制鍵塊中。這兩個HOME鍵在MS-DOS中是一樣的,除非您指定了/X開關。
忽略擴展鍵
如果您的程序不能正確解釋利用改進的鍵盤所進行的輸入,可利用ANSI.SYS的/K開關項。這樣,改進的鍵盤可當作普通鍵盤使用。
同時使用/X和/K開關
不能在ANSI.SYS中同時指定/X開關和/K開關。
--------------------------------------------------------------------------------

ANSI.SYS應用舉例

輸入以下轉義序列,利用文字串來使反斜槓和問號鍵互換。 ESC"\";"?"pESC"?";"\"p
下面的轉義序列,利用反斜槓和問號鍵各自的ASCII值來使其互換。
ESC92;63pESC63;92p
要恢復反斜槓和問號鍵的原始定義,輸入以下轉義序列:
ESC92;92pESC63;63p
要指定MS-DOS對某一目錄列表顯示,作為對F2鍵的響應,可輸入下面的prompt命
令行:
prompt $e0;60;"dir";13p
要指定屏幕背景色為黑色,前景色為高增強亮色,可輸入下列prompt命令:
prompt $e1;32;40m$p$g
參考資料