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

  1. {$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X-,M $1000,0,0}
  2. (*===================================================================*)
  3. (*                           KEYSDEMO.PAS                            *)
  4. (*            Copyright (C) 1993 te-wi Verlag, München               *)
  5. (*           Das Programm demonstriert den Einsatz der UNIT Keys     *)
  6. (*===================================================================*)
  7.  
  8. PROGRAM KeysDemo;
  9.  
  10. USES
  11.   Crt, Cursor, Hex, Keys;
  12.  
  13. VAR
  14.  ch: CHAR;
  15.  
  16. CONST
  17.   pressed: ARRAY[BOOLEAN] OF CHAR = ('-', '+');
  18.  
  19. BEGIN
  20.   TextColor(Black);
  21.   TextBackGround(Blue);
  22.   ClrScr;
  23.   TextColor(Red);
  24.   TextBackground(7);
  25.   GotoXY(1, 1);
  26.   ClrEoL;
  27.   GotoXY(14, 1);
  28.   Write('Demonstration des Tastaturstatus, ' +
  29.         'Ende mit <AltGr>');
  30.   HideCursor;
  31.   TextColor(0);
  32.   TextBackground(7);
  33.   GotoXY(1, 25);
  34.   ClrEoL;
  35.   GotoXY(30, 10); Write('┌────────────────────┐');
  36.   GotoXY(30, 11); Write('│ ASCII-Zeichen: [ ] │▓');
  37.   GotoXY(30, 12); Write('│ ────────────────── │▓');
  38.   GotoXY(30, 13); Write('│ Nummer:        000 │▓');
  39.   GotoXY(30, 14); Write('│ Hexcode:       $00 │▓');
  40.   GotoXY(30, 15); Write('└────────────────────┘▓');
  41.   GotoXY(31, 16);  Write('▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓');
  42.  REPEAT
  43.   IF KeyPressed THEN BEGIN
  44.     ch := ReadKey;
  45.     IF ch = #0 THEN ch := ReadKey; { Sondertaste lesen! }
  46.       GotoXY(48, 11);
  47.       IF NOT (ch IN [^M,^G]) THEN Write(ch);
  48.       GotoXY(47, 13);
  49.       IF ch < #10 THEN Write ('0');
  50.       IF ch < #100 THEN Write('0');
  51.       Write(Ord(ch));
  52.       GotoXY(48, 14);
  53.       Write(Byte2Hex(Ord(ch)):2);
  54.   END;
  55.   GotoXY(2, 25);
  56.   Write('Shift ', pressed[ShiftPressed]);
  57.   Write(' Alt ',  pressed[AltPressed]);
  58.   Write(' Ctrl ', pressed[CtrlPressed]);
  59.   IF InsActive THEN Write(' Ins ') ELSE Write(' Ovr ');
  60.   IF NumLockActive THEN Write (' Num ') ELSE Write (' Crs ');
  61.   Write('ScrLock ', pressed[ScrollLockActive]);
  62.   Write(' SysReq ', pressed[SysReqPressed]);
  63.   Write(' ':25);
  64.   IF LEDState(LEDScrollLock) THEN
  65.   BEGIN
  66.     TextColor(Red);
  67.     Write('S');
  68.     TextColor(Black);
  69.   END
  70.   ELSE
  71.     Write (' ');
  72.   Write(' ');
  73.   IF LEDState(LEDNumLock) THEN
  74.   BEGIN
  75.     TextColor(Red);
  76.     Write('N');
  77.     TextColor(Black);
  78.   END
  79.   ELSE
  80.     Write (' ');
  81.   Write(' ');
  82.   IF LEDState(LEDCapsLock) THEN
  83.   BEGIN
  84.     TextColor(Red);
  85.     Write('C');
  86.     TextColor(Black);
  87.   END
  88.   ELSE
  89.     Write (' ');
  90.  UNTIL AltRightPressed;
  91.  SetCursor(StartCursor);
  92.  TextAttr := 7;
  93.  ClrScr;
  94. END.
  95.  
  96. (*===================================================================*)
  97.