home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / CLPHLP22.ZIP / CLIPHELP.DOC < prev    next >
Encoding:
Text File  |  1992-04-03  |  59.4 KB  |  1,356 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.               HHHHHHH.
  13.               HH:^^^^^ HH. HH.    (C) 1991, 1992 S.R. Eddy & Associates
  14.               HH:      HH:  ^^
  15.               HH:      HH: HH. HHHHHHH. HH.   HH.
  16.               HH:      HH: HH: HH:^^HH: HH:   HH:          HH.
  17.               HH:      HH: HH: HH:  HH: HH:   HH:          HH:
  18.               HH:      HH: HH: HH:  HH: HHHHHHHH: HHHHHHH. HH: HHHHHHH.
  19.               HHHHHHH. HH: HH: HHHHHHH: HH:^^^HH: HH:^^HH: HH: HH:^^HH:
  20.                ^^^^^^^  ^^  ^^ HH:^^^^^ HH:   HH: HHHHHHH: HH: HH:  HH:
  21.                                HH:      HH:   HH: HH:^^^^^ HH: HH:  HH:
  22.                                 ^^      HH:   HH: HHHHHHH. HH: HHHHHHH:
  23.                                          ^^    ^^  ^^^^^^^  ^^ HH:^^^^^
  24.               Perth, Western Australia                         HH:
  25.                                                                 ^^
  26.  
  27.  
  28.  
  29.  
  30.                                   An easy way to add
  31.  
  32.           F U L L   C O L O R   C O N T E X T - S E N S I T I V E   H E L P
  33.  
  34.                  to your Clipper (Summer '87 and 5.01) applications
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.                                       Version 2.2
  43.  
  44.                                      April 3, 1992
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.                                 S.R.  Eddy & Associates
  52.                                     267 Acourt Road
  53.                                    CANNING VALE 6155
  54.                                    Western Australia
  55.  
  56.  
  57.                                   Tel: 61 9 455-1004
  58.  
  59.                               CompuServe ID: 100033,3272
  60.  
  61.                                      CONTENTS
  62.  
  63.  
  64.          DISCLAIMER  . . . . . . . . . . . . . . . . . . . . . . . . .   3
  65.  
  66.          LICENSE . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
  67.  
  68.          REGISTRATION  . . . . . . . . . . . . . . . . . . . . . . . .   3
  69.  
  70.          ORDER FORM  . . . . . . . . . . . . . . . . . . . . . . . . .   5
  71.  
  72.          1.   Purpose  . . . . . . . . . . . . . . . . . . . . . . . .   6
  73.  
  74.          2.   Installation . . . . . . . . . . . . . . . . . . . . . .   6
  75.  
  76.          3.   ClipHelp Demonstration . . . . . . . . . . . . . . . . .   6
  77.  
  78.          4.   Steps involved in creating and incorporating Help in
  79.               your Application . . . . . . . . . . . . . . . . . . . .   7
  80.  
  81.          6.   Preparing Help Text  . . . . . . . . . . . . . . . . . .   8
  82.  
  83.          7.   Creating the on-screen file which your application will
  84.               use  . . . . . . . . . . . . . . . . . . . . . . . . . .   8
  85.  
  86.          8.   Adding color to your on-screen help file . . . . . . . .   9
  87.  
  88.          9.   Importing captured panels  . . . . . . . . . . . . . .    11
  89.  
  90.          10.  Rewriting HELP.TXT with the codes entered in the color
  91.               editor . . . . . . . . . . . . . . . . . . . . . . . .    14
  92.  
  93.          11.  Adding context sensitivity to your HELP.TXT file . . .    14
  94.  
  95.          12.  Printing User Manuals for your Applications  . . . . .    15
  96.  
  97.          13.  Clipper Summer '87 version - PUBLIC variables to
  98.               declare in your application  . . . . . . . . . . . . .    17
  99.  
  100.          14.  Clipper 5 version - Function call  . . . . . . . . . .    18
  101.  
  102.          15.  Optional UDFs on entering and leaving Help . . . . . .    19
  103.  
  104.          16.  Points to remember when using INKEY(0) . . . . . . . .    20
  105.  
  106.          17.  Linking ClipHelp's .LIB files with your application  .    21
  107.  
  108.          18.  ClipHelp command line parameters . . . . . . . . . . .    21
  109.  
  110.          19.  The 'Set Defaults' option  . . . . . . . . . . . . . .    22
  111.  
  112.          20.  Credits  . . . . . . . . . . . . . . . . . . . . . . .    23
  113.  
  114.          21.  Copyright, Trademark etc . . . . . . . . . . . . . . .    23
  115.  
  116.                                    DISCLAIMER
  117.  
  118.          S.R. Eddy & Associates hereby disclaims all warranties relating to
  119.          this product, whether expressed or implied, including without
  120.          limitation any implied warranties of merchantability or fitness for
  121.          a particular purpose.  S.R. Eddy & Associates cannot and will not be
  122.          liable for any special, incidental, consequential, indirect or
  123.          similar damages due to loss of data or any other reason, even if
  124.          S.R. Eddy & Associates or an authorized S.R. Eddy & Associates agent
  125.          has been advised of the possibility of such damages.  In no event
  126.          shall the liability for any damages ever exceed the price paid for
  127.          the license to use the software, regardless of the form and/or
  128.          extent of the claim.  The user of this program bears all risk as to
  129.          the quality and performance of the software.
  130.  
  131.  
  132.                                      LICENSE
  133.  
  134.          ClipHelp is a Shareware product and is made available to the general
  135.          computing public as such for evaluation.  Users are licensed to
  136.          operate ClipHelp on their personal computers for the purpose of test
  137.          and evaluation on a trial basis for a period of 21 days.  If the
  138.          user decides the program is not of sufficient merit to warrant
  139.          purchase through registration with S.R. Eddy & Associates, the
  140.          program should be removed from the user's personal computer. 
  141.          Otherwise, if the program is deemed useful and the user has used or
  142.          intends to use it in any of his or her programs, registration with
  143.          S.R. Eddy & Associates is required.
  144.  
  145.          Registered users are those users that elect to register their use of
  146.          ClipHelp with S.R. Eddy & Associates and pay the registration fee
  147.          mentioned elsewhere in this documentation.  By virtue of
  148.          registration and payment for the program, registered users are
  149.          granted a license to continue to utilize the ClipHelp color editing
  150.          program on their personal computer and to incorporate ClipHelp's
  151.          libraries in their applications for as long as they choose.  This
  152.          license authorizes the registered user to use the ClipHelp color
  153.          editing program on any personal computer system he or she may own so
  154.          long as the program is operated on only one computer system at a
  155.          time.  
  156.  
  157.          Site licenses for use of ClipHelp on multiple computers are
  158.          available on request at a reduced unit fee based on the number of
  159.          single machines licensed for use.
  160.  
  161.  
  162.                                   REGISTRATION
  163.  
  164.          ClipHelp is the sole property of S.R. Eddy & Associates. The
  165.          Shareware version, and ONLY that version, may be freely copied and
  166.          transferred to individual parties for evaluation purposes.  The
  167.          Shareware version, and ONLY that version, may be posted on Bulletin
  168.          Board Systems (BBS) for electronic access as long as NO FEE is
  169.          charged for its distribution except for private BBS operations that
  170.  
  171.  
  172.          -------------------------------------------------------------------
  173.          ClipHelp (C) vs. 2.2 User Manual   Page 3       S.R. Eddy & Assoc     
  174.  
  175.          charge a regular user subscription fee.  Computer information
  176.          services are authorized to post this product for subscriber access.
  177.          The Shareware version of ClipHelp may NOT be distributed on diskette
  178.          by any disk distributor/vendor that charges more than US $12.00 or
  179.          equivalent for the diskette on which the program and attendant files
  180.          are recorded without written consent from S.R.Eddy & Associates.
  181.  
  182.          ClipHelp is a fully functional Shareware product.  Shareware is a
  183.          computer program distribution/marketing method that permits
  184.          potential buyers to thoroughly try the program prior to purchase. 
  185.          It is NOT free and it is not in the Public Domain.  If, after
  186.          evaluating the program, you find it useful and wish to incorporate
  187.          it into one or more applications, you are expected to pay for it by
  188.          registering with S.R. Eddy & Associates. The registration fee is
  189.          Australian $48.00 (US $38.00) and may be paid by Mastercard or Visa
  190.          internationally, by United States Postal Money Order or within
  191.          Australia by Bankcard or cheque drawn on an Australian bank.  The
  192.          registered version accessed through the use of a serial number and
  193.          personal code supplied by your choice of CISMail, FAX, phone or
  194.          airmail is NOT distributed as Shareware, will not contain Shareware
  195.          labels nor the closing message and does NOT have the inbuilt
  196.          restriction on the size of help files of the Shareware version. The
  197.          registered version of the ClipHelp color editor also includes an
  198.          option to generate paginated user manuals for your applications
  199.          directly from the files which ClipHelp builds, automatically
  200.          generating tables of contents.  These manuals can be sent directly
  201.          to your printer or to a disk file for further embellishment with
  202.          your word processor.
  203.  
  204.          You may register by completing and despatching the form on the
  205.          following page by CISMail or airmail, including credit card details
  206.          or some other form of payment of the registration fee as described
  207.          thereon.
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.          -------------------------------------------------------------------
  232.          ClipHelp (C) vs. 2.2 User Manual   Page 4       S.R. Eddy & Assoc     
  233.  
  234.                                    ORDER FORM
  235.                                    ==========
  236.  
  237.          From vs 2.2 onwards, persons registering their use of ClipHelp will
  238.          be supplied by their choice of CISMail, FAX, phone or airmail with a
  239.          serial number and code which they can use to personalise copies
  240.          downloaded from Nanforum or a local BBS.  Such personalising will
  241.          fully access all ClipHelp facilities including unlimited help file
  242.          size and applications' user manual printing - features that have
  243.          previously only been available through the supply of a floppy disk.
  244.          We both stand to benefit by this - me by avoiding preparation of
  245.          floppy disks and you by securing your registration virtually
  246.          immediately by return CISMail, FAX, phone or Airmail.  Moreover,
  247.          your serial number and code will also work with future versions of
  248.          ClipHelp immediately you download them.
  249.  
  250.          REGISTRATION ALSO ENTITLES YOU TO TELEPHONE/MAIL SUPPORT SHOULD YOU
  251.          HAVE ANY QUERIES OR DIFFICULTIES.
  252.  
  253.          Phone:(Intnl) 61 9 455-1004         Mail To:  S.R. Eddy & Associates    
  254.                                                               267 Acourt Road
  255.          CompuServe ID: 100033,3272                       CANNING VALE, PERTH
  256.                                                      WESTERN AUSTRALIA   6155
  257.          Please tick as appropriate:-  --------------------------------------
  258.  
  259.          Mastercard ____   Visa ____   (International)
  260.  
  261.          U.S. Post Office Money Order ____     Bankcard ____ (Australia Only)
  262.  
  263.          Cheque ____ (Sorry... Australian $, drawn on Australian Banks only.)
  264.  
  265.          Card Number:  _____________________________   Expiry Date:  ________
  266.  
  267.          Name:       ________________________________________________________
  268.  
  269.          Signature:  ________________________________________________________
  270.  
  271.          Company:  __________________________________________________________
  272.  
  273.          Position: __________________________________________________________
  274.  
  275.          Address:  __________________________________________________________
  276.  
  277.          City:  ________________  State:  _______________  Zip/Postcode _____
  278.  
  279.          Country:  _____________________  Phone:  ___________________________
  280.  
  281.          Please send my Serial No/Code by CISMail / FAX / Phone / Airmail to:
  282.  
  283.          ____________________________________________________________________
  284.  
  285.          SINGLE USER REGISTRATION FEES:
  286.          -----------------------------
  287.          Within Australia: Aust $48.00        Other than Australia: US $38.00
  288.  
  289.          Corporate & Multi-User registration fees available on request.
  290.  
  291.          -------------------------------------------------------------------
  292.          ClipHelp (C) vs. 2.2 User Manual   Page 5       S.R. Eddy & Assoc     
  293.  
  294.          1.   Purpose
  295.  
  296.          ClipHelp is intended to help you incorporate attractive and
  297.          effective on-screen help in your applications, providing:
  298.  
  299.          *    An almost unlimited number of help topics.
  300.  
  301.          *    Topics size of from just a few lines to a virtually unlimited
  302.               length.
  303.  
  304.          *    Easily incorporated context-sensitivity.
  305.  
  306.          *    Single and multi-user applications suitability.
  307.  
  308.          *    Full color potential - almost all of the 128 basic combinations
  309.               and their 128 flashing counterparts.
  310.  
  311.          *    Easily learned color editing facility.
  312.  
  313.          *    Ability to use text generated with your preferred ASCII text
  314.               editor, such as QEdit.
  315.  
  316.          *    Facility for capturing parts of your application's screen
  317.               presentations at run time and later inclusion in full color in
  318.               the help file using ClipHelp's color editor.
  319.  
  320.          *    Automatic generation of user manuals for your applications
  321.               built from ClipHelp's files, including automatically generated
  322.               tables of contents (Registered users version).
  323.  
  324.          Please note that in the Shareware version the size of help files is
  325.          limited to about 250 lines, or about 20 screen displays, which it is
  326.          hoped will be large enough for you to be able to thoroughly test
  327.          ClipHelp and decide whether you wish to become a Registered User.
  328.  
  329.  
  330.          2.   Installation
  331.  
  332.          Create a sub-directory for ClipHelp (such as c:\ch) and extract all
  333.          files into it.  ClipHelp should always be called from within this
  334.          sub-directory.  Command line parameters allow direct access to and
  335.          support of multiple application help files (see 'ClipHelp command
  336.          line parameters' on page 21).
  337.  
  338.  
  339.          3.   ClipHelp Demonstration
  340.  
  341.          After installation give the command 'cliphelp' from within the sub-
  342.          directory into which the ClipHelp files have been extracted and
  343.          select the first option of the ClipHelp menu - 'About ClipHelp'.
  344.  
  345.          This will use ClipHelp's on-screen help facility to present an
  346.          illustrated description of itself, in browsing which please note the
  347.          following:
  348.  
  349.  
  350.          -------------------------------------------------------------------
  351.          ClipHelp (C) vs. 2.2 User Manual   Page 6       S.R. Eddy & Assoc     
  352.  
  353.          *    Individual topics may be longer than the screen panel in which
  354.               they appear.  Use <cursor down> and <cursor up> to scroll
  355.               through a topic's text beyond the screen's limits, and <PgDn>
  356.               or <PgUp> to summon the next or previous topic to the screen.
  357.  
  358.          *    <Alt-F1> causes an index of help topics to appear.  Using this,
  359.               it is possible to jump directly to a required topic.
  360.  
  361.          'About ClipHelp' may be summoned at any time to remind you of some
  362.          of the facilities available and techniques to achieve them.
  363.  
  364.  
  365.          4.   Steps involved in creating and incorporating Help in your
  366.               Application
  367.  
  368.               (a)  Create your HELP.TXT file with an ASCII text editor
  369.                    following the guidelines given in the next section.
  370.  
  371.               (b)  Run ClipHelp and use its 'Make Help File' option to
  372.                    generate a HELP.DAT file from your HELP.TXT file.
  373.  
  374.               (c)  Use ClipHelp's 'Edit Colors' option to add color to
  375.                    HELP.DAT.
  376.  
  377.               (d)  Use ClipHelp's 'Rewrite Text' option to generate a
  378.                    replacement HELP.TXT file incorporating color information.
  379.  
  380.                  [ Optionally use the ASCII text editor to revise the color-
  381.                    coded HELP.TXT file and proceed through b), c) and d)
  382.                    again as many times as necessary.]
  383.  
  384.             [ (e)  Optionally set PUBLIC (STATIC in the Clipper 5 version)
  385.                    variable 'hlp_var' to help topic titles at points in your
  386.                    program where you wish your on-screen help to be context-
  387.                    sensitive. ]
  388.  
  389.               (f)  Include a call to ClipHelp's LDHELPMU() function early in
  390.                    your application's source code.  If you are using the
  391.                    Summer 87 version of Clipper you will also need to include
  392.                    some public variable declarations.
  393.  
  394.               (g)  Include the appropriate ClipHelp library files, depending
  395.                    on your version of Clipper, in your application's link
  396.                    command. 
  397.  
  398.               (h)  Compile and link.
  399.  
  400.  
  401.          5.   Setting up
  402.  
  403.          Always call ClipHelp from the sub-directory in which you installed
  404.          it using a command line parameter to tell it where to find the ASCII
  405.          text file HELP.TXT and write the resultant HELP.DAT file, eg:
  406.  
  407.  
  408.  
  409.          -------------------------------------------------------------------
  410.          ClipHelp (C) vs. 2.2 User Manual   Page 7       S.R. Eddy & Assoc     
  411.  
  412.                         cliphelp path=c:\myapp\
  413.  
  414.          In this way ClipHelp lets you develop and maintain help files for
  415.          multiple applications concurrently, with minimal risk of mutual
  416.          interference.
  417.  
  418.          You will find more about command line parameters on page 21.
  419.  
  420.  
  421.          6.   Preparing Help Text
  422.  
  423.          Use an ASCII text editor such as QEdit to prepare your help text in
  424.          your application's own sub-directory, observing the following rules:
  425.  
  426.               (a)  The file should have the name HELP.TXT.
  427.  
  428.               (b)  The maximum width of your help text should be 72, so set
  429.                    your editor's right margin to that value.
  430.  
  431.               (c)  Precede topic titles with the characters '#$$' in the
  432.                    first three columns followed by a space and then the title
  433.                    in up to 35 characters, eg:
  434.  
  435.                                   #$$ Entering sales slip details
  436.  
  437.               (d)  Of the extended ASCII values 0 to 255 there are very few
  438.                    that have to be avoided:
  439.  
  440.                    009 (tab)           Use spaces instead.
  441.  
  442.                    219 (solid box)     This will not matter if you are
  443.                                        preparing a color help facility as you
  444.                                        can use color to simulate this
  445.                                        character.
  446.  
  447.               (e)  Do NOT prepare your text file with a word processor which
  448.                    inserts codes for line wrap, bold, underlining etc.
  449.  
  450.          Remember to take note of the comments later in this document on page
  451.          14 about editing a HELP.TXT file after color information has been
  452.          added to it by ClipHelp's color editor.
  453.  
  454.  
  455.          7.   Creating the on-screen file which your application will use
  456.  
  457.          You must of course have created a HELP.TXT file as described in the
  458.          preceding section before proceeding with the following.
  459.  
  460.          At the command prompt enter the command:
  461.  
  462.                         cliphelp [<param1> [<param2> ]]...
  463.  
  464.          <param1> etc are optional parameters listed on page 21.  Except for
  465.          the parameter specifying the path to your application's sub-
  466.  
  467.  
  468.          -------------------------------------------------------------------
  469.          ClipHelp (C) vs. 2.2 User Manual   Page 8       S.R. Eddy & Assoc     
  470.  
  471.          directory referred to previously it is unlikely that you will need
  472.          to know about other parameters at this stage but if the program
  473.          should not run satisfactorily on your screen see whether there is
  474.          anything under 'ClipHelp command line parameters' which could help
  475.          you.
  476.  
  477.          When ClipHelp's opening screen appears press <cursor down> until the
  478.          highlight rests on 'Make Help File' then press <Enter>.
  479.  
  480.          The message line towards the bottom of the screen will ask you to
  481.          confirm your intentions with the message 'Create HELP.DAT (Y/-)?'.
  482.  
  483.          If you have prepared your HELP.TXT file, tap a 'y' to proceed or any
  484.          other character to cancel the command.
  485.  
  486.          The message 'Creating HELP.DAT' will flash in the message line while
  487.          the file is being created followed by confirmation that the file has
  488.          been created.
  489.  
  490.          During the creation of HELP.DAT information is written at the
  491.          beginning of the file about the whereabouts of topic titles and
  492.          their associated text.
  493.  
  494.  
  495.          8.   Adding color to your on-screen help file
  496.  
  497.          Select the option 'Edit Colors' from the ClipHelp menu.
  498.  
  499.          The ClipHelp color editor screen will be displayed with the
  500.          beginning of your HELP.DAT file in the edit window.
  501.  
  502.          At the top of the screen is a color code panel with a rectangle
  503.          superimposed on the default help text color code.
  504.  
  505.          The word 'Activity:' appears on the line immediately below the color
  506.          code panel.  As you use the editor one of the following descriptions
  507.          will appear:
  508.  
  509.               Description    Meaning
  510.               -----------    -------
  511.  
  512.               Scrolling      The content of HELP.DAT can be scrolled through
  513.                              the window by pressing <cursor down> or <cursor
  514.                              up>, <PgDn>, <PgUp>, <^PgDn>, <^PgUp>.
  515.  
  516.               Selecting      Appears when <F3> is first pressed accompanied
  517.                              by flashing of the rectangle on the currently
  518.                              selected color code.  In this mode the flashing
  519.                              rectangle will move in the direction of any
  520.                              cursor key pressed, allowing selection of
  521.                              another color.
  522.  
  523.               Moving         Appears when <F3> is pressed while in the
  524.                              Selecting mode together with a flashing arrow as
  525.  
  526.  
  527.          -------------------------------------------------------------------
  528.          ClipHelp (C) vs. 2.2 User Manual   Page 9       S.R. Eddy & Assoc     
  529.  
  530.                              a pointer above the first column of the first
  531.                              line of the edit window.  You can then use
  532.                              <cursor right> or <cursor left> to move the
  533.                              pointer until it is at the beginning of the
  534.                              block which you wish to paint with the color you
  535.                              selected.
  536.  
  537.               Painting       Appears when <F6> is pressed while in the Moving
  538.                              mode.  In this mode the right and left cursor
  539.                              keys behave as follows:
  540.  
  541.                              <cursor right> Colors the character position
  542.                                             beneath the flashing arrow with
  543.                                             the selected color and causes the
  544.                                             arrow to advance one column.
  545.  
  546.                              <cursor left>  Moves the flashing arrow back a
  547.                                             column but does not affect the
  548.                                             color.
  549.  
  550.               Moving         Appears when <F6> is pressed while in Painting
  551.                              mode.  Behaves exactly as described previously
  552.                              against 'Moving'.
  553.  
  554.               Editing        Appears when <F10> is pressed while in Scrolling
  555.                              mode and allows the text of the line at the top
  556.                              of the window to be edited.  Topic title lines,
  557.                              however, are not allowed to be edited because
  558.                              that might affect entries off-screen at the top
  559.                              of the file which were entered when HELP.DAT was
  560.                              created.  (Topic titles can be edited later in
  561.                              the HELP.TXT file which you recreate with
  562.                              ClipHelp's 'Rewrite Text' - see page 14.)
  563.  
  564.          At the bottom of the screen is a list of function keys which are
  565.          used to enter and edit color attributes.  Function keys which toggle
  566.          conditions on and off are indicated in bright red, the remainder in
  567.          bright white.
  568.  
  569.          At any given moment only the function keys available for use will be
  570.          easily legible; others will be displayed in low intensity to remind
  571.          you of their existence but indicate their unavailability at that
  572.          time.
  573.  
  574.          The top line of the screen is used to describe what is happening and
  575.          the significance of particular keys.
  576.  
  577.          Some function keys offer useful short cuts:
  578.  
  579.               <F4>      (Selecting Mode) - Automatically selects the default
  580.                         help text color and repositions the color code
  581.                         selection rectangle at that code.
  582.  
  583.               <F5>      (Selecting Mode) - Selects the color attribute of the
  584.  
  585.  
  586.          -------------------------------------------------------------------
  587.          ClipHelp (C) vs. 2.2 User Manual   Page 10      S.R. Eddy & Assoc     
  588.  
  589.                         character beneath the flashing arrow.  (A quick way
  590.                         of color editing a line which has recently been
  591.                         edited in HELP.TXT.)
  592.  
  593.               <F8>      (Scrolling Mode) - Repeats the color attributes of
  594.                         the line at the top of the window in the line beneath
  595.                         it and scrolls the panel one line upwards.  (A quick
  596.                         way to do something like color a message panel.)
  597.  
  598.               <F9>      (Scrolling Mode) - Deletes the color attributes of
  599.                         the line at the top of the window and replaces them
  600.                         with the default help text attribute.  To avoid
  601.                         accidents through inadvertent use this will only be
  602.                         done if you answer the confirmatory question which
  603.                         appears with a 'y'.
  604.  
  605.               <F1>      (Both Scrolling and Selecting Modes) - Displays the
  606.                         HELP.DAT file which you are editing exactly as it
  607.                         will appear when <F1> is pressed in your application,
  608.                         allowing you to monitor the results of your editing
  609.                         in their final format.
  610.  
  611.          Press <F2> to save your selections when you have finished editing
  612.          the color attributes of a line, or <Esc> to cancel them and revert
  613.          to the original attributes.
  614.  
  615.  
  616.          9.   Importing captured panels
  617.  
  618.          GrabScreen() function in CLHLPS87.LIB and CLHLP501.LIB
  619.          ------------------------------------------------------
  620.  
  621.          ClipHelp vs 2.0 library files CLHLPS87 and CLHLP501 include a
  622.          function called GrabScreen() which can be used during application
  623.          development to define and capture parts of screen layouts while the
  624.          application is running for later inclusion in the HELP.DAT file.
  625.  
  626.          Include the temporary line "SET KEY ### TO GrabScreen" early in the
  627.          application so that GrabScreen() can be 'hotkeyed' during wait
  628.          states.  You may also need to add temporary CASE statements such as
  629.          "CASE <inkeyvar> = ###" to trap the hotkey in places where INKEY()
  630.          is being used to process keyboard entries.  (For "###" substitute
  631.          the INKEY() value of the selected hotkey.)
  632.  
  633.          When the function is hotkeyed it checks if a database called
  634.          CAPTURES.DBF exists in the location defined by the optional sixth
  635.          parameter to function LDHELPMU() if you are using Clipper 5 or in
  636.          public variable HPATH if you are using Clipper Summer '87, or else
  637.          in the application's default sub-directory and creates it if
  638.          necessary.
  639.  
  640.          GrabScreen() then asks whether you wish to capture all or part of
  641.          the screen, defaulting to part.  Note that if you capture the
  642.          complete screen you will need to chop out some columns when you
  643.  
  644.  
  645.          -------------------------------------------------------------------
  646.          ClipHelp (C) vs. 2.2 User Manual   Page 11      S.R. Eddy & Assoc     
  647.  
  648.          summon it from within the 'Edit Color' option of ClipHelp later so
  649.          that it will fit in the on-screen help panel which has a maximum
  650.          width of 72 characters.
  651.  
  652.          If you select the part screen option, panel framing lines will
  653.          appear at the extremities of the screen.  Use the numeric keypad
  654.          cursor keys to move the framing lines towards the centre of the
  655.          screen and the same keys while <Shift> is held down to move them
  656.          back towards the screen extremities.  When you are satisfied that
  657.          the panel you wish to capture is directly within the framing lines
  658.          tap <Enter> to save it.  You will be asked to enter a description of
  659.          the panel which will later appear in pick lists of such saved
  660.          panels.
  661.  
  662.          Don't forget to remove the GrabScreen() hotkey assignments in your
  663.          finished application!
  664.  
  665.          Please note that you can access the GrabScreen() function from
  666.          within the 'Edit Colors' option of the ClipHelp editor, assigned to
  667.          <Alt-0>, to enable you to capture existing areas of your HELP.DAT
  668.          file.  To use it, first tap <F1> to see the results of your work so
  669.          far on the screen, move to the page and section you wish to capture
  670.          then tap <Alt-0> and proceed as described above.  You may find this
  671.          facility useful to change the layout of a complicated section of
  672.          your file - capturing, importing, adjusting the position
  673.          horizontally, inserting and later deleting the superceded lines in
  674.          your rewritten HELP.TXT file.  It's not as complicated as it sounds
  675.          and can save a lot of manually re-coloring.
  676.  
  677.          <^F10> Import facility in ClipHelp's 'Edit Colors' option
  678.          ---------------------------------------------------------
  679.  
  680.          Use this option to incorporate a captured panel directly into the
  681.          HELP.DAT file complete with its color attributes.
  682.  
  683.          A pick list of captured panel descriptions appears.  Tapping <Enter>
  684.          overlays the selected panel with an upper left co-ordinate of 0,0
  685.          from whence it can be pushed around the screen with the cursor keys. 
  686.          Its left edge relative to the left of the scrolling help text panel
  687.          when <Enter> is eventually tapped to insert the panel determines its
  688.          horizontal position within the help text.
  689.  
  690.          While the panel is on the screen the following options are
  691.          accessible:
  692.  
  693.          <Alt-H> / Enable row/column editing.  A row or column indicator
  694.          <Alt-V>   appears near the centre of the panel temporarily
  695.                    overlaying the row or column beneath it.  Use the cursor
  696.                    keys to move the indicator about the panel.  Tap
  697.  
  698.                    <Insert>  to insert a row or column above or to the left
  699.                              of the indicator's position; or
  700.  
  701.                    <Delete>  to delete the row or column under the indicator.
  702.  
  703.  
  704.          -------------------------------------------------------------------
  705.          ClipHelp (C) vs. 2.2 User Manual   Page 12      S.R. Eddy & Assoc     
  706.  
  707.          <Alt-E>   Enable character editing.  A single character frame
  708.                    appears near the centre of the panel.  Use the numeric
  709.                    keypad cursor keys to move it to the required position. 
  710.                    The following options are accessible:
  711.  
  712.                    A-Z etc   Replaces the character previously within the
  713.                              frame, retaining its displayed attribute, and
  714.                              advances the frame one column.
  715.  
  716.                    Shifted   Left and Right decrement and increment
  717.                    Numeric   background color attribute, Up and Down
  718.                    Keypad    decrement and increment foreground color
  719.                    cursor    attributes.  Any such changes affect only the
  720.                    keys      character at the frame position (unless painting
  721.                              has been toggled with <F6> - see below).
  722.  
  723.                    <Alt-F>   Toggles flashing on or off at the character
  724.                              frame position.
  725.  
  726.                    <F6>      Toggles painting on/off.  When first tapped, the
  727.                    Paint     color attribute of the character at the frame
  728.                              position becomes the attribute wherever the
  729.                              frame traverses, affecting all characters
  730.                              entered or previous characters if the frame is
  731.                              moved by cursor action.  Changing the attribute
  732.                              as described in the previous two paragraphs will
  733.                              cause the new attribute to affect all subsequent
  734.                              frame positions until <F6> is tapped again.
  735.  
  736.                    <Escape>  Done.  Return to panel movement mode.
  737.  
  738.          <Enter>   Finished panel manipulation, insert into HELP.DAT.  A
  739.                    dialogue box will appear asking you to specify:
  740.  
  741.                         the number of blank lines you would like to be
  742.                         inserted above the panel (ie between the line
  743.                         currently at the top of the help text screen and the
  744.                         first line of the panel); and
  745.  
  746.                         the number of blank lines you would like to be
  747.                         inserted between the bottom of the panel and the
  748.                         second line currently displayed in the help text
  749.                         screen.
  750.  
  751.                    When finished, tap <PgDn> to proceed or <Escape> to abort.
  752.  
  753.          <Escape>  Abort panel manipulation and return to help text editing.
  754.  
  755.          While this facility is designed to considerably simplify the task of
  756.          including full color reproductions of your application's screens in
  757.          your help file compared with earlier versions of ClipHelp, it can
  758.          also be used to insert one or more lines of text.  To do this,
  759.          select '<dummy panel>' from the Captured Panels pick list and then
  760.          use the panel editing facilities described in recent paragraphs to
  761.  
  762.  
  763.          -------------------------------------------------------------------
  764.          ClipHelp (C) vs. 2.2 User Manual   Page 13      S.R. Eddy & Assoc     
  765.  
  766.          adapt the dummy panel to the number of lines of text you wish to
  767.          insert.  You can then either use the panel editing facilities to
  768.          insert both text and color attributes or insert the panel and use
  769.          ClipHelp's normal text and color editing facilities at that stage.
  770.  
  771.  
  772.          10.  Rewriting HELP.TXT with the codes entered in the color editor
  773.  
  774.          It is most important that this be done following any use of the
  775.          'Edit Colors' option during which changes were made, otherwise such
  776.          changes will be lost should you need to recreate the HELP.DAT file
  777.          to reflect changes in HELP.TXT.
  778.  
  779.          Select the 'Rewrite Text' option of the ClipHelp menu.  You will be
  780.          asked to confirm your intentions with the message 'Rewrite HELP.TXT
  781.          from HELP.DAT (Y/-)?'.  Tap a 'y' to confirm.  Your HELP.TXT file
  782.          will be rewritten together with information about the colors which
  783.          have been entered in HELP.DAT.  If a previous HELP.TXT is found it
  784.          will be safely renamed HELP.BAK before HELP.TXT is rewritten as a
  785.          backup which you could retrieve in an emergency.
  786.  
  787.          When you next look at HELP.TXT in your ASCII text editor you will
  788.          notice that on the lines where color has been introduced color
  789.          information will appear starting at column 79.  Try not to disturb
  790.          this information if you need to edit such lines.  Make sure it
  791.          always starts at column 79.  Save your text file frequently during
  792.          editing so that you will not have lost much if something untoward
  793.          happens.  However, if an accident does occur you will be able, in
  794.          most circumstances, to repair the damage when you next use
  795.          ClipHelp's 'Edit Colors' option.
  796.  
  797.          In particular, try not to accidentally 'wrap' the color information
  798.          with your text!  Keeping a backup copy of HELP.TXT is a good idea.
  799.  
  800.  
  801.          11.  Adding context sensitivity to your HELP.TXT file
  802.  
  803.          When <F1> is pressed in your application ClipHelp searches topic
  804.          entries at the top of HELP.DAT to see whether the character string
  805.          currently assigned to PUBLIC variable 'hlp_var' (STATIC variable
  806.          'hlp_var' in the Clipper 5 version) is there somewhere.  If a match
  807.          is found ClipHelp displays that topic; if not it displays the Help
  808.          Topic Index.
  809.  
  810.          There are (at least) two techniques you can use to introduce context
  811.          sensitivity:
  812.  
  813.          Clipper Summer '87 -
  814.  
  815.               (a)  At appropriate spots in your source code assign PUBLIC
  816.                    variable 'hlp_var' all - or a unique part of - the
  817.                    applicable help topic.  For example, using the sample help
  818.                    topic given earlier in this document:
  819.  
  820.  
  821.  
  822.          -------------------------------------------------------------------
  823.          ClipHelp (C) vs. 2.2 User Manual   Page 14      S.R. Eddy & Assoc     
  824.  
  825.                              #$$ Entering sales slip details
  826.  
  827.                    you might, in the interests of brevity, use the unique
  828.                    part:
  829.  
  830.                              hlp_var = "sales slip"
  831.  
  832.                    Please note that case IS important.
  833.  
  834.               (b)  In lieu of all or part of help topics text use a unique
  835.                    code such as "h1v", "h2v" etc.  Be sure to maintain a
  836.                    record of the codes you have used to avoid double usage. 
  837.                    (If you have Turbo GREP or a similar program you can
  838.                    readily get a list of such lines from all source code
  839.                    files.)  Using this technique you would put in your source
  840.                    code entries such as:
  841.  
  842.                              hlp_var = "h1v"
  843.  
  844.                    then, with your ASCII text editor, put "h1v" on the
  845.                    appropriate help topic title line of your HELP.TXT file
  846.                    starting at column 45, ie
  847.  
  848.                         #$$ Entering sales slip details             h1v
  849.  
  850.          Clipper 5 -
  851.  
  852.               (c)  The technique of referring to a portion of the help topic
  853.                    or alternatively using unique codes such as "h1v", "h2v"
  854.                    etc is the same as that described above.  However, hlp_var
  855.                    is a file-wide static variable in CLHLP501.LIB and values
  856.                    are passed to it with a call to function SetHV().  The
  857.                    equivalents to the examples above would be:
  858.  
  859.                                   SetHV( "sales slip" )
  860.  
  861.                         and
  862.  
  863.                                   SetHV( "h1v" )
  864.  
  865.                    SetHV() returns the current hlp_var value, so that you may
  866.                    save it on calling a routine requiring a new value and
  867.                    restore it on return from it, eg:
  868.  
  869.                         LOCAL cur_hv := SetHV( "h21v" )
  870.                         .
  871.                         SetHV( cur_hv )
  872.  
  873.  
  874.          12.  Printing User Manuals for your Applications
  875.  
  876.          The 'Print Appl Man' option translates your HELP.DAT file into a
  877.          paginated user manual complete with a table of contents.
  878.  
  879.  
  880.  
  881.          -------------------------------------------------------------------
  882.          ClipHelp (C) vs. 2.2 User Manual   Page 15      S.R. Eddy & Assoc     
  883.  
  884.          When you select this option you will be asked to enter the following
  885.          pieces of information to be incorporated in your manual:
  886.  
  887.               Program Title
  888.  
  889.                    This is the full title to appear on the first page.
  890.  
  891.               Abbreviated Title
  892.  
  893.                    This is the shortened title which will appear at the
  894.                    bottom left of each page.
  895.  
  896.               Your Business Name
  897.  
  898.                    This is your full business name, to appear on the first
  899.                    page.
  900.  
  901.               Abbreviated Name
  902.  
  903.                    The shortened business name to appear at the bottom center
  904.                    of each page.
  905.  
  906.               Your address
  907.  
  908.                    Full address - street, city, state, zip.
  909.  
  910.               Your Telephone, Fax & Data Numbers
  911.  
  912.                    Self-explanatory.
  913.  
  914.          You may overtype the reminders that appear in each field as you
  915.          enter your own text or tap <^Y> as you move to each field to clear
  916.          its contents in advance.
  917.  
  918.          When <Enter> is tapped on the last field you will be asked to
  919.          confirm that the file should be sent direct to your printer.  If you
  920.          do not respond 'y' you will be asked to enter the name of a disk
  921.          file to which the manual should be written.  Enter the file name
  922.          only - it will automatically be given a .PRN extension and be
  923.          written to the sub-directory specified in your 'path' command line
  924.          parameter or to ClipHelp's own sub-directory if none was specified. 
  925.          One reason you might wish to use the disk file option could be to
  926.          add embellishments to the manual with your word processor before
  927.          printing.
  928.  
  929.          ClipHelp's default printer output should suit most industry-
  930.          compatible laser and dot matrix printers. The program endeavors to
  931.          filter out the ASCII characters < 32 likely to feature in your help
  932.          text in case they interfere with your printer's operation.
  933.  
  934.          You will find that the cover and table of contents will be the last
  935.          two pages printed.  To avoid taking liberties with your printer the
  936.          cover is a very plain affair which you may wish to replace with
  937.          something more exciting.
  938.  
  939.  
  940.          -------------------------------------------------------------------
  941.          ClipHelp (C) vs. 2.2 User Manual   Page 16      S.R. Eddy & Assoc     
  942.  
  943.          Should you find it desirable to force a page break at a place prior
  944.          to that selected by the program, note the line or lines, then edit
  945.          the HELP.TXT file and place a slash ('/') in column 73 on those
  946.          lines, being careful not to displace any color codes from their
  947.          start column of 79.  Next, run ClipHelp's 'Make Help File' option to
  948.          remake HELP.DAT from the edited HELP.TXT file and then re-run the
  949.          'Print Appl Man' option.  You can repeat this process as often as
  950.          necessary until you are satisfied with the results, writing the
  951.          printer output to a disk file each time for scrutiny with your ASCII
  952.          editor.
  953.  
  954.  
  955.          13.  Clipper Summer '87 version - PUBLIC variables to declare in
  956.               your application
  957.  
  958.          Include the following statements and function call in the main .PRG
  959.          module of your application (or in your setup procedure if you use
  960.          one):
  961.  
  962.               * ----- Declare ClipHelp PUBLIC variables
  963.               PUBLIC no_pages,;        && (N) ) Used
  964.                     no_topics,;        && (N) ) within
  965.                        st_rec,;        && (N) ) ClipHelp
  966.                      head_tag,;        && (C))
  967.                       hlp_var,;        && (C) Context-sensitivity variable
  968.                       explode,;        && (L) .T. - explode boxes, else .F.
  969.                       expl_in,;        && (N) Box expansion increment 1-2.
  970.                       expl_dl,;        && (N) 0=fastest. Increase to slow.
  971.                        shadow,;        && (L) .T. - shadow boxes, else .F.
  972.                          mono,;        && (L) .T. - force mono, .F. - color
  973.                     prehelpfn,;        && (C) Procname to call when F1 tapped
  974.                    posthelpfn,;        && (C) Procname to call before return
  975.                         hpath          && (C) Location of HELP.DAT specified
  976.                                        &&     as "<disk>:\<sub-dirirectory>\"
  977.  
  978.               * ----- Declare default values
  979.               STORE   0 TO no_pages, no_topics, st_rec
  980.               STORE  "" TO hlp_var, head_tag, hpath 
  981.               STORE .T. TO explode     && Change these to suit your
  982.               STORE .T. TO shadow      && preferences.  You could use
  983.               STORE .F. TO mono        && command line parameters in
  984.               expl_in = 1              && your application
  985.               expl_dl = 5              && if you wish.
  986.               prehelpfn  = ""          && ) See 'Optional UDFs on entering 
  987.               posthelpfn = ""          && )  and leaving Help' on page 19.
  988.  
  989.  
  990.               * ----- Call function which gathers important information
  991.               *       from HELP.DAT for later use when <F1> pressed
  992.               LdHelpMU()
  993.  
  994.          IMPORTANT: 1)  Don't forget to include the all-important LdHelpMU()
  995.                         function call above in your setup procedure or very
  996.                         early in your main .PRG file.
  997.  
  998.  
  999.          -------------------------------------------------------------------
  1000.          ClipHelp (C) vs. 2.2 User Manual   Page 17      S.R. Eddy & Assoc     
  1001.  
  1002.                     2)  Replace the default "" assignment for hpath with the
  1003.                         location of HELP.DAT and PALETTE.HLP if they reside
  1004.                         elsewhere than in your application's default sub-
  1005.                         directory.
  1006.  
  1007.          SUGGESTION:    To avoid 'typos', use your ASCII editor's facilities
  1008.          ----------     to cut and paste everything above from
  1009.  
  1010.                              '* ----- Declare ClipHelp...'
  1011.                         to
  1012.  
  1013.                              'LdHelpMU()'
  1014.  
  1015.                         into your application's source code, then edit
  1016.                         judiciously.
  1017.  
  1018.          Note that LdHelpMU() returns .T. if file HELP.DAT has been located
  1019.          and .F. if not.  In the latter case it also displays a message to
  1020.          that effect briefly.  You may wish to test this in your code with
  1021.          something like:
  1022.  
  1023.               IF !LdHelpMU()
  1024.                    ... [whatever action you wish to take]
  1025.               ENDIF
  1026.  
  1027.  
  1028.          14.  Clipper 5 version - Function call
  1029.  
  1030.          All variables in the Clipper 5 version library (CLHLP501.LIB) are
  1031.          LOCAL or file-wide STATIC.  There is no need to declare any
  1032.          variables elsewhere in your application.
  1033.  
  1034.          At the points in your application where you wish to change its
  1035.          context sensitivity, pass the character string or code with a call
  1036.          to function SetHV().  See the section headed 'Clipper 5 -' on page
  1037.          15 for details of its use.
  1038.  
  1039.          The only line necessary to add to a Clipper 5 application to provide
  1040.          access to ClipHelp is:
  1041.  
  1042.               LdHelpMU()
  1043.  
  1044.          Optionally, the Clipper 5 LdHelpMU() function can have one or more
  1045.          of the following parameters:
  1046.  
  1047.               Parameter 1    .T. = force monochrome performance
  1048.                                                             (default .F.)
  1049.               Parameter 2    .F. = inhibit panel shadows    (default .T.)
  1050.               Parameter 3    .F. = inhibit panel explosion  (default .T.)
  1051.               Parameter 4    <N> explosion expansion increment 1|2
  1052.                                                             (default 2)
  1053.               Parameter 5    <N> explosion expansion delay - the lower the
  1054.                              value the faster the explosion (default 5)
  1055.               Parameter 6    <C> (optional) path for HELP.DAT and HELP.TXT
  1056.  
  1057.  
  1058.          -------------------------------------------------------------------
  1059.          ClipHelp (C) vs. 2.2 User Manual   Page 18      S.R. Eddy & Assoc     
  1060.  
  1061.                              expressed as "<drive>:\<sub-directory>\" (note
  1062.                              the obligatory trailing "\")
  1063.               Parameter 7    <B> (optional) a code block to execute on
  1064.                              tapping <F1> and prior to displaying any Help
  1065.                              screens.  See 'Optional UDFs on entering and
  1066.                              leaving Help' on page 19.
  1067.               Parameter 8    <B> (optional) a code block to execute on
  1068.                              exiting Help.  See 'Optional UDFs on entering
  1069.                              and leaving Help' on page 19.
  1070.  
  1071.          The optional sixth parameter allows you to store your application's
  1072.          HELP.DAT and PALETTE.HLP files in a sub-directory other than your
  1073.          application's default sub-directory if you so wish.
  1074.  
  1075.          Note that LdHelpMU() returns .T. if file HELP.DAT has been located
  1076.          and .F. if not.  In the latter case it also displays a message to
  1077.          that effect briefly.  You may wish to test this in your code with
  1078.          something like:
  1079.  
  1080.               IF !LdHelpMU()
  1081.                    ... [whatever action you wish to take]
  1082.               ENDIF
  1083.  
  1084.  
  1085.          15.  Optional UDFs on entering and leaving Help
  1086.  
  1087.          ClipHelp vs 2.2 optionally allows user defined functions to be
  1088.          called:
  1089.  
  1090.               (a)  immediately following the tapping of <F1> and before the
  1091.                    display of help screens; and
  1092.  
  1093.               (b)  immediately following the removal of help screens and
  1094.                    prior to return to the point in an application at which
  1095.                    <F1> was tapped.
  1096.  
  1097.          in case you wish to have some special routine performed at either or
  1098.          both of these points.
  1099.  
  1100.          In the Summer 87 version this is achieved by assigning the names of
  1101.          UDFs to public variables PREHELPFN and POSTHELPFN, respectively, eg
  1102.  
  1103.               prehelpfn  = "MyPreHlpFn"
  1104.               posthelpfn = "MyPstHlpFn"
  1105.  
  1106.          for pre-help function MyPreHlpFn(), while in the Clipper 5 version
  1107.          it is achieved by passing code blocks containing them as optional
  1108.          parameters 7 and 8 when initially calling LdHelpMU(), eg
  1109.  
  1110.               LdHelpMU( <par1>..<par6>,{||MyPreHlpFn()},{||MyPstHlpFn()} ) 
  1111.  
  1112.          Note that any functions called at these points should save current
  1113.          color and cursor conditions (and blink conditions in Clipper 5) on
  1114.          entry and restore them on exit, if appropriate.  If you so wish, you
  1115.  
  1116.  
  1117.          -------------------------------------------------------------------
  1118.          ClipHelp (C) vs. 2.2 User Manual   Page 19      S.R. Eddy & Assoc     
  1119.  
  1120.          can have your pre-help function cause a return to your application
  1121.          without displaying help by:
  1122.  
  1123.               Summer 87 - keyboarding a CHR(255) prior to returning, ie
  1124.  
  1125.                         KEYBOARD CHR(255)
  1126.  
  1127.                    This enables you to let the user use <Esc> if you wish. 
  1128.                    ClipHelp automatically follows this with a CLEAR TYPEAHEAD
  1129.                    command so that nothing untoward will happen on return to
  1130.                    your application.
  1131.  
  1132.               Clipper 5 - returning (.F.).  Be sure to return (.T.) to
  1133.                    proceed with the display of help screens.
  1134.  
  1135.          Any value returned by a post-help function is ignored.
  1136.  
  1137.          How can these function calls be used?  Here are a couple of
  1138.          suggestions:
  1139.  
  1140.               (c)  Some users of earlier versions of ClipHelp complained that
  1141.                    while their mouse was being turned off on summoning Help
  1142.                    it was not being restored afterwards.  Whether or not this
  1143.                    happens seems to be related to the mouse driver in use
  1144.                    moreso than to mouse functions.  If you experience such a
  1145.                    problem you could write a pre-help function to save the
  1146.                    current mouse condition and post-help one which calls your
  1147.                    own library's mouse restore function prior to returning
  1148.                    from Help.
  1149.  
  1150.               (d)  A post-help function could be used in the latter stages of
  1151.                    development to call a function opening with a dialogue box
  1152.                    by means of which a user could opt to append notes to a
  1153.                    disk file for later scrutiny by the programmer with
  1154.                    suggestions about help screens.
  1155.  
  1156.          I would welcome responses from users about the uses they have found
  1157.          for these functions.
  1158.  
  1159.  
  1160.          16.  Points to remember when using INKEY(0)
  1161.  
  1162.          If your program uses INKEY(0) and you press <F1> you will not get
  1163.          on-screen help in the ordinary course because INKEY() is not a 'wait
  1164.          state' like WAIT, ACCEPT, READ, INPUT or MENU TO.  To overcome this,
  1165.          use a function such as:
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.          -------------------------------------------------------------------
  1177.          ClipHelp (C) vs. 2.2 User Manual   Page 20      S.R. Eddy & Assoc     
  1178.  
  1179.          FUNCTION Await               && (C) S.R. Eddy & Associates 1989
  1180.                                       && and placed in the Public Domain
  1181.  
  1182.          * Syntax  :     Await()
  1183.          * Purpose :     Allow HELP to be accessed during an INKEY(0)
  1184.          * Dependencies: None
  1185.          * Returns :     INKEY() value
  1186.  
  1187.          DO WHILE .T.
  1188.               IF INKEY(0) = 28
  1189.                    * ----- <F1> pressed.  Essential to pass dummy
  1190.                    *       parameters so that ClipHelp can avoid recursion.
  1191.                    DO HELP WITH "",0,""  && In Clipper 5 you can put Help()
  1192.               ELSE
  1193.                    EXIT
  1194.               ENDIF
  1195.          ENDDO
  1196.          RETURN ( LASTKEY() )
  1197.  
  1198.          and replace 'INKEY(0)' with 'Await()' throughout your program.
  1199.  
  1200.  
  1201.          17.  Linking ClipHelp's .LIB files with your application
  1202.  
  1203.          Libraries CLHLPS87.LIB/CLHLP501.LIB and HLPCS87.LIB/HLPC501.LIB are
  1204.          all that are needed to be added to your linker instructions. 
  1205.          Proceed as follows:
  1206.  
  1207.               (a)  Clipper Summer '87:
  1208.  
  1209.                    Add "clhlps87" and "hlpcs87" to the list of library files
  1210.                    in your linker command or .LNK file.
  1211.  
  1212.               (b)  Clipper 5.01
  1213.  
  1214.                    Add "clhlp501" and "hlpcs87 to the list of library files
  1215.                    in your linker command or .LNK file.
  1216.  
  1217.          IMPORTANT:     Library files HLPCS87 and HLPC501 mentioned above
  1218.                         contain functions written in C.  If your application
  1219.                         includes overlays please be sure to refer to your
  1220.                         linker's user manual to see whether it allows such
  1221.                         libraries to be overlaid before attempting to do so.
  1222.  
  1223.  
  1224.  
  1225.          18.  ClipHelp command line parameters
  1226.  
  1227.          ClipHelp will interpret certain command line parameters given in the
  1228.          following format:
  1229.  
  1230.               cliphelp [<param1>=<on>/<off> [<param2>=<on>/<off> [...]]]
  1231.  
  1232.          Parameter options:
  1233.  
  1234.  
  1235.          -------------------------------------------------------------------
  1236.          ClipHelp (C) vs. 2.2 User Manual   Page 21      S.R. Eddy & Assoc     
  1237.  
  1238.               (a)  If ClipHelp thinks you have a color monitor but in fact
  1239.                    you don't, force mono with:
  1240.  
  1241.                              mono=on        (default is off)
  1242.  
  1243.               (b)  If you find assembly of ClipHelp's opening screen
  1244.                    irritating you can turn it off with:
  1245.  
  1246.                              frag=off       (default is on)
  1247.  
  1248.               (c)  Turn off box shadows with:
  1249.  
  1250.                              shadow=off     (default is on)
  1251.  
  1252.               (d)  Turn off exploding boxes with:
  1253.  
  1254.                              explode=off    (default is on)
  1255.  
  1256.               (e)  Adjust exploding speed by some value between 1 (fast)  and
  1257.                    20 (slow):
  1258.  
  1259.                              explspeed=10   (default is 5)
  1260.  
  1261.               (f)  Adjust exploding box increment value between 1 and 2:
  1262.  
  1263.                              explincr=2     (default is 1)
  1264.  
  1265.  
  1266.               (g)  Specify the path to your application's HELP.DAT and
  1267.                    HELP.TXT files with:
  1268.  
  1269.                         path=<drive>:\<sub-directory>\     (default is "")
  1270.  
  1271.  
  1272.  
  1273.          19.  The 'Set Defaults' option
  1274.  
  1275.          Use this option to specify the seven basic colors in ClipHelp's on-
  1276.          screen panels - borders, index title, index body, selected index
  1277.          item, help topic title, help body text and application background
  1278.          attribute.
  1279.  
  1280.          If you already have a HELP.DAT file be sure to make a copy of it and
  1281.          store it in some safe place in case you are not pleased with the
  1282.          results of your experiments and wish to revert to the original
  1283.          settings.  This is especially important if you change the 'Help
  1284.          Body' color, because the attribute of every character in HELP.DAT
  1285.          with the old help text background color will be replaced with the
  1286.          new one.  ClipHelp won't be able to tell whether such characters are
  1287.          body text or part of some carefully colored representation - they'll
  1288.          all be changed.
  1289.  
  1290.          A screen reminiscent of the 'Edit Colors' screen will appear with a
  1291.          color palette in the upper half and a sample of what the current
  1292.  
  1293.  
  1294.          -------------------------------------------------------------------
  1295.          ClipHelp (C) vs. 2.2 User Manual   Page 22      S.R. Eddy & Assoc     
  1296.  
  1297.          selections will produce in the lower half.
  1298.  
  1299.          Changes are made by picking the desired basic color option from the
  1300.          panel at the right of the screen then tapping <F3> to select a
  1301.          color.  <F3> switches between basic color option and color code
  1302.          selection.  <F2> is used to save the chosen color and display a
  1303.          sample of the results.
  1304.  
  1305.          You can experiment as much as you like without risking permanent
  1306.          damage to present settings.  Only when <^F2> is tapped will any
  1307.          changes you have made be written to disk and then only after you
  1308.          have responded in the affirmative to the cautionary message which
  1309.          appears.
  1310.  
  1311.  
  1312.          20.  Credits
  1313.  
  1314.          My thanks to Gary Louth for his time and assistance in testing the
  1315.          several versions of ClipHelp and to John Buxton for helpful
  1316.          suggestions during development of the first version.
  1317.  
  1318.  
  1319.          21.  Copyright, Trademark etc
  1320.  
  1321.          Nantucket(R) and Clipper(R) are registered trademarks of Nantucket
  1322.          Corporation.
  1323.  
  1324.          QEdit is a registered trademark of Applied Systems Technologies,
  1325.          Inc.
  1326.  
  1327.          Turbo GREP is a registered trademark of Borland International.
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.          -------------------------------------------------------------------
  1354.          ClipHelp (C) vs. 2.2 User Manual   Page 23      S.R. Eddy & Assoc     
  1355.  
  1356.