home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Borland Plateform / Turbo Pascal V7.0 / TVDEBUG.ZIP / KEYNAMER.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-10-30  |  2.4 KB  |  96 lines

  1. unit KeyNamer;
  2.  
  3. interface
  4.  
  5. uses drivers;
  6.  
  7. function KeyName( key: word): String;
  8.  
  9. implementation
  10.  
  11. function KeyName( key: word): String;
  12. const
  13.   QWERTY: String[10] = 'QWERTYUIOP';
  14.   ASDF: String[9] = 'ASDFGHJKL';
  15.   ZXCV: String[7] = 'ZXCVBNM';
  16. var
  17.   st: String;
  18. begin
  19.   KeyName:='';
  20.   case key of
  21.     0..31: KeyName:= 'Control-'+char(key+64);
  22.        32: KeyName:= 'Spacebar';
  23.   33..125: KeyName:= Char(key);
  24.     $011B: KeyName:= 'kbEsc';
  25.     $0200: KeyName:= 'kbAltSpace';
  26.     $0400: KeyName:= 'kbCtrlIns';
  27.     $0500: KeyName:= 'kbShiftIns';
  28.     $0600: KeyName:= 'kbCtrlDel';
  29.     $0700: KeyName:= 'kbShiftDel';
  30.     $0E08: KeyName:= 'kbBack';
  31.     $0E7F: KeyName:= 'kbCtrlBack';
  32.     $0F00: KeyName:= 'kbShiftTab';
  33.     $0F09: KeyName:= 'kbTab';
  34.     $1C0A: KeyName:= 'kbCtrlEnter';
  35.     $1C0D: KeyName:= 'kbEnter';
  36.     $4700: KeyName:= 'kbHome';
  37.     $4800: KeyName:= 'kbUp';
  38.     $4900: KeyName:= 'kbPgUp';
  39.     $4A2D: KeyName:= 'kbGrayMinus';
  40.     $4B00: KeyName:= 'kbLeft';
  41.     $4D00: KeyName:= 'kbRight';
  42.     $4E2B: KeyName:= 'kbGrayPlus';
  43.     $4F00: KeyName:= 'kbEnd';
  44.     $5000: KeyName:= 'kbDown';
  45.     $5100: KeyName:= 'kbPgDn';
  46.     $5200: KeyName:= 'kbIns';
  47.     $5300: KeyName:= 'kbDel';
  48.     $7200: KeyName:= 'kbCtrlPrtSc';
  49.     $7300: KeyName:= 'kbCtrlLeft';
  50.     $7400: KeyName:= 'kbCtrlRight';
  51.     $7500: KeyName:= 'kbCtrlEnd';
  52.     $7600: KeyName:= 'kbCtrlPgDn';
  53.     $7700: KeyName:= 'kbCtrlHome';
  54.     $8200: KeyName:= 'kbAltMinus';
  55.     $8300: KeyName:= 'kbAltEqual';
  56.     $8400: KeyName:= 'kbCtrlPgUp';
  57.     $0000: KeyName:= 'kbNoKey';
  58.   else
  59.     if Lo(key) = 0 then
  60.     begin
  61.       key := hi(key);
  62.       case key of
  63.         $10..$19:  KeyName:= 'kbAlt'+ QWERTY[key-$0F];
  64.         $1E..$26:  KeyName:= 'kbAlt'+ ASDF[key-$1D];
  65.         $2C..$32:  KeyName:= 'kbAlt'+ ZXCV[key-$2B];
  66.         $3B..$44:
  67.           begin
  68.             Str((key-$3A):0,st);
  69.             KeyName:= 'kbF'+st;
  70.           end;
  71.         $54..$5D:
  72.           begin
  73.             Str((key-$53):0,st);
  74.             KeyName:= 'kbShiftF'+st;
  75.           end;
  76.         $5E..$67:
  77.           begin
  78.             Str((key-$5D):0,st);
  79.             KeyName:= 'kbCtrlF'+st;
  80.           end;
  81.         $68..$71:
  82.           begin
  83.             Str((key-$67):0,st);
  84.             KeyName:= 'kbAltF'+st;
  85.           end;
  86.         $78..$81:
  87.           begin
  88.             Str((key-$77):0,st);
  89.             KeyName:= 'kbAlt'+st;
  90.           end;
  91.       end;  {case}
  92.     end;
  93.   end; {case}
  94. end;
  95.  
  96. end.