home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 01 / tricks / excrt.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-09-26  |  1.6 KB  |  64 lines

  1. (* ------------------------------------------------------ *)
  2. (*                    EXCRT.PAS                           *)
  3. (*       (c) 1988 by Markus Kucborski und TOOLBOX         *)
  4. (* ------------------------------------------------------ *)
  5.  
  6. UNIT ExCrt;
  7.  
  8. INTERFACE
  9.  
  10. USES Dos;
  11.  
  12. TYPE funckeys = (RightShift, LeftShift, Ctrl, Alt, Scroll,
  13.                  NumLock, CapsLock,Insert);
  14.  
  15. FUNCTION  FuncKeyPressed(key: funckeys): BOOLEAN;
  16.        (*  fragt ab ob eine Funktionstaste gedrückt ist   *)
  17.  
  18. Procedure ModifyCursor(y1,y2: BYTE);
  19.        (* setzt erste und letzte y-Koordinate des Cursors *)
  20.  
  21. Procedure NormCursor;
  22.        (* setzt normale Anfangs- und Endzeile des Cursors *)
  23.  
  24. Procedure HideCursor;
  25.  
  26. IMPLEMENTATION
  27.  
  28. FUNCTION FuncKeyPressed(key: funckeys): BOOLEAN;
  29. VAR
  30.   Register: Registers;
  31.   keybit  : BYTE;
  32. BEGIN
  33.   keybit := Ord(key) AND $0007;
  34.   Register.ah := 2;
  35.   Intr($16, Register);
  36.   FuncKeyPressed := (((Register.al SHR keybit) AND 1)=1);
  37. END;
  38.  
  39. PROCEDURE ModifyCursor(y1,y2: BYTE);
  40. VAR
  41.   Register: Registers;
  42. BEGIN
  43.   WITH Register DO BEGIN
  44.     AH := 1;            (* Funktionsaufruf 1              *)
  45.     CH := y1;           (* Anfangsrasterzeile des Cursors *)
  46.     CL := y2;           (* Endrasterzeile     des Cursors *)
  47.   END;
  48.   Intr($10, Register)
  49. END;
  50.  
  51. PROCEDURE NormCursor;
  52. BEGIN
  53.   ModifyCursor(12,13)
  54. END;
  55.  
  56. PROCEDURE HideCursor;
  57. BEGIN
  58.   ModifyCursor (14,14)  (* Werte zu groß, deshalb         *)
  59. END;                    (* kein Cursor                    *)
  60.  
  61. END.
  62. (* ------------------------------------------------------ *)
  63. (*                 Ende von EXCRT.PAS                     *)
  64.