home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL3.DMS / in.adf / DEMOS-OS1.3 / Rawkey&Shift.p < prev    next >
Encoding:
Text File  |  1994-07-24  |  2.1 KB  |  76 lines

  1. { Programm:  Rawkey & Shift 
  2.   ~~~~~~~~~
  3.   Sinn:      Zeigt wie man eine Tastenkombination abfragt.
  4.   ~~~~~      Besonderheit ist, daß beide Shifttasten bei jedem
  5.              Zustand ihrerseits berücksichtigt werden.
  6.              Nur für MP3 / KP-Editor zum Test gedacht oder Shell nutzen.
  7.  
  8.   Sprache:   MaxonPASCAL3 (KickPascal 2.12 (OS2-Includes) 
  9.   ~~~~~~~~
  10.   ©:         FREEWARE, wenn Autor im jeweiligen Infofiles eines nicht-
  11.   ~~                   komerziellen Programmes erwähnt wird und selbiges
  12.                        zugesand bekommt, können einzelne Routinen ver-
  13.                        wendet werden.
  14.  
  15.   Autor:     PackMAN
  16.   ~~~~~~     c/o Falk Zühlsdorff
  17.              Lindenberg 66
  18.              D-98693 Ilmenau/Thüringen    
  19.  
  20.   Kommentar: Version für MAXON
  21.   ~~~~~~~~~~ nicht fontsensitiv                                          }
  22.  
  23. PROGRAM Rawkey_and_SHIFT;
  24. USES INTUITION;
  25. VAR  Win   : ^Window;
  26.      Msg   : ^IntuiMessage;
  27.      Code  : Byte;
  28.      gedr1,
  29.      gedr2 : boolean;
  30.  
  31. BEGIN
  32.  Win:=Open_Window(10,10,520,50,1,IDCMP_RAWKEY,ACTIVATE+WINDOWDEPTH+WINDOWDRAG,
  33.                  'Rawkey & Shift © by PackMAN V0.3 vom 28.06.94; "Q" for End',
  34.                   Nil,0,0,0,0);
  35.   gedr1:=false;
  36.   gedr2:=false;
  37.   Repeat
  38.     Msg:=Wait_Port(Win^.UserPort);
  39.     Msg:=Get_Msg(Win^.UserPort);
  40.     Code:=Msg^.Code;
  41.     CASE (Code AND $7f) OF
  42.      $60: BEGIN
  43.            IF (Code AND $80)=0             {Taste gedrückt ?}
  44.             THEN
  45.              BEGIN
  46.               writeln('Shift (L) gedrückt');
  47.               gedr1:=true;
  48.              END
  49.             ELSE
  50.              BEGIN
  51.               writeln('Shift (L) losgelassen');
  52.               gedr1:=false;
  53.              END;
  54.           END;
  55.      $61: BEGIN
  56.            IF (Code AND $80)=0
  57.             THEN
  58.              BEGIN
  59.               writeln('Shift (R) gedrückt');
  60.               gedr2:=true;
  61.              END
  62.             ELSE
  63.              BEGIN
  64.               writeln('Shift (R) losgelassen');
  65.               gedr2:=false;
  66.              END;
  67.           END;
  68.      
  69.     ELSE;END;
  70.     IF (gedr1 OR gedr2) AND (Code=$11) THEN writeln('Shift+W');
  71.   Until Code=$10;    { Code: Q }
  72.   Close_Window(Win);
  73.   CloseLib(Intuitionbase);
  74.  End.
  75.  
  76.