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

crt

(Pascal 函數單元)

鎖定
crt是Turbo Pascal中的一個單元,處理文字顏色及格式。
中文名
CRT單元
外文名
the CRT unit
編程語種
Pascal

crt過程與函數

過程與函數表格
過程函數首部形式
説明
procedure assigncrt(var f:text);
將文本文件f與顯示器CRT建立聯繫
function keypressed:boolean;
檢測是否有鍵按下,有則函數值為true
function readkey:char;
等待從鍵盤輸入一個字符
procedure textmode(mode:integer);
設置字符顯示模式,mode值見下表,可以用常量標識符或常數值
procedure window(x1,y1,x2,y2:byte);
定義字符窗口:(x1,y1)為左上角座標,(x2,y2)為右下角座標;必須在設置模式允許範圍內.窗口定義後,所有顯示均在窗口進行
procedure gotoxy(x,y:byte);
將光標移至(x,y)處
function wherex:byte;
返回當前窗口中光標所在的列數(相對當前窗口)
function wherey:byte;
返回當前窗口中光標所在的行數(相對當前窗口)
procedure clrscr;
清除當前窗口或屏幕
procedure clreol;
從光標位置開始清除至本行末尾(不超過窗口右邊界)
procedure insline;
在當前光標處插入一行
procedure delline;
刪除光標所在的當前行
procedure textcolor(color:byte);
設置正文前景顏色
procedure textbackground(color:byte);
設置正文背景顏色
procedure lowvideo;
選擇低亮度顯示字符
procedure highvideo;
選擇高亮度顯示字符
procedure normvideo;
選擇正常亮度顯示字符
procedure delay(ms:word);
等待或延遲ms個毫秒
procedure sound(hz:word);
以hz指定的頻率發聲
procedure nosound;
關閉內部揚聲器
Testmode的顯示模式常數表
常量標識符
常數值
顯示模式
BW40
0
彩色顯示卡40*25黑白模式
CO40
1
彩色顯示卡40*25彩色模式
C40
1
同上,用於兼容3.0版本
BW80
2
彩色顯示卡80*25黑白模式
CO80
3
彩色顯示卡80*25彩色模式
C80
3
同上,用於兼容3.0版本
Mono
7
單色顯示卡80*25模式
Font 8*8
256
用於ROM字模
Textcolor等的前景和背景顏色常數表
常量標識符
常數值
顏色
前景
背景
常量標識符
常數值
顏色
前景
背景
Black
0
Y
Y
DarkGray
8
深灰
Y
Y
Blue
1
Y
Y
LightBlue
9
淺灰
Y
Y
Green
2
Y
Y
LightGreen
10
淺綠
Y
Y
Cyan
3
Y
Y
LightCyan
11
淺青
Y
Y
Red
4
Y
Y
LightRed
12
淺紅
Y
Y
Magenta
5
洋紅
Y
Y
LightMagenta
13
淺洋紅
Y
Y
Brown
6
Y
Y
Yellow
14
Y
Y
LightGray
7
淺灰
Y
Y
White
15
Y
Y
Blank
128
閃爍
Y
Y
-

crt變量

變量表格
變量名
類型
單元中作用
checkbreak
boolean
程序在執行下一個write或writeln語句之前是否做Ctrl+Break檢查
checkeof
boolean
允許文件結束的Ctrl+Z檢查
directvideo
boolean
為true時採用直接訪問視頻內存方式
checksnow
boolean
為true時進行雪花過濾控制
lastmode
word
保存上一次顯示模式
textattr
byte
保存當前的正文前景與背景顏色
windmin
word
保存當前窗口左上角座標(低字節為列座標,高字節為行座標)
windmax
word
保存當前窗口右下角座標(低字節為列座標,高字節為行座標
lastmode文件註釋
bit0~bit2:前景顏色(bit0:Blue;bit1:Green;bit2:Red)
bit3:亮度(Brightness)
bit4~bit6:背景顏色(bit4:Blue;bit5:Green;bit6:Red)
bit7:是否閃爍(Blinking)

crt樣例程序

設置屏幕為25行*40列正文模式,並改變字符的前景顏色,背景顏色.
program testtext;  //Pascal
 
uses crt;
 
begin
 
  textmode(c40);
 
  textbackground(blue);

 
  textcolor(red);

 
  writeln('text mode test');

 
  textbackground(green);
 
  textcolor(blink+yellow);

 
  writeln('blink test');
 end.