home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / z / zsim20.zip / EMUMENU.DEF < prev    next >
Text File  |  1992-01-12  |  2KB  |  57 lines

  1. DEFINITION MODULE EmuMenu;
  2.  
  3. FROM SYSTEM IMPORT BYTE,WORD;
  4.  
  5. TYPE PhysDiskPars = RECORD
  6.            cpm_drive       : BYTE;
  7.                      first_phys_sec  : BYTE;
  8.                      phys_tracks     : BYTE;
  9.            phys_sec_pt     : BYTE;
  10.            bytes_per_sec   : BYTE;
  11.            autologin_flag  : BYTE;
  12.        END;
  13.  
  14. dpb = RECORD
  15.              spt  : WORD;
  16.              bsh  : BYTE;
  17.              blm  : BYTE;
  18.              exm  : BYTE;
  19.              dsm  : WORD;
  20.              drm  : WORD;
  21.              al0  : BYTE;
  22.              al1  : BYTE;
  23.              cks  : WORD;
  24.              off  : WORD;
  25.            END;
  26.      DPBPtr = POINTER TO dpb;
  27.      PDPPtr = POINTER TO PhysDiskPars;
  28.  
  29.  
  30. PROCEDURE DoMenue(x,y:CARDINAL;messages:ARRAY OF CHAR;
  31.                   VAR WinSave:ARRAY OF CHAR;VAR res:CARDINAL);
  32. (* Pop Up Menue, obere linke Ecke des Rahmens bei x,y.
  33.    messages = String mit darzustellenden Menuepunkten; Stringende = 0C.
  34.    Menuepunkte werden durch | getrennt, auch nach letztem Menuepunkt
  35.    MUSS | stehen.
  36.    Jeder Menuepunkt darf durch Druecken eines einzigen Zeichens angewaehlt
  37.    werden, das hell dargestellt wird. Diesem Zeichen muss der Backslash \
  38.    vorangestellt werden.
  39.    Es duerfen maximal 20 Menuepunkte sein.
  40.    WinSave muss genug Platz enthalten, um Hintergrund + dessen Attribute
  41.    abzuspeichern, = (Laengster Menuepunkt+2)*2*(Menuepunkte+2)
  42. *)
  43.  
  44. PROCEDURE EditDPB(p:DPBPtr;q:PDPPtr;
  45.                   VAR WinSave:ARRAY OF CHAR;VAR OK:BOOLEAN);
  46. (* Len WinSave=20*18*2=720 *)
  47.  
  48. PROCEDURE InputString(VAR WinSave,s,p:ARRAY OF CHAR);
  49. (* Es wird vorrausgesetzt, daß prompt p < 30 und string s < 30 *)
  50.  
  51.  
  52. PROCEDURE About(VAR WinSave:ARRAY OF CHAR);
  53. (* Author ausgeben *)
  54.  
  55.  
  56. END EmuMenu.
  57.