home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1992-01-12 | 1.7 KB | 57 lines |
- DEFINITION MODULE EmuMenu;
-
- FROM SYSTEM IMPORT BYTE,WORD;
-
- TYPE PhysDiskPars = RECORD
- cpm_drive : BYTE;
- first_phys_sec : BYTE;
- phys_tracks : BYTE;
- phys_sec_pt : BYTE;
- bytes_per_sec : BYTE;
- autologin_flag : BYTE;
- END;
-
- dpb = RECORD
- spt : WORD;
- bsh : BYTE;
- blm : BYTE;
- exm : BYTE;
- dsm : WORD;
- drm : WORD;
- al0 : BYTE;
- al1 : BYTE;
- cks : WORD;
- off : WORD;
- END;
- DPBPtr = POINTER TO dpb;
- PDPPtr = POINTER TO PhysDiskPars;
-
-
- PROCEDURE DoMenue(x,y:CARDINAL;messages:ARRAY OF CHAR;
- VAR WinSave:ARRAY OF CHAR;VAR res:CARDINAL);
- (* Pop Up Menue, obere linke Ecke des Rahmens bei x,y.
- messages = String mit darzustellenden Menuepunkten; Stringende = 0C.
- Menuepunkte werden durch | getrennt, auch nach letztem Menuepunkt
- MUSS | stehen.
- Jeder Menuepunkt darf durch Druecken eines einzigen Zeichens angewaehlt
- werden, das hell dargestellt wird. Diesem Zeichen muss der Backslash \
- vorangestellt werden.
- Es duerfen maximal 20 Menuepunkte sein.
- WinSave muss genug Platz enthalten, um Hintergrund + dessen Attribute
- abzuspeichern, = (Laengster Menuepunkt+2)*2*(Menuepunkte+2)
- *)
-
- PROCEDURE EditDPB(p:DPBPtr;q:PDPPtr;
- VAR WinSave:ARRAY OF CHAR;VAR OK:BOOLEAN);
- (* Len WinSave=20*18*2=720 *)
-
- PROCEDURE InputString(VAR WinSave,s,p:ARRAY OF CHAR);
- (* Es wird vorrausgesetzt, daß prompt p < 30 und string s < 30 *)
-
-
- PROCEDURE About(VAR WinSave:ARRAY OF CHAR);
- (* Author ausgeben *)
-
-
- END EmuMenu.