Turbo C2.0的字符屏幕函數主要包括文本窗口大小的設定、窗口顏色的設置、窗口文本的清除和輸入輸出等函數。
1.文本窗口的定義
Turbo C2.0默認定義的文本窗口為整個屏幕, 共有80列(或40列)25行的文本單元, 每個單元包括一個字符和一個屬性, 字符即ASCII 碼字符, 屬性規定該字符的顏色和強度。
Turbo C2.0可以定義屏幕上的一個矩形域作為窗口, 使用window()函數定義。
窗口定義之後, 用有關窗口的輸入輸出函數就可以只在此窗口內進行操作而不超出窗口的邊界。
window()函數的調用格式為:
void window(int left, int top, int right, int bottom);
該函數的原型在conio.h 中 (關於文本窗口的所有函數其頭文件均為conio.h,後面不再說明)。 函數中形式參數(int left, int top)是窗口左上角的坐標,(int right, int bottom)是窗口的右下角坐標, 其中(left, top)和(right,bottom) 是相對於整個屏幕而言的。 Turbo C 2.0規定整個屏幕的左上角坐標為(1, 1), 右下角坐標為(80, 25)。並規定沿水平方向為 X軸, 方向朝右; 沿垂直方向為 Y軸, 方向朝下。若window()函數中的坐標超過了屏幕坐標的界限, 則窗口的定義就失去了意義, 也就是說定義將不起作用, 但程序編譯鏈接時並不出錯。
另外, 一個屏幕可以定義多個窗口, 但現行窗口只能有一個(因為DOS為單任務操作系統), 當需要用另一窗口時, 可將定義該窗口的window() 函數再調用一次, 此時該窗口便成為現行窗口了。
如要定義一個窗口左上角在屏幕(20, 5)處, 大小為30列15行的窗口可寫成:
window(20, 5, 50, 25);
2. 文本窗口顏色的設置
文本窗口顏色的設置包括背景顏色的設置和字符顏色的設置, 使用的函數及其調用格式為:
設置背景顏色: void textbackground(int color);
設置字符顏色: void textcolor(int color);
有關顏色的定義見表1。
表1. 有關顏色的定義
━━━━━━━━━━━━━━━━━━━━━━━━━━━
符號常數 數值 含義 字符或背景
───────────────────────────
BLACK 0 黑 兩者均可
BLUE 1 蘭 兩者均可
GREEN 2 綠 兩者均可
CYAN 3 青 兩者均可
RED 4 紅 兩者均可
MAGENTA 5 洋紅 兩者均可
BROWN 6 棕 兩者均可
LIGHTGRAY 7 淡灰 兩者均可
DARKGRAY 8 深灰 只用於字符
LIGHTBLUE 9 淡蘭 只用於字符
LIGHTGREEN 10 淡綠 只用於字符
LIGHTCYAN 11 淡青 只用於字符
LIGHTRED 12 淡紅 只用於字符
LIGHTMAGENTA 13 淡洋紅 只用於字符
YELLOW 14 黃 只用於字符
WHITE 15 白 只用於字符
BLINK 128 閃爍 只用於字符
━━━━━━━━━━━━━━━━━━━━━━━━━━━