home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / pascal / wwg-crt / readkey.p < prev    next >
Text File  |  1997-07-14  |  898b  |  56 lines

  1. program readkey;
  2.  
  3. {$I "include:utils/crt.i" }
  4.  
  5. var
  6.    key            :  char;
  7.    i, j, tc, tb   :  byte;
  8.    spalte         :  integer;
  9.    
  10. procedure WriteHexChar(c : char);
  11. var
  12.    i     :  integer;
  13.    a, b  :  byte;
  14. begin
  15.    a := (ord(c) shr 4) and $0F;
  16.    b := ord(c) and $0F;
  17.    
  18.    for i := 0 to 1 do begin
  19.       if a < 10 then Write(char(ord('0') + a))
  20.       else Write(char(ord('A') + (a-10)));
  21.       
  22.       a := b;
  23.    end;
  24. end;
  25.  
  26. begin
  27.    ClrScr;
  28.    CursorOff;
  29.    
  30.    tc := GetTextColor;
  31.    tb := GetTextBackground;
  32.    
  33.    TextMode(TS_BOLD, 6, 2);
  34.    Write('ReadKey: [');
  35.    TextColor(3);
  36.    Write('q=quit');
  37.    TextColor(6);
  38.    Write('] > ');
  39.    TextMode(TS_PLAIN, 2, 3);
  40.    
  41.    spalte   := WhereX;
  42.    
  43.    repeat
  44.       Bell;
  45.       GotoX(spalte);
  46.       key := ReadKey;
  47.       WriteHexChar(key);
  48.    until key = 'q';
  49.    
  50.    TextColor(tc);
  51.    TextBackground(tb);
  52.    
  53.    Writeln;
  54.    CursorOn;
  55. end.
  56.