home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* EXCRT.PAS *)
- (* (c) 1988 by Markus Kucborski und TOOLBOX *)
- (* ------------------------------------------------------ *)
-
- UNIT ExCrt;
-
- INTERFACE
-
- USES Dos;
-
- TYPE funckeys = (RightShift, LeftShift, Ctrl, Alt, Scroll,
- NumLock, CapsLock,Insert);
-
- FUNCTION FuncKeyPressed(key: funckeys): BOOLEAN;
- (* fragt ab ob eine Funktionstaste gedrückt ist *)
-
- Procedure ModifyCursor(y1,y2: BYTE);
- (* setzt erste und letzte y-Koordinate des Cursors *)
-
- Procedure NormCursor;
- (* setzt normale Anfangs- und Endzeile des Cursors *)
-
- Procedure HideCursor;
-
- IMPLEMENTATION
-
- FUNCTION FuncKeyPressed(key: funckeys): BOOLEAN;
- VAR
- Register: Registers;
- keybit : BYTE;
- BEGIN
- keybit := Ord(key) AND $0007;
- Register.ah := 2;
- Intr($16, Register);
- FuncKeyPressed := (((Register.al SHR keybit) AND 1)=1);
- END;
-
- PROCEDURE ModifyCursor(y1,y2: BYTE);
- VAR
- Register: Registers;
- BEGIN
- WITH Register DO BEGIN
- AH := 1; (* Funktionsaufruf 1 *)
- CH := y1; (* Anfangsrasterzeile des Cursors *)
- CL := y2; (* Endrasterzeile des Cursors *)
- END;
- Intr($10, Register)
- END;
-
- PROCEDURE NormCursor;
- BEGIN
- ModifyCursor(12,13)
- END;
-
- PROCEDURE HideCursor;
- BEGIN
- ModifyCursor (14,14) (* Werte zu groß, deshalb *)
- END; (* kein Cursor *)
-
- END.
- (* ------------------------------------------------------ *)
- (* Ende von EXCRT.PAS *)