PRG_MENU and MENMAKE (C) Copyright 1989 by W.D.Parks All Rights Reserved In response to numerous requests (mostly by the same person), I've decided to update the documentation to PRG_MENU and MENMAKE. PRG_MENU, since titled: PRGMN118, PRGMN119, and most recently PRGMN121 is a seemingly simple Menu dispatcher for GEM files (ie PRG). TOS and TTP files can now also be used and fed a commandline if needed. PRG_MENU provides an eight-slot menu, 8 programs can be listed in one file. If 8 doesn't seem like enough then a chained-menu can easily be linked to the first one, and another to that and another to that... ad infinitum... I chose only 8 slots for two reasons: 1) I wanted to keep PRG_MENU small and very memory UN-hungry. The first version required less than 7k bytes. This latest version, almost 9k. 2) Even on a high-resolution screen, things can get pretty crowded pretty quickly. So... 8 slots. No clutter, no mess (water soluble ink). 3) For floppy diskettes, 8 is fine... if ya need more, just chain another set of 8 selections... 4) For hard drives, 8 is fine for a SET of Applications. I use 6 menus total and I still don't remember what's on 4 of them... I seldom get that far. *) did I say only "two" reasons? Oh. Well I MEANT four. To select an item from the menu, simply click on it or press the respective number key... ( I like things that will work with EITHER mouse or keyboard, I'm not prejudiced.) Ok. Did I say eight slots? Well, there are 8 USER-Programable Program slots. Two more sorta-slots exist. Slot #9: the File_Selector, to execute any program on any drive in any folder anytime anywhere anyway anywhy anywho. Taking up the tenth slot is the "Chained-Menu" slot. Here is where you list another menu name to load in... then clicking on this slot will automatically read in another 'set-of-eight' menu listing. The file that holds the definitions (or more simply, the listing) of the user selections is a normal ascii file, called the MEN file because of its extension ".MEN". Originally, this was a simple 8-line file where each line was a complete pathspec of an application to be run; it looked like this: C:\ARKSHELL.PRG D:\STUFF\SHP2SHP.PRG E:\WORDS\SPELLIR.PRG F:\GAMES\ARCADE\PONG.PRG G:\TOODLE\LOU.PRG H:\GRAPHICS\MVG.PRG C:\REBOOT.PRG F:\READRSRC.PRG That was it. 8 lines of text; no more. But my program was bland. It lacked the oomph I'd wanted. So I opened my book, "Oomph for fun and profit" and decided to add a title line... and I sure would like to just use the file_ selector to pick a program to load and ... why not load in another menu file instead of exiting and re-running... and why make the user type in upper-case and why not allow a short REMark... so... I added those things too. Now, the MEN file can have these extra goodies tossed in so the USER can customize it to his liking... If this seems confusing, start with the simple, no-frills MEN file listed above, then maybe add a title etc etc etc... Rules: 1- Each line must start with a non-space character. 2- Only the very first line can be the title-line. Start it with an asterik: * 3- A chained-menu can be specified by starting the line with the @ sign. 4- Any line starting with a semicolon ";" will be ignored. 5- A pathspec must start in the first column (see rule#1) and continues until the first space character. Anything after the space is considered a remark and is ignored. So.. now our MEN file can appear thus: * A Simple Title up to 18 characters @C:\UTILS.MEN the "chained menu" !C:\FUN\AND\GAMES\BURP.PRG D:\WINE\WOMEN\SONGS\LALA.PRG E:\SINGIN\INTHE\RAIN\MOOG.PRG F:\ARQUE.PRG !G:\OLDIES\WACMAN.PRG E:\GOODIES\MONEY.TTP F:\small\Things.Tos D:\BIGGER\STuff\Jack.Tos The display, of course, will show only the filenames and not the complete pathspec. This is for two reasons: 1) Although I'd prefer the full path to show, it does appear cluttered. 2) Low-Resolution only has 40 columns... why push it? Now, what haven't I told you? (thinkin....) Oh yeah. Clicking on the title box will give you the file selector and ask for another MEN file. That way you can pick ANY menu you want, anywhere, anytime etc etc etc In version 1.21, there is a built-in file READER. Selecting a file other than the standard executable file type (PRG,TOS,TTP,ACC) will automatically bring up the file reader and display the selected file for you. You can page forward with anykey... page back with cursor-up, quit with or Q, even goto top of file with . PRG_MENU is not intended as a replacement for HOTWIRE (by codehead software) but instead is intended as a companion tool... of course, you don't need HotWire to run PRG_MENU (and you don't need PRG_MENU to run HotWire, isn't nature wonderous!?) Version 1.21 of PRG_MENU uses 9k of memory total. It uses the plain Vanilla PEXEC function to execute any selected program. Before execution, the selected file's folder is made into the default folder (ie drive and path) and once it exits, the original drive and path is restored. Originally, no command_line was sent to the selected file. Starting with version 1.19, you may opt to send a command_line to any selected program by pressing the "C" key. A small note will appear in the menu stating that this "C"ommand_line option is enabled. Also in version 1.19, floppy drive support was increased!!! I found PRG_MENU worked just great on floppies. I place all the program names in the menu and then simply run the menu to make my selection(s). Then the big bad bug reared its head one night at a computer club meeting. I had prepared a selection of files on a floppy, complete with my little ole handy-dandy PRG_MENU all set up... I handed it to the guy and he popped it in Drive B: ..... ya see... I don't have a "B:" drive. Never had to worry about this. My MEN file explicity stated all files to be on drive "A:\ etc etc". This has been remedied. If PRG_MENU finds a pathspec that states "A:" or "B:" it will use it's default drive instead (the same one that PRG_MENU was run from). Oh. I almost forgot DEPT. Some programs (Pagestream for example) require you to Reset the computer when you are done. Many games are also best done this way; you don't know what they've done to memory. You can specify any slot to be "Reset-on-exit". Simply start the line with an exclamation point (!). Then when that program is finished and you exit back to (usually the desktop) PRG_MENU, PRG_MENU will do a cold-boot. When PRG_MENU is run, it looks for a MEN file named, PRGMENU.MEN This is the default menu file. No provision exists to alter this default. Once PRG_MENU is run, you can then change to another MEN file but the first one must be named PRGMENU.MEN. If PRGMENU.MEN is not found, you will be asked to select another... so "not to worry". ;----------------------------------------------------------------------------- MENMAKE: A nifty little utility to build a MEN file for the above stated and afore mentioned program (ie PRG_MENU). Even though all that is needed to create a MEN file is any text editor that can write a standard ASCII file, you still have to manually spell out each drive:\path\filename.ext exactly as it exists on your system. This, I found, can get pretty monotonous. In fact, this is what the file_selector was created for in the first place. No? MENMAKE will display a screen, similar in appearance to PRG_MENU, and allow you to point-n-click to whichever slot you want to fill and give you access to the file via the file_selector. You can ADD, DELETE or INSERT any slot you want. You can LOAD an existing MEN file or create one from scratch. Also available is a button to toggle the "Reset-on-exit" for each slot. CLR will erase the whole thing. Clicking on the title_line will prompt for a new title (MENMAKE will center it for you if it is less than 18 characters). CLicking on the 10th slot, will allow you to specify a chained MEN file. Hmmmmmm.... that's about it. ;----------------------------------------------------------------------------- I've found PRG_MENU an indespensible utility. Of course I may be prejudiced on this count... (no. not because I wrote it. because I don't like wading through all those desktop windows trying to find the program I want to run). PRG_MENU and MENMAKE are shareware. If you find yourself using these again and again, remember me (Dr. Bob). A quick $5.00 would be nice... if you insist on sending more... I guess I could force myself to accept it, but I'm not trying to get rich here... just remembered. If you don't have the fiver to send then break out a stamp and write me a small note; tell me what you think of my PRG_MENU... Tell me what you think of the Iran-Contra fiasco, tell me what you think of Paulina Poriczkova... In other words: Send some FEED-BACK. I need input in order to make output. Sinclairly, Dr. Bob 09/21/89