home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / INHP12.ZIP / INSTAHLP.DOC < prev    next >
Encoding:
Text File  |  1988-03-06  |  37.3 KB  |  793 lines

  1.  
  2.  
  3.                           Instant Help - INSTAHLP (c) 1988
  4.                           Instant Help - INSTAHLP (c) 1988
  5.                           Instant Help - INSTAHLP (c) 1988
  6.                           Instant Help - INSTAHLP (c) 1988
  7.                                  Richard A. Murphy
  8.                                  Richard A. Murphy
  9.                                  Richard A. Murphy
  10.                                  Richard A. Murphy
  11.  
  12.  
  13.            Disclaimer:  I know it doesn't make you very confident to see
  14.                         the disclaimer as the first thing in the
  15.                         documentation, but...
  16.  
  17.                         The author or his company are not responsible
  18.                         for any damages implied or real to your programs
  19.                         or data as a result of the use of this system.
  20.  
  21.            However:     These programs have been beta tested in real
  22.                         life applications, and to the best of my
  23.                         ability are free from any harmful side-effects
  24.                         that may result in loss or corruption of data or
  25.                         programs.
  26.  
  27.  
  28.  
  29.                              *** Table of Contents ***
  30.  
  31.            Disclaimer ..............................................  1
  32.            Introduction ............................................  2
  33.            Linking and Running HLTEST.PRG ..........................  3
  34.            Run Instructions ........................................  4
  35.            Parameters Screen .......................................  4
  36.            Help Text Editing Keys ..................................  8
  37.            General Discussion ......................................  9
  38.            Exceptions to Instant Help Version 1.2 .................. 10
  39.            File Structure of HELP.DBF .............................. 11
  40.            Acknowledgment to PROCLIP2.LIB .......................... 11
  41.            Registration form for Instant Help System Version 1.2 ... 12
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.                                        Page 1
  70.                                        Page 1
  71.                                        Page 1
  72.                                        Page 1
  73.  
  74.  
  75.  
  76.  
  77.  
  78.                           Instant Help - INSTAHLP (c) 1988
  79.                           Instant Help - INSTAHLP (c) 1988
  80.                           Instant Help - INSTAHLP (c) 1988
  81.                           Instant Help - INSTAHLP (c) 1988
  82.                                  Richard A. Murphy
  83.                                  Richard A. Murphy
  84.                                  Richard A. Murphy
  85.                                  Richard A. Murphy
  86.  
  87.  
  88.                 This package is intended for use with the Clipper Summer
  89.            '87 compiler.  Use of any previous versions will NOT work.
  90.  
  91.                 If you like what you see and want to use it in your
  92.            programs, I am asking $25 (U.S.) or your word as a fellow
  93.            developer that the library will either be destroyed or given
  94.            to someone else to look at.  An extra $25 (U.S.) and you will
  95.            receive a copy of the source to modify to your heart's
  96.            content!!  You know where people go who STEAL!!  Also, please
  97.            feel free to distribute this library to your friends/enemies.
  98.            And as always, any comments, suggestions, death threats,
  99.            etc... are welcome and will be considered.
  100.  
  101.            Thanks,
  102.  
  103.  
  104.            Richard.
  105.  
  106.                 OK, on to more important subjects.  This package
  107.            contains the following programs/files:
  108.  
  109.                 1) INHP12.LIB    --  The Instant Help Version 1.2
  110.                                      Library.
  111.                    NOTE:  The HELP.* files are NOT part of the original
  112.                           package.  They will be made if not currently
  113.                           present when ALT+H is pressed for the first
  114.                           time when you are creating help.
  115.                 2) HELP.DBF      --  The database for your help screens.
  116.                 3) HELP.DBT      --  The memo file for HELP.DBF.
  117.                 4) HELP.NTX      --  The index created by HELP and
  118.                                      INSTAHLP.PRG.
  119.                 5) HLTEST.PRG    --  The demo test program.  Feel free
  120.                                      to look at it to see how easy it is
  121.                                      to use the system.  This program
  122.                                      needs to be compiled by CLIPPER
  123.                                      S'87 before you can link it.
  124.                 6) HLPEXC.PRG    --  The program for  exceptions.  To be
  125.                                      included in programs that use the
  126.                                      inkey() statement and MEMOEDIT (see
  127.                                      exceptions discussion below).
  128.                 7) INSTAHLP.DOC  --  The file you're reading right now.
  129.  
  130.            NOTE:  If your package does NOT contain the HELP.DBF,
  131.                   HELP.DBT and HLTEST.PRG, you need to download
  132.                   IN12DEMO.ARC from your bulletin board in order to run
  133.                   the demo.  If you are unfamiliar with this system, I
  134.                   highly recommend down-loading and running the demo.
  135.                   If your package does NOT contain INHP12.LIB, then you
  136.                   MUST download INHP12.ARC from your bulletin board in
  137.                   order to run the demo OR use the system.
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.                                        Page 2
  145.                                        Page 2
  146.                                        Page 2
  147.                                        Page 2
  148.  
  149.  
  150.  
  151.  
  152.  
  153.                           Instant Help - INSTAHLP (c) 1988
  154.                           Instant Help - INSTAHLP (c) 1988
  155.                           Instant Help - INSTAHLP (c) 1988
  156.                           Instant Help - INSTAHLP (c) 1988
  157.                                  Richard A. Murphy
  158.                                  Richard A. Murphy
  159.                                  Richard A. Murphy
  160.                                  Richard A. Murphy
  161.  
  162.  
  163.  
  164.                           *** To Link and Run the Demo ***
  165.  
  166.                 1) Compile HLTEST.PRG with CLIPPER S'87.
  167.                 2) Link using CLIPPER.LIB, EXTEND.LIB and INHP12.LIB
  168.  
  169.                    With DOS LINK:
  170.                       link hltest,,,clipper extend inhp12
  171.  
  172.                    With PLINK86:
  173.                       PLINK86 FI HLTEST LIB CLIPPER, EXTEND, INHP12
  174.  
  175.            Execute HLTEST and enjoy!
  176.  
  177.            To link with your program, you will need to do the following:
  178.  
  179.                1)  Somewhere (I do it at the beginning) in your program
  180.                    put the following instructions:
  181.  
  182.                    external instahlp, help  && For making help screens.
  183.                    set key 291 to instahlp  && ALT+H triggers creating
  184.                                                help.
  185.  
  186.                This will cause link/plink86 to look for the modules
  187.                INSTAHLP.OBJ and HELP.OBJ in the library and will set
  188.                ALT+H to INSTAHLP.
  189.  
  190.                 2)  Make sure you erase HELP.DBF, HELP.DBT and HELP.NTX
  191.                     from the current directory (Of course, don't erase
  192.                     HELP if you are currently working on it) and the
  193.                     programs will create it the first time you press
  194.                     ALT+H.  At any time if you suspect an index error,
  195.                     simply erase HELP.NTX and the programs will re-
  196.                     create it.
  197.  
  198.                 3)  When you are done creating your help screens and are
  199.                     ready to give the program to your customer, simply
  200.                     remove "instahlp" from the external statement and
  201.                     delete (I usually comment it out) the instruction --
  202.                     set key 291 to instahlp.  When the customer hits
  203.                     ALT+H, nothing will happen, but when he hits F1 --
  204.                     WOW!!
  205.  
  206.  
  207.               A more in-depth discussion follows the RUN Instructions.
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.                                        Page 3
  220.                                        Page 3
  221.                                        Page 3
  222.                                        Page 3
  223.  
  224.  
  225.  
  226.  
  227.  
  228.                           Instant Help - INSTAHLP (c) 1988
  229.                           Instant Help - INSTAHLP (c) 1988
  230.                           Instant Help - INSTAHLP (c) 1988
  231.                           Instant Help - INSTAHLP (c) 1988
  232.                                  Richard A. Murphy
  233.                                  Richard A. Murphy
  234.                                  Richard A. Murphy
  235.                                  Richard A. Murphy
  236.  
  237.  
  238.                               **  RUN INSTRUCTIONS  **
  239.  
  240.                 As you probably have figured out by now, to activate the
  241.            program, press ALT+H (assuming you have "set key 291 to
  242.            instahlp" in your program).  When ALT+H is pressed in a
  243.            "wait" state, a box will appear in the upper left corner of
  244.            your screen.  Enter the screen number you wish to edit (1-9).
  245.            If a generic help (see Variable: below) is defined, the
  246.            question Specific / Generic: will appear.  Press "G" if you
  247.            wish to edit the generic help screen, or "S" if you wish to
  248.            create a specific help screen for that variable.  The
  249.            Specific / Generic: question will ONLY appear on a variable
  250.            that does not have a specific help defined (see Variable:
  251.            below).  Next, a bigger box (the Parameters Screen) will
  252.            appear to add the help screen specific information.  If the
  253.            help screen you are editing already exists, the Help Text
  254.            will appear for editing first.  You must then press ALT+F5 to
  255.            edit the Parameters Screen (refer to Help Text Editing Keys
  256.            below).
  257.  
  258.                              *** Parameters Screen ***
  259.  
  260.                         ┌─────────────────────────────────┐
  261.                         │     Program:  HLTEST            │
  262.                         │    Variable:  VAR1              │
  263.                         │   Box Chars:  ░░░░░░░░          │
  264.                         │   Box Color:  R/R               │
  265.                         │  Text Color:  G+                │
  266.                         │      Header:  [ Help for scre   │
  267.                         │      Footer:  [ PgDn, Or any    │
  268.                         │  Head Color:  W+                │
  269.                         │  Foot Color:  W+                │
  270.                         │      Shadow:  Y                 │
  271.                         │   Sh. Color:  R/N               │
  272.                         │     Overlay:  Y                 │
  273.                         │  Pause Time:  10                │
  274.                         │                                 │
  275.                         │  *** Press ALT+H For Help ***   │
  276.                         └─────────────────────────────────┘
  277.  
  278.                  NOTE:  At anytime while editing, the following keys are
  279.                         available:
  280.                         <ALT>+<F1> Help Screen.
  281.                         <ESC>      Abort.
  282.                         <ENTER>    Accept current field editing.
  283.                         <CTRL-U>   Undo changes of current field.
  284.                         <HOME>     Go to beginning of current field.
  285.                         <PGDN>     Complete all fields displayed for
  286.                                    editing.
  287.                         <INS>      Toggle Insert/Overlay text modes.
  288.                                    NOTE:  When <ENTER> is pressed,
  289.                                           Insert mode is automatically
  290.                                           off.
  291.  
  292.  
  293.  
  294.                                        Page 4
  295.                                        Page 4
  296.                                        Page 4
  297.                                        Page 4
  298.  
  299.  
  300.  
  301.  
  302.  
  303.                           Instant Help - INSTAHLP (c) 1988
  304.                           Instant Help - INSTAHLP (c) 1988
  305.                           Instant Help - INSTAHLP (c) 1988
  306.                           Instant Help - INSTAHLP (c) 1988
  307.                                  Richard A. Murphy
  308.                                  Richard A. Murphy
  309.                                  Richard A. Murphy
  310.                                  Richard A. Murphy
  311.  
  312.  
  313.                         *** Parameters Screen Continued ***
  314.  
  315.            Program:  The name of the program when ALT+H was pressed.
  316.  
  317.            Variable:  The name of the variable when ALT+H was pressed.
  318.               Valid entries are the variable name calling Instant Help,
  319.               or an empty field.  There are different uses for this
  320.               parameter.  By leaving this information blank, the help
  321.               screen you define here will be a GENERIC help screen for
  322.               that procedure.  This allows you to have a combination of
  323.               specific and non-specific help for that screen/procedure.
  324.               This means if you have three variables in an edit screen
  325.               and you define a specific help for VAR1 and a non-specific
  326.               help for VAR2, when F1 is pressed on VAR1, the specific
  327.               help you wrote will come up.  But when the user presses F1
  328.               on VAR2 OR VAR3, the generic help you defined for VAR2
  329.               appears on BOTH!  You may edit the generic help on any
  330.               variable that does not have specific help for that
  331.               screen/procedure.  For this reason, I suggest (it is also
  332.               good programming etiquette) to have each entry/edit screen
  333.               in it's own procedure.  This would allow you to make a
  334.               generic help for each screen.  If you define more than one
  335.               screen per procedure, and have a generic help, it will
  336.               appear on ANY wait state in that procedure.  All of this
  337.               is with the exception of the "WAIT" and "INKEY()" command
  338.               (see exceptions discussion below).  Since Clipper will not
  339.               send a variable name from a "WAIT" statement even if you
  340.               have the line "WAIT TO VAR" in your program, the help
  341.               system will ignore any attempts for help, or to create
  342.               help from this wait state.  If you wish to create a
  343.               specific help on a variable that currently uses a generic
  344.               help, answer "S" to the question Generic / Specific: that
  345.               appears after Screen: when a generic help exists.  To turn
  346.               a generic help into a specific help, simply insert the
  347.               variable name that you are editing into the Variable:
  348.               prompt which is currently blank (since Instant Help will
  349.               NOT allow a different variable name to be entered other
  350.               than the variable that has called Instant Help, by
  351.               entering any characters into the Variable: field, the
  352.               system will automatically insert the correct variable
  353.               name).
  354.  
  355.            Box Chars:  Enter Box chars.  Clipper's BOX command is used,
  356.               so define the characters from upper-left corner clockwise
  357.               to the left vertical line.  Look at your Clipper Manual
  358.               for the @ BOX command description for ideas.  Hint: try
  359.               using the characters 176 (default), 177 and 178 (enter in
  360.               the field by pressing ALT+176...) in your boxes.  Since
  361.               these characters are part foreground and part background,
  362.               you can create colors that are NOT part of the computer's
  363.               color scheme by "blending" colors (See Box Color: below).
  364.  
  365.  
  366.  
  367.  
  368.  
  369.                                        Page 5
  370.                                        Page 5
  371.                                        Page 5
  372.                                        Page 5
  373.  
  374.  
  375.  
  376.  
  377.  
  378.                           Instant Help - INSTAHLP (c) 1988
  379.                           Instant Help - INSTAHLP (c) 1988
  380.                           Instant Help - INSTAHLP (c) 1988
  381.                           Instant Help - INSTAHLP (c) 1988
  382.                                  Richard A. Murphy
  383.                                  Richard A. Murphy
  384.                                  Richard A. Murphy
  385.                                  Richard A. Murphy
  386.  
  387.  
  388.            Box Color:  Color statement for Color Monitor;Color statement
  389.               for Black & White monitor.  Ex; R/N;W/N defines Red/Black
  390.               for color monitors, and White/Black for Black & White
  391.               monitors.  No syntax checking is preformed on ANY color
  392.               statements.  Color Shading:  If you use the example above
  393.               of using ASCII 176, 177 or 178 as your box characters, try
  394.               using "R/GR+" (RED/YELLOW) as your box color or "BG+/G"
  395.               (Bright CYAN/GREEN) or any other color combinations.  The
  396.               same applies to the "SHADOW" colors since ASCII Character
  397.               176 is used as the "Shadow" (see Shadow: for more
  398.               details).
  399.  
  400.            Text Color:  Color for text inside of box.  Refer to Box
  401.                         Color:
  402.  
  403.            Header:  Message to be displayed at the top of the help box.
  404.  
  405.            Footer:  Message to be displayed at the bottom of the help
  406.               box.  I usually have this message say something like,
  407.               Press any key...; Press PgUp or any key... (for screens
  408.               that have a screen before it); Press PgUp, PgDn or any
  409.               key...  (for screens that have screens above and below
  410.               them); or Press PgDn or any key...  (for the first screen
  411.               if there is a screen 2, 3, etc...).  NOTE: This system
  412.               uses PgUp to go up a screen (ex; from screen 2 to 1) and
  413.               PgDn to go down a screen (ex; from screen 1 to 2).  If
  414.               PgUp is pressed on Screen 1, the help is finished.  If
  415.               PgDn is pressed on the last defined screen (Upper limit of
  416.               9, lower limit of 1), the help is finished.
  417.  
  418.               NOTE:  On the Header and Footer messages, what you type is
  419.                      what you get.  For example, if you type "Hit a
  420.                      key", the box will surround your statement without
  421.                      any spaces.  If you type instead, "[ Hit a key ]"
  422.                      or "*** Hit a key ***", it is much more readable
  423.                      for your customer.
  424.  
  425.            Head Color:  Color for Header Message.  Refer to Box Color:
  426.  
  427.            Foot Color:  Color for Footer Message.  Refer to Box Color:
  428.  
  429.            Shadow:  Y/N -- Display a shadow around box?  The shadow is
  430.               displayed by the left vertical box line and under the
  431.               bottom box line to give the appearance of a three-
  432.               dimensional box.
  433.  
  434.            Sh. Color:  Color for shadow (Only valid if Shadow: = Y).
  435.               ASCII Character 176 (░) is used for the shadow.  This
  436.               character is a box with some of the pixels defined in the
  437.               foreground color, and most of them in the background
  438.               color.  This can give a "shadow" effect with the right
  439.               color combinations.  Experiment!  Refer to Box Color:.
  440.  
  441.  
  442.  
  443.  
  444.                                        Page 6
  445.                                        Page 6
  446.                                        Page 6
  447.                                        Page 6
  448.  
  449.  
  450.  
  451.  
  452.  
  453.                           Instant Help - INSTAHLP (c) 1988
  454.                           Instant Help - INSTAHLP (c) 1988
  455.                           Instant Help - INSTAHLP (c) 1988
  456.                           Instant Help - INSTAHLP (c) 1988
  457.                                  Richard A. Murphy
  458.                                  Richard A. Murphy
  459.                                  Richard A. Murphy
  460.                                  Richard A. Murphy
  461.  
  462.  
  463.            Overlay:  Y/N - "Y" = Overlay help, N = Clear screen before
  464.               displaying this help AND after.  Makes a "loner" help
  465.               screen.
  466.  
  467.            Pause Time:  Amount of time to wait for a key-press from
  468.               user.  An amount of 0 displays until a key-press.
  469.  
  470.            Once the specific information is filled in, answer Y to OK?
  471.            and a full cursor will appear (only on a new screen - refer
  472.            to Help Text Editing Keys below for existing help screens).
  473.            Move the cursor to where you want the UPPER LEFT corner of
  474.            the help box to appear.  Press <ENTER>.  Then move the cursor
  475.            again to where you would like the LOWER RIGHT corner of the
  476.            help box to be.  Press <ENTER>.  The box you defined will
  477.            then be drawn, and you may proceed to edit the help
  478.            information to be displayed when the user presses F1.
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.                                        Page 7
  520.                                        Page 7
  521.                                        Page 7
  522.                                        Page 7
  523.  
  524.  
  525.  
  526.  
  527.  
  528.                           Instant Help - INSTAHLP (c) 1988
  529.                           Instant Help - INSTAHLP (c) 1988
  530.                           Instant Help - INSTAHLP (c) 1988
  531.                           Instant Help - INSTAHLP (c) 1988
  532.                                  Richard A. Murphy
  533.                                  Richard A. Murphy
  534.                                  Richard A. Murphy
  535.                                  Richard A. Murphy
  536.  
  537.  
  538.                            *** Help Text Editing Keys ***
  539.  
  540.            NOTE: When ALT+H is pressed to call up a Help Screen that
  541.                  already exists, you are placed directly into the Help
  542.                  Text to edit the help displayed to the end-user.  If
  543.                  the screen you enter does NOT exist, then you are sent
  544.                  to define the parameters and the coordinates of the
  545.                  help box.  During editing of the Help Text, the
  546.                  following keys are used:
  547.  
  548.            ALT+F1 - Help Screen:  Displays the Keys that may be pressed
  549.                     during editing of the Help Text.  NOTE: The ALT+KEY
  550.                     keys MAY be pressed while Help is being viewed
  551.                     giving the developer the ability to call up help and
  552.                     press the key he wants to use without having to exit
  553.                     the help screen and then pressing the key he wants
  554.                     to use.
  555.  
  556.            ALT+F2 - Toggle Screens:  Allows toggling between writing
  557.                     help and the viewing of the screen you are writing
  558.                     help for.
  559.  
  560.            ALT+F3 - Delete:  Asks if you want to delete the current help
  561.                     screen (May also be executed from the specific
  562.                     information screen).  Press Y/N.
  563.  
  564.            ALT+F4 - Move Window:  Use the cursor keys and move your help
  565.                     window to another part of the screen.  Press <ENTER>
  566.                     to accept new position, or <ESC> to return to
  567.                     previous position.
  568.  
  569.            ALT+F5 - Edit Parameters:  Calls up the Parameters screen to
  570.                     edit the colors, header, footer, etc.
  571.  
  572.            ALT+F6 - Re-size the Help Screen:  Move the cursor to define
  573.                     the upper left corner of the help screen, and then
  574.                     the lower right corner.  If you have SHADOW as "Y",
  575.                     then be sure to leave a column on the left and a row
  576.                     on the bottom of the help for the shadow, or none
  577.                     will be drawn.  Press <ESC> to abort re-defining the
  578.                     box coordinates.
  579.  
  580.            ALT+H  - Save/Exit:  Saves the current help screen and
  581.                     returns back to your program.
  582.  
  583.            <ESC> -  Abort:  Aborts current editing of the help memo and
  584.                     returns back to your program.  NOTE:  This does NOT
  585.                     abort the specific screen information while you are
  586.                     editing the Help Memo.  To abort the changes to
  587.                     specific information, <ESC> must be pressed before
  588.                     "Y" is answered to OK? after you enter the specific
  589.                     information.  (Press ALT+F3 to delete)
  590.  
  591.  
  592.  
  593.  
  594.                                        Page 8
  595.                                        Page 8
  596.                                        Page 8
  597.                                        Page 8
  598.  
  599.  
  600.  
  601.  
  602.  
  603.                           Instant Help - INSTAHLP (c) 1988
  604.                           Instant Help - INSTAHLP (c) 1988
  605.                           Instant Help - INSTAHLP (c) 1988
  606.                           Instant Help - INSTAHLP (c) 1988
  607.                                  Richard A. Murphy
  608.                                  Richard A. Murphy
  609.                                  Richard A. Murphy
  610.                                  Richard A. Murphy
  611.  
  612.  
  613.            *** General Discussion on Instant Help System Version 1.2 ***
  614.  
  615.                 The following is a discussion of the concepts and design
  616.            of the Instant Help System Version (c) 1.2 and the
  617.            exceptions/bugs of the system.
  618.  
  619.                 This system is based on the fact that creating help can
  620.            and is a very tedious and back-breaking procedure to say the
  621.            least.  In attempts to create an automated help system, this
  622.            program has emerged.  Almost everything that I would want to
  623.            do in a help program is incorporated into this system.  A
  624.            couple of things that I can think of that this system can not
  625.            do is:
  626.                1) Having different colors within the help text
  627.            displayed.  At this point, I don't know if it will ever be a
  628.            feature, and
  629.                2) The ability to save your help screen to a file and
  630.            read it into another help screen.  The latter one is
  631.            currently under development and hopefully will be out within
  632.            a matter of weeks.
  633.  
  634.                 By creating a program that does some fancy stuff which
  635.            this system cannot do, you may "intercept" the help call by
  636.            placing the statement "set key 28 to <myhelp>" in your
  637.            program and if the fancy help is not the one the user wants,
  638.            simply pass the parameters to the HELP.PRG in Instant Help.
  639.  
  640.                 For those of you with Instant Help System Version 1.1,
  641.            the following changes should be made to your help.dbf file to
  642.            ensure capability when editing with version 1.2.  The fields
  643.            BOX_COLOR, TX_COLOR, HD_COLOR, FT_COLOR and SH_COL should be
  644.            changed from a length of 6 to 17.  Not doing this will not
  645.            cause the program to "bomb" out, but you will be unable to
  646.            supply Color;Black/White color combinations within that
  647.            application.
  648.  
  649.                 The only drawback to using a system like this is that 3
  650.            files are used for the help system.  HELP.DBF, HELP.DBT, and
  651.            HELP.NTX.  If you are using DOS 3.3 and above, make sure you
  652.            use the statement "files=??" in your config file if you have
  653.            more than 15 files opened.  Also, use the Clipper S'87 system
  654.            variable "F" to set CLIPPER=F?? to ensure opening your files
  655.            is possible (refer to the Clipper Manual for a better
  656.            explanation).  For DOS 3.2 and below, 15 files is all that is
  657.            possible to open at a time unless you have a special program
  658.            to increase the file capabilities.  Using the statement
  659.            "files=20" will give you the capability of 15 files open at a
  660.            time.  This includes DBF, NTX, and DBT files.  If you have
  661.            more that 12 open at a time when help can be called, you will
  662.            get a system error when help is called.
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.                                        Page 9
  670.                                        Page 9
  671.                                        Page 9
  672.                                        Page 9
  673.  
  674.  
  675.  
  676.  
  677.  
  678.                           Instant Help - INSTAHLP (c) 1988
  679.                           Instant Help - INSTAHLP (c) 1988
  680.                           Instant Help - INSTAHLP (c) 1988
  681.                           Instant Help - INSTAHLP (c) 1988
  682.                                  Richard A. Murphy
  683.                                  Richard A. Murphy
  684.                                  Richard A. Murphy
  685.                                  Richard A. Murphy
  686.  
  687.  
  688.                  *** Exceptions to this system are as follows: ***
  689.  
  690.            1)  The "WAIT" command is NOT supported as a valid wait
  691.                state, since Clipper does NOT send a line number or more
  692.                important, a variable name to the Help System.  Even if
  693.                you have the command "WAIT TO VAR" in your program,
  694.                Clipper will NOT send "VAR" to any program with a SET KEY
  695.                TO statement.
  696.  
  697.            2)  The INKEY(x) statement is NOT a Clipper Wait State, so
  698.                SET KEY TO will not work with an inkey() command.  To
  699.                overcome this problem, I have included a program called
  700.                HLPEXC.PRG (Help Exceptions) which I use to pass the
  701.                necessary parameters to the Help System.  Include this
  702.                program in your programs which use INKEY statements where
  703.                you would want help available at.
  704.  
  705.            3)  The MEMOEDIT function is like the WAIT instruction in
  706.                that it does NOT send the line and the variable being
  707.                edited, only "MEMOEDIT" which is unacceptable because we
  708.                need specific information to make specific help.  The
  709.                program HLPEXC.PRG also includes a user defined function
  710.                to be used with MEMOEDIT to allow help to be defined and
  711.                used.
  712.  
  713.            4)  Any keys re-directed using the SET KEY TO command that
  714.                are used in MEMOEDIT (ex, <SPACE>, right and left arrows,
  715.                etc...) will interfere with the MEMOEDIT command used in
  716.                editing the HELP text.  If these keys are re-defined, you
  717.                may find it necessary to edit the help text in dbase.
  718.                See the Structure of HELP.DBF below for a better idea on
  719.                how to do this.
  720.  
  721.            5)  The ALT+F1 through ALT+F6 and ALT+H keys are defined in
  722.                Instant Help Version 1.2 (c), so any definitions that
  723.                your programs set on these keys will be canceled when
  724.                Instant Help is called.  The ALT+<KEY> combination was
  725.                used so the least likely conflicts would occur between
  726.                Instant Help and your programs.
  727.  
  728.            6)  When using Overlays and PLINK86, make sure that the
  729.                INHP12.LIB is specified BEFORE CLIPPER.LIB and EXTEND.LIB
  730.                since PLINK86 does not know to re-use these libraries
  731.                when looking for some functions that INHP12 uses.  Also,
  732.                since using libraries means that you are running into
  733.                memory problems, know that library functions are loaded
  734.                into the root.  If you experience problems with this,
  735.                either use LIB.EXE with MicroSoft C and extract HELP.OBJ
  736.                , INSTAHLP.OBJ and B_H_HELP.OBJ, or write me and I will
  737.                send those objects for you.  If you use this approach,
  738.                make sure these objects are in a high enough level where
  739.                all programs may access them (usually the level directly
  740.                under the root is necessary).
  741.  
  742.  
  743.  
  744.                                       Page 10
  745.                                       Page 10
  746.                                       Page 10
  747.                                       Page 10
  748.  
  749.  
  750.  
  751.  
  752.  
  753.                           Instant Help - INSTAHLP (c) 1988
  754.                           Instant Help - INSTAHLP (c) 1988
  755.                           Instant Help - INSTAHLP (c) 1988
  756.                           Instant Help - INSTAHLP (c) 1988
  757.                                  Richard A. Murphy
  758.                                  Richard A. Murphy
  759.                                  Richard A. Murphy
  760.                                  Richard A. Murphy
  761.  
  762.  
  763.                      *** Structure for database:  HELP.DBF ***
  764.  
  765.            Field  Field name  Type       Width    Description
  766.            -----  ----------  ----       -----    -----------
  767.                1  V1_2        Character      1    Version Number
  768.                2  PROGRAM     Character     10    Program Name
  769.                3  VARIABLE    Character     12    Variable Name
  770.                4  SCREEN      Character      1    Screen Number
  771.                5  R1          Character      2    Upper Left Row
  772.                6  C1          Character      2    Upper Left Column
  773.                7  R2          Character      2    Lower Right Row
  774.                8  C2          Character      2    Lower Right Column
  775.                9  TEXT        Memo          10    Help Text
  776.               10  BOX         Character      8    Box Characters
  777.               11  BOX_COLOR   Character     17    Box Color
  778.               12  TX_COLOR    Character     17    Help Text Color
  779.               13  HEADER      Character     50    Header Message
  780.               14  FOOTER      Character     50    Footer Message
  781.               15  HD_COLOR    Character     17    Header Message Color
  782.               16  FT_COLOR    Character     17    Footer Message Color
  783.               17  SHADOW      Character      1    Y/N for Shadow
  784.               18  SH_COL      Character     17    Shadow Color
  785.               19  OVERLAY     Character      1    Y/N for Overlay
  786.               20  PAUSE       Character      3    Pause Time in Seconds
  787.            ** Total **                     241
  788.  
  789.  
  790.                 Enjoy the system and let me know how you like it.  I
  791.            have put a lot of thought and energy into trying to create a
  792.            very easy and professional help system.  I hope I have met a
  793.            need in the programming/development department.  Let me know
  794.            what you think.  Best of all, let others know what you think
  795.            of the system.
  796.  
  797.            NOTE:  This library contains a sub set of Jason Matthews
  798.                   PROCLIP2 functions.  I very HIGHLY endorse his
  799.                   library.  I use it extensively.  If you currently use
  800.                   the library, you will probably get some link warning
  801.                   messages.  If using MS LINK, use the /NOE option to
  802.                   avoid these messages.  If using PLINK86, you will just
  803.                   have to ignore them.
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.                                       Page 11
  820.                                       Page 11
  821.                                       Page 11
  822.                                       Page 11
  823.  
  824.  
  825.  
  826.  
  827.  
  828.                           Instant Help - INSTAHLP (c) 1988
  829.                           Instant Help - INSTAHLP (c) 1988
  830.                           Instant Help - INSTAHLP (c) 1988
  831.                           Instant Help - INSTAHLP (c) 1988
  832.                                  Richard A. Murphy
  833.                                  Richard A. Murphy
  834.                                  Richard A. Murphy
  835.                                  Richard A. Murphy
  836.  
  837.  
  838.                                Registration Form for:
  839.                              Instant Help - Version 1.2
  840.  
  841.  
  842.                          Please Send To:  Richard A. Murphy
  843.                                           XEC Development, INC.
  844.                                           92B Shiawassee Ave.
  845.                                           Akron, OH  44313
  846.                                           (216) 869-6131
  847.  
  848.  
  849.                           Name:  _________________________
  850.                        Company:  _________________________
  851.                                      (If applicable)
  852.                           Addr:  _________________________
  853.                           Addr:  _________________________
  854.                           City:  _________________________
  855.                          State:  _________________________
  856.                            Zip:  _________________________
  857.  
  858.  
  859.  
  860.            Please Check One:
  861.  
  862.            __  Inclosed is my check for $25 for the registration fee.
  863.  
  864.            __  Inclosed is my check for $50 for the registration fee AND
  865.                the source code for my own use/modification.  Sorry, but
  866.                if you wish to register for rights to modify the source,
  867.                you MUST either Register with Jason Matthews for
  868.                PROCLIP2.LIB, or not use the statements from his library
  869.                (statements from his library are commented as such).  If
  870.                you don't know how to register for his library, I will
  871.                give you information on how to do it.  If you don't
  872.                already have PROCLIP2.LIB, I strongly recommend getting
  873.                it.  It is VERY useful.
  874.  
  875.                All registered persons will receive a confirmation of
  876.            their registration from me and will be informed of any
  877.            changes/updates.  If at all possible, all registered persons
  878.            will receive free updates to the Instant Help Library.
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.                                       Page 12
  895.                                       Page 12
  896.                                       Page 12
  897.                                       Page 12
  898.  
  899.  
  900.  
  901.