home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL3.DMS / in.adf / DEMOS-OS2.0 / AppItem.p < prev    next >
Encoding:
Text File  |  1994-08-25  |  1.3 KB  |  51 lines

  1. { Programm:  AppMenu
  2.   ~~~~~~~~
  3.   Sprache:   MaxonPASCAL 3 / KickPascal 2.12 / OS 2.0-Includes
  4.  
  5.   Sinn:      Programm zeigt wie man ein einfaches AppMenuItem
  6.   ~~~~~      programmiert und wie man mit selbigem arbeitet.
  7.  
  8.   Autor:     PackMAN
  9.   ~~~~~~     c/o Falk Zühlsdorff
  10.              Lindenberg 66
  11.              D-98693 Ilmenau/Thüringen
  12.  
  13.   ©:         FREEWARE, Autor wird in .dok / Infofenster des nicht-
  14.   ~~                   kommerziellen Progr. erwähnt.
  15.  
  16.   Kommentar: Version für MAXON                            
  17.   ~~~~~~~~~~ ab OS2                                                    }
  18.  
  19. PROGRAM appitem;
  20. USES EXEC;
  21. {$INCL 'dos.lib','workbench/startup.h','wb.lib'}
  22.  
  23. VAR myPort    : p_MsgPort;
  24.     MyAppItem : p_AppMenuItem;
  25.     AppMsg    : p_AppMessage;
  26.     back      : boolean;
  27.     mytask    : p_Task;
  28.  
  29. BEGIN
  30.  mytask:=NIL;
  31.  mytask:=FindTask('Workbench');      { Ist die Workbench offen ???} 
  32.  IF mytask=NIL THEN exit;            { NEIN: und tschüß }
  33.  myPort:=NIL;
  34.  MyAppItem:=NIL;
  35.  workbenchbase:=OpenLibrary('workbench.library',37);
  36.  IF workbenchbase=NIL THEN exit;
  37.  myport:=CreateMsgPort;
  38.  IF myPort=NIL THEN Exit;
  39.  MyAppItem:=AddAppMenuItemA(0,0,'ItemTest',myport,NIL);
  40.  IF MyappItem=NIL THEN exit;
  41.  AppMsg:=wait_port(myport)
  42.  AppMsg:=get_msg(myport);       
  43.  Reply_Msg(AppMsg);
  44.  
  45.  back:=RemoveAppMenuItem(MyAppItem);
  46.  
  47.  DeleteMsgPort(myport);
  48. END.
  49.  
  50.  
  51.