home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / das_buch / dos / keycurso.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-05-13  |  1.8 KB  |  77 lines

  1. {$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X-}
  2. {$M 16384,0,0}
  3. (*===================================================================*)
  4. (*                           KEYCURSOR.PAS                           *)
  5. (*           Copyright (C) 1993 te-wi Verlag, München                *)
  6. (*-------------------------------------------------------------------*)
  7. (*   Das Programm demonstriert die Möglichkeiten der Sondertasten-   *)
  8. (*            abfrage mit Funktionen der Unit »Keys«                 )
  9. (*===================================================================*)
  10. PROGRAM KeyCursor;
  11.  
  12. USES
  13.   Crt, Keys, Cursor;
  14.  
  15. VAR
  16.  x1, x2, y1, y2: INTEGER;
  17.  
  18. BEGIN
  19.   HideCursor;
  20.   ClrScr;
  21.   x1 := 39;
  22.   x2 := 39;
  23.   y1 := 12;
  24.   y2 := 12;
  25.   TextAttr := 112;
  26.   GotoXY(1, 1);
  27.   ClrEol;
  28.   GotoXY(25, 1);
  29.   Write('Demonstration für die Unit Keys');
  30.   GotoXY(1, 25);
  31.   ClrEol;
  32.   GotoXY(2, 25);
  33.   Write(#2' bewegen: <Alt>, <AltGr>, <Shift-Left>, <Shift-Right> ' +
  34.         #186'      Beenden: <Ctrl>');
  35.   TextAttr := 14;
  36.   REPEAT
  37.     IF ShiftRightPressed THEN
  38.     BEGIN
  39.       Inc(x1);
  40.       IF x1 >= 80 THEN x1 := 80;
  41.     END;
  42.     IF ShiftLeftPressed THEN
  43.     BEGIN
  44.       Dec(x1);
  45.       IF x1 <= 1 THEN x1 := 1;
  46.     END;
  47.     IF AltRightPressed THEN
  48.     BEGIN
  49.       Inc(y1);
  50.       IF y1 >= 24 THEN y1 := 24;
  51.       Delay(5);
  52.     END;
  53.     IF AltLeftPressed THEN
  54.     BEGIN
  55.       Dec(y1);
  56.       IF y1 <= 2 THEN y1 := 2;
  57.       Delay(5);
  58.     END;
  59.     IF NOT ScrollLockActive THEN
  60.       IF (x2 <> x1) OR (y1 <> y2) THEN
  61.       BEGIN
  62.         GotoXY(x2, y2);
  63.         Write(' ');
  64.       END;
  65.     GotoXY(x1, y1);
  66.     Write(#2);
  67.     y2 := y1;
  68.     x2 := x1;
  69.     Delay(10);
  70.   UNTIL CtrlPressed;
  71.   SetCursor(StartCursor);
  72.   TextAttr := 7;
  73.   ClrScr;
  74. END.
  75.  
  76. (*===================================================================*)
  77.