Pascal Crt/Mouse unit 用法

Crt单元
过程
Assigncrt(F)      F:Text 将文件F放置于显示器
ClrEol                   删除当前行上的字符
ClrScr                   清屏并将光标移动至(1,1)
CursorBig                将屏幕输出状态改为改写
CursorOff                关闭光标
CursorOn                 打开光标并将光标移动至(1,1)
Delay(T)      T:Integer   等待T毫秒
GotoXY(X,Y) X,Y:Integer 将光标移动至(X,Y)
InsLine                  在光标所在位置插入行
DelLine                  删除光标所在当前行
LowVideo                 选择低亮度显示字符(颜色代码减8)
NormVideo                选择正常亮度显示字符
HighVideo                选择高亮度显示字符(颜色代码加8)
NoSound                  扬声器停止发声
Sound(HZ)    HZ:Integer   以Hz频率发声
Readkey                  等待键盘输入
TextColor(Color)         Color:[White,Green…]
                         Color:Integer
                         将正文颜色设为Color
TextBackground(Color)    Color:[White,Green…]
                         Color:Integer
                         将背景色设置为Color
TextMode(X)   X:Integer   选择X为显示模式(有的X值无法正常显示)
Windows(X1,Y1,X2,Y2)     X1,Y1,X2,Y2:Integer
                         在屏幕上建一个列从X1到X2,行从Y1到Y2的窗口
函数
KeyPressed Boolean     判断键盘是否输入
Readkey     Char        键盘输入的字符
WhereX      Integer     返回光标的列数
WhereY      Integer     返回光标的行数
注:
Delline与Clreol的区别:Delline后,下一行会往上提,Clreol不会。
在Pascal中,屏幕坐标十分奇怪:(X,Y)中,X指的是列数,Y指的是行数,与正常习惯正好相反。WhereX/WhereY也是这样。
Pascal中的颜色代码:
0 黑
1 深蓝
2 绿
3 天蓝
4 红
5 粉
6 橙
7 白
8 灰
9 蓝紫
10亮绿
11亮蓝
12亮红
13亮粉
14亮黄
15亮白
16闪黑
17闪蓝
18闪绿
19闪天蓝
20闪红
21闪粉
22闪橙
23闪白
24闪灰
25闪蓝紫
26闪亮绿
27闪亮蓝
28闪亮红
29闪亮粉
30闪亮黄
31闪亮白
KeyPressed与Readkey连用效果好:
Repeat
   B:=Keypressed;
   If B Then
    H:=Readkey;
   If H=’0′ Then Halt;
Until H=’ ‘;
Mouse单元
过程
InitMouse                  启用鼠标
DoneMouse                  停用鼠标
HideMouse                  隐藏鼠标指针
ShowMouse                  显示鼠标指针
SetMouseXY(X,Y)X,Y:Integer将鼠标指针移动至(X,Y)
GetMouseEvent(MouseEvent:TMouseEvent)
                           得到鼠标数据并将其存入MouseEvent中
PutMouseEvent(MouseEvent:TMouseEvent)
                           用MouseEvent代替当前鼠标数据
函数
DetectMouse        Integer 返回值为0时代表没有鼠标,否则返回鼠标按键数
GetMouseButtons    Integer 0代表没有按键,1代表左键,2代表右键,4代表中间键(非滚轮)
GetMouseX          Integer 返回鼠标所在位置列数
GetMouseY          Integer 返回鼠标所在位置行数
PollMouseEvent(MouseEvent:TMouseEvent) Boolean
                           返回鼠标信息是否被更新(True为未更新)
GetMouseDriver             用途不明
SetMouseDriver             用途不明
常数
MouseLeftButton    Integer 代表左键,值为1
MouseRightButton   Integer 代表右键,值为2
MouseMiddleButton Integer 代表中间键(非滚轮),值为4
MouseEventBufSize Integer 鼠标缓冲,值为16
MouseActionDown    Integer 代表按下鼠标,值为1
MouseActionUp      Integer 代表松开鼠标,值为2
MouseActionMove    Integer 代表移动鼠标,值为4
errMouseBase       Integer 基本鼠标错误,值为1030
errMouseInitError Integer 鼠标使用错误,errMouseBase+0
errMouseNotImplemented Integer
                           功能无法实现,errMouseBase+1
注:
对TMouseEvent的解释:
记录类型,表示鼠标的综合数据。
域 Buttons:Integer         按键信息,等于GetMouseButtons
    X,Y:Integer             指针位置信息,等于GetMouseX/GetMouseY
    Action:Integer          移动信息,4代表移动,0代表未移动,1代表鼠标按键按下,2代表鼠标按键抬起
                           (如144442就是按着鼠标拖动3格)

that’s all.


发表评论

电子邮件地址不会被公开。 必填项已用*标注

Powered by WordPress. Design: Supermodne.