基本介紹,套用舉例,
基本介紹
ANSI ESC序列是一個ASCII碼字元序列;序列開頭的兩個字元是ESC轉義字元 (ASCII碼為1Bh)和左方括弧(5Bh),緊跟其後的是一個控制鍵盤和顯示功能的字母數字代碼序列。 ANSI轉義序列嚴格區分字母大小寫,如“A”和“a”就分別有完全不同的意義。
這個設備驅動程式必須通過CONFIG.SYS檔案中的(DEVICE)或(DEVICEHIGH)命令載入。
注意:本主題中,語法和ANSI ESC轉義序列的黑體字必須嚴格照原樣輸入 。
語法:
DEVICE=[drive:][path]ANSI.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),它出現在每個轉義序列的開頭。
ESC[PL;PcH
ESC[PL;Pcf
游標置位:與上面的游標定位轉義序列等價。
ESC[PnA
游標上移:向上按指定的行數移動游標,所在列數不變.如果游標已在頂行,ANSI.SYS忽略該序列。
ESC[PnB
游標下移:按指定的行數向下移動游標數行,且保持所在列數不變.如果游標已在底行,ANSI.SYS忽略此序列。
ESC[PnC
ESC[PnD
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(禁止折行)除外。此轉義序列的最後一個字元是小寫字母l。
ESC[code;string;...p
設定鍵盤字串:用一指定的串重定義鍵盤的鍵。此轉義序列的參數定義如下:
★ Code是下表中列出的一個或多個值。這些值代表鍵盤的鍵或鍵組合。在命令中用到這些值時,除了轉義序列所要求的分號外,還要求輸入表中所示的分號。小括弧括出的代碼在一些鍵盤中沒有提供。ANS1.SYS對這些鍵盤,不進行括弧中的代碼的解釋,除非在ANS1.SYS的DEVICE命令中指定了/X開關項。
★ String串可以是一單個字元的ASCII碼,也可以是用雙引號引起的一個字串。例如,65和“A”都可用來表示大寫字母A。
注意:下表中的某些值並非對所有計算機都有效,注意查對你的計算機手冊,看哪些值是不同的。
ANSI.SYS─註解
重新映射的擴展鍵
帶101個鍵的鍵盤,可利用/X開關對某些擴展鍵重新進行映射。例如,101鍵鍵盤上有兩個HOME鍵:一個在數字小鍵盤上,一個在游標控制鍵塊中。這兩個HOME鍵在MS-DOS中是一樣的,除非您指定了/X開關。
忽略擴展鍵
如果您的程式不能正確解釋利用改進的鍵盤所進行的輸入,可利用ANSI.SYS的/K開關項。這樣,改進的鍵盤可當作普通鍵盤使用。
同時使用/X和/K開關
不能在ANSI.SYS中同時指定/X開關和/K開關。
--------------------------------------------------------------------------------
套用舉例
輸入以下轉義序列,利用文字串來使反斜槓和問號鍵互換。 ESC["\";"?"pESC["?";"\"p
下面的轉義序列,利用反斜槓和問號鍵各自的ASCII值來使其互換。
ESC[92;63pESC[63;92p
要恢復反斜槓和問號鍵的原始定義,輸入以下轉義序列:
ESC[92;92pESC[63;63p
要指定MS-DOS對某一目錄列表顯示,作為對F2鍵的回響,可輸入下面的prompt命
令行:
prompt $e[0;60;"dir";13p
要指定螢幕背景色為黑色,前景色為高增強亮色,可輸入下列prompt命令:
prompt $e[1;32;40m$p$g