home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / CLIPMN50.ZIP / CLIPTEST.MNU < prev    next >
Encoding:
Text File  |  1988-06-09  |  15.0 KB  |  321 lines

  1. Introduction
  2. ═══════════════════════════════════════════════════════════════════════════════
  3. The program will not translate these lines because they do NOT have a
  4. delimiter.  This is useful when you want to internally document a menu
  5. outline.
  6.  
  7. This is the document file for ClipMenu Summer '87 by John Kaster
  8.  
  9. Based on Artificial Intelligence techniques - I'm told that I must be
  10. artificially intelligent, and these are my techniques, so . . .
  11. ═══════════════════════════════════════════════════════════════════════════════
  12.  
  13. The parameters passed are:
  14. ClipMenu <input file name>,<output file name>,<full program>,<delimiter>
  15. If the first or second parameter is not passed, you will be prompted for them
  16. Third parameter:   "Y", "y", "N", "n". Default="Y"
  17. Fourth parameter:  defaults to ASCII character 124 decimal, 7C hex
  18.  
  19. Limits on the parts of the menu outline:
  20.   Each line can be no longer than 255 characters, each part divided however
  21.   you want
  22.  
  23. Type "ClipMenu CLIPTEST CLIPTEST" for a demonstration of this program, then
  24. look at CLIPTEST.PRG.
  25.  
  26. NEW FEATURES (August 1, 1987):
  27.  
  28. 1)  Faster screen displays by saving screens for the various menu options.  If
  29. you are cramped for memory, simply add "RELEASE <procname>"  (where <procname>
  30. is the name of the procedure [also the SAVED SCREEN] that you are in) to each
  31. procedure right before the "RETU" statement.  You will have slower screens, but
  32. you won't run out of memory.
  33.  
  34. 2)  For any menu option, you can INCLUDE or INSERT a text file for that option
  35. so that if you want to do multiple actions under one menu option without
  36. making it a procedure (as in the case of when you want to create a GLOBAL
  37. array), you don't have to recode the menu system every time you change the
  38. menu.  Just put that text into an ASCII file and tell the program to insert it
  39. at that menu option with the code '■I' (character 254 decimal followed by an
  40. upper or lowercase "I").  See the examples in the menu.
  41.  
  42. NEW FEATURES (August 29, 1987):
  43.  
  44. 3)  If you need to set up reference arrays in your main program so the arrays
  45. be used globally (when, for instance, you're using my InArray() function) you
  46. can put it on a line before the menu starts, as in ■IARRCHECK.PRC.  You can
  47. set up an array to be used globally inside anything called from within a
  48. submenu by including the file anywhere underneath that main menu option.
  49. Pretty slick, huh?
  50.  
  51. 4)  RAM testing to determine if you have enough free RAM to save the sub-menu
  52. screens.
  53.  
  54. NEW FEATURES (August 31, 1987):
  55.  
  56. 5)  A configuration file has been implemented.  Put it in the same directory
  57. as ClipMenu and name it CLIPMENU.CMC.  The following lines are what it
  58. contains:
  59. Line  Contents
  60. ====  ======================================================
  61.  1    Your Name
  62.  2    Your Copyright Notice
  63.  3    DON'T INCLUDE or INCLUDE
  64.       (To include the utilities found in my library)
  65.  4    DON'T TRACE or TRACE
  66.       (To internally document the menu outline by listing where each level is
  67.       called from)
  68.  
  69. NEW FEATURES (October 28, 1987):
  70.  
  71. 6)  An "unlimited" depth of pop-up menus from the pull-down menu (level 1).
  72. The program is not sensitive to screen boundaries, but if you set up your
  73. menu correctly, with "Quit" as the rightmost option, there should be no
  74. problem with invalid screen ranges.  The example menu is not intended to be
  75. an example of good menuing structure - it's very poor.  It's just intended
  76. to demonstrate the power of the menu generator.  I would seriously wonder
  77. about any menu system that had to go that deep for a user to do something.
  78.  
  79. NEW FEATURES (June 9, 1988):
  80.  
  81. 7)  Converted to support Clipper Summer '87, Tom Rettig's library or any
  82. other additional libraries are no longer needed.  The new version is compiled
  83. with Turbo Pascal version 4.0 (Hence the .EXE extension on the program), also
  84. fixed the color bug on the pop-up levels after the second pull-down level.
  85.  
  86. Responses
  87. If you like this program and want to use it to help create your applications,
  88. please send $15.00 to:
  89.  
  90. John Kaster
  91. 6064 Old Landing Way
  92. Burke, VA 22015
  93. 703/250-9884
  94.  
  95. For a faster response, leave a message for John Kaster on:
  96.  
  97. EXEC-PC BBS in Milwaukee, WI  414/964-5160
  98. 1200 - 9600 BAUD
  99.  
  100. - or -
  101.  
  102. The BREEZE in Virginia 703/920-7028
  103. 2400 BAUD
  104.  
  105. If you do buy this utility, you will be informed of any updates or other
  106. Clipper(tm) utilities I create.
  107.  
  108. Revision History
  109. John Kaster
  110. Original:  September 22, 1986
  111. Revised.:  January 11, 1987
  112. Revised.:  January 24, 1987
  113. Revised.:  March 6, 1987
  114. Revised.:  July 25, 1987
  115. Revised.:  August 1, 1987
  116. Revised.:  August 29, 1987
  117. Revised.:  October 28, 1987
  118. Revised.:  June 6, 1988
  119.  
  120. GRIPES
  121. All the enhancements to this system I have created out of my own SUPERB
  122. imagination.  The only responses to ClipMenu came from co-workers in my own
  123. office.  I think some people out there must be using this utility, because I
  124. see it on boards that I didn't load it on.  Or else you're all just trying to
  125. get download credit!  Anyway, the reason I released this program into the
  126. public domain was to get some helpful suggestions.  If I don't get any
  127. helpful responses, I'm not going to bother uploading it any more.  How's that
  128. for spiteful!  I'm interested in seeing how I can improve this system with
  129. other programmer's suggestions . . . or don't you guys (and gals) think you
  130. can teach me anything?
  131.  
  132. Example menu - introduction
  133. ──────────────────────────────────────────────────────────────────────────────
  134. Below is a demonstration menu outline for ClipMenu.COM.  All lines with the
  135. delimiter you define that have a leading "." are considered a suboption.  The
  136. depth of the menu option is indicated by the number of periods.  No error or
  137. warning messages occur in this version for improperly nested levels, so pay
  138. attention to what you're doing.
  139.  
  140. For procedures that have a space (refer to GO BOTT under browse), the DO will
  141. be omitted in the menu generation.  If you use "RETU", or "QUIT" (exactly like
  142. that), CLIPMENU will omit the "DO " in front of them.  This test IS case
  143. sensitive.
  144.  
  145. One possible problem occurs when the left and right arrow keys are stuffed for
  146. moving through the submenus.  If you have a top menu option that doesn't have
  147. any submenus, it will be automatically executed because of the way the
  148. keys are programmed.
  149.  
  150. Happy Computing!
  151. Menu System Outline - Syntactical examples
  152. ──────────────────────────────────────────────────────────────────────────────
  153.  
  154. Modify|Modify|Change data in the selected data file
  155.  . Browse|■IModify.1|Browse through the data file quickly
  156.  . Delete|* DO CHNGREC WITH 'Delete'|Mark a record for deletion
  157.  . Edit|Update|Add or change a record in the selected data file
  158.  . . First|SELE1|Edit the first file
  159.  . . . Add|Addrec|Add a record to the file 1
  160.  . . . . Name|* Get by Name|Add a record by name
  161.  . . . . Date|* Get by Date|Add a record by date
  162.  . . . . Title|* Get by Title|Add a record by title
  163.  . . . . Quit|RETU|Return to the previous menu
  164.  . . . Delete|* DelRec|Delete a record from the file 1
  165.  . . . Change|* Change|Change a record from file 1
  166.  . . . Quit|RETU|Return to the Editing file 1 menu
  167.  . . Second|SELE2|Edit the second file
  168.  . . . Add|* Addrec|Add a record to the file 2
  169.  . . . Delete|* DelRec|Delete a record from the file 2
  170.  . . . Change|* Change|Change a record from file 2
  171.  . . . Quit|RETU|Return to the Editing file 2 menu
  172.  . . Third|SELE3|Edit the third file
  173.  . . . Add|* Addrec|Add a record to the file 3
  174.  . . . Delete|* DelRec|Delete a record from the file 3
  175.  . . . Change|* Change|Change a record from file 3
  176.  . . . Quit|RETU|Return to the Editing file 3 menu
  177.  . . Quit|RETU|Return to the Modify menu
  178.  . Pack|* PACKEM|Remove all records marked for deletion from the selected data file
  179.  . Restore|* DO CHNGREC WITH 'Restore'|UN-delete a record
  180.  . Status|* STATS|Status report on the system
  181.  . Quit|RETU|Return to the main menu
  182. Report|ReptMenu|Print a report
  183.  . Output|OpChoice|Select direction for output
  184.  . . Disk|* DO SELEFILE WITH '*.TXT'|Send output to a DISK FILE
  185.  . . Printer|OUTPUT = 'P'|Send output to the PRINTER
  186.  . . Screen|OUTPUT = 'S'|Send output to the SCREEN
  187.  . . Quit|RETU|Abort sending output anywhere
  188.  . Graph|* DO Graph|Get my file HPPLOTxx.ARC!
  189.  . Print|* DO Rept|Get my file HPLJLBxx.ARC!
  190.  . Quit|RETU|Return to the main menu
  191. Quit|QuitIt|Quit the ClipMenu 3.5 Demonstration system
  192.  . Yes|keyboard chr(27)+chr(27)|Yes, Quit the ClipMenu 3.5 Demonstration system
  193.  . No|RETU|No, return to the main menu
  194.  . Info|Info|Get information on the windowing functions
  195.  . . First|INFO1|Select the first file
  196.  . . . General|Gen1|Get general information
  197.  . . . . Job|Job11|Get information by Job in level 1
  198.  . . . . . X Prompt|* Last prompt|Last level
  199.  . . . . . Y Prompt|* Last prompt|Last level
  200.  . . . . . Z Prompt|* Last prompt|Last level
  201.  . . . . . Quit|RETU|Return to the previous menu
  202.  . . . . Specific|Spec11|Get specific information
  203.  . . . . . X Prompt|* Last prompt|Last level
  204.  . . . . . Y Prompt|* Last prompt|Last level
  205.  . . . . . Z Prompt|* Last prompt|Last level
  206.  . . . . . Quit|RETU|Return to the previous menu
  207.  . . . . Help|Help11|Get some help (professional, that is)
  208.  . . . . . X Prompt|* Last prompt|Last level
  209.  . . . . . Y Prompt|* Last prompt|Last level
  210.  . . . . . Z Prompt|* Last prompt|Last level
  211.  . . . . . Quit|RETU|Return to the previous menu
  212.  . . . . Quit|RETU|Return to the previous menu
  213.  . . . Name|Name1|Get information by name in level 1
  214.  . . . . Job|* Job12|Get information by Job in level 1
  215.  . . . . Specific|* Spec12|Get specific information
  216.  . . . . Help|* Help12|Get some help (professional, that is)
  217.  . . . . Quit|RETU|Return to the previous menu
  218.  . . . Date|Date1|Get information by Date in level 1
  219.  . . . . Job|* Job13|Get information by Job in level 1
  220.  . . . . Specific|* Spec13|Get specific information
  221.  . . . . Help|* Help13|Get some help (professional, that is)
  222.  . . . . Quit|RETU|Return to the previous menu
  223.  . . . Title|Title1|Get information by Title in level 1
  224.  . . . . Job|Job14|Get information by Job in level 1
  225.  . . . . . X Prompt|* Last prompt|Last level
  226.  . . . . . Y Prompt|* Last prompt|Last level
  227.  . . . . . Z Prompt|* Last prompt|Last level
  228.  . . . . . Quit|RETU|Return to the previous menu
  229.  . . . . Specific|Spec14|Get specific information
  230.  . . . . . X Prompt|* Last prompt|Last level
  231.  . . . . . Y Prompt|* Last prompt|Last level
  232.  . . . . . Z Prompt|* Last prompt|Last level
  233.  . . . . . Quit|RETU|Return to the previous menu
  234.  . . . . Help|Help14|Get some help (professional, that is)
  235.  . . . . . X Prompt|* Last prompt|Last level
  236.  . . . . . Y Prompt|* Last prompt|Last level
  237.  . . . . . Z Prompt|* Last prompt|Last level
  238.  . . . . . Quit|RETU|Return to the previous menu
  239.  . . . . Quit|RETU|Return to the previous menu
  240.  . . . Position|Position1|Get information by Position in level 1
  241.  . . . . Job|* Job15|Get information by Job in level 1
  242.  . . . . Specific|* Spec15|Get specific information
  243.  . . . . Help|* Help15|Get some help (professional, that is)
  244.  . . . . Quit|RETU|Return to the previous menu
  245.  . . . Salary|Salary1|Get information by Salary in level 1
  246.  . . . . Job|* Job16|Get information by Job in level 1
  247.  . . . . Specific|* Spec16|Get specific information
  248.  . . . . Help|* Help16|Get some help (professional, that is)
  249.  . . . . Quit|RETU|Return to the previous menu
  250.  . . . Quit|RETU|Return to the previous menu
  251.  . . Second|INFO2|Select the second file
  252.  . . . General|Gen2|Get general information
  253.  . . . . Job|* Job21|Get information by Job in level 2
  254.  . . . . Specific|* Spec21|Get specific information
  255.  . . . . Help|* Help21|Get some help (professional, that is)
  256.  . . . . Quit|RETU|Return to the previous menu
  257.  . . . Name|Name2|Get information by name in level 2
  258.  . . . . Job|* Job22|Get information by Job in level 2
  259.  . . . . Specific|* Spec22|Get specific information
  260.  . . . . Help|* Help22|Get some help (professional, that is)
  261.  . . . . Quit|RETU|Return to the previous menu
  262.  . . . Date|Date2|Get information by Date in level 2
  263.  . . . . Job|* Job23|Get information by Job in level 2
  264.  . . . . Specific|* Spec23|Get specific information
  265.  . . . . Help|* Help23|Get some help (professional, that is)
  266.  . . . . Quit|RETU|Return to the previous menu
  267.  . . . Title|Title2|Get information by Title in level 2
  268.  . . . . Job|* Job24|Get information by Job in level 2
  269.  . . . . Specific|* Spec24|Get specific information
  270.  . . . . Help|* Help24|Get some help (professional, that is)
  271.  . . . . Quit|RETU|Return to the previous menu
  272.  . . . Position|Position2|Get information by Position in level 2
  273.  . . . . Job|* Job25|Get information by Job in level 2
  274.  . . . . Specific|* Spec25|Get specific information
  275.  . . . . Help|* Help25|Get some help (professional, that is)
  276.  . . . . Quit|RETU|Return to the previous menu
  277.  . . . Salary|Salary2|Get information by Salary in level 2
  278.  . . . . Job|* Job26|Get information by Job in level 2
  279.  . . . . Specific|* Spec26|Get specific information
  280.  . . . . Help|* Help26|Get some help (professional, that is)
  281.  . . . . Quit|RETU|Return to the previous menu
  282.  . . . Quit|RETU|Return to the previous menu
  283.  . . Third|INFO3|Select the third file
  284.  . . . General|Gen3|Get general information
  285.  . . . . Job|* Job31|Get information by Job in level 3
  286.  . . . . Specific|* Spec31|Get specific information
  287.  . . . . Help|* Help31|Get some help (professional, that is)
  288.  . . . . Quit|RETU|Return to the previous menu
  289.  . . . Name|Name3|Get information by name in level 3
  290.  . . . . Job|* Job32|Get information by Job in level 3
  291.  . . . . Specific|* Spec32|Get specific information
  292.  . . . . Help|* Help32|Get some help (professional, that is)
  293.  . . . . Quit|RETU|Return to the previous menu
  294.  . . . Date|Date3|Get information by Date in level 3
  295.  . . . . Job|* Job33|Get information by Job in level 3
  296.  . . . . Specific|* Spec33|Get specific information
  297.  . . . . Help|* Help33|Get some help (professional, that is)
  298.  . . . . Quit|RETU|Return to the previous menu
  299.  . . . Title|Title3|Get information by Title in level 3
  300.  . . . . Job|* Job34|Get information by Job in level 3
  301.  . . . . Specific|* Spec34|Get specific information
  302.  . . . . Help|* Help34|Get some help (professional, that is)
  303.  . . . . Quit|RETU|Return to the previous menu
  304.  . . . Position|Position3|Get information by Position in level 3
  305.  . . . . Job|* Job35|Get information by Job in level 3
  306.  . . . . Specific|* Spec35|Get specific information
  307.  . . . . Help|* Help35|Get some help (professional, that is)
  308.  . . . . Quit|RETU|Return to the previous menu
  309.  . . . Salary|Salary3|Get information by Salary in level 3
  310.  . . . . Job|* Job36|Get information by Job in level 3
  311.  . . . . Specific|* Spec36|Get specific information
  312.  . . . . Help|* Help36|Get some help (professional, that is)
  313.  . . . . Quit|RETU|Return to the previous menu
  314.  . . . Quit|RETU|Return to the previous menu
  315.  . . Quit|RETU|Return to the Info menu
  316.  
  317. ──────────────────────────────────────────────────────────────────────────────
  318. Please note - you MUST have at least one extra line at the end of the menu
  319. outline file.  Otherwise, your last option will not be translated.
  320. ──────────────────────────────────────────────────────────────────────────────
  321.