home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / cprog / altvb10b.zip / HLPFILES.ZIP / HELPMATE.HLP < prev    next >
Text File  |  1990-10-25  |  6KB  |  152 lines

  1. ╔════════════════════════════════════════════════════╗
  2. ║                   H E L P M A T E                  ║
  3. ╟────────────────────────────────────────────────────╢
  4. ║ An 8086/8088 assembly-language module which can be ║
  5. ║ linked, with Q-BASIC, to provide context-sensitive ║
  6. ║ advice and information in programs.                ║
  7. ╚════════════════════════════════════════════════════╝
  8.  
  9. This  version of  HELPMATE was designed,  as a Library
  10. module,  for use with MicroSoft's LIB Library Manager,
  11. a version of which  is supplied with DOS, Quick BASIC,
  12. and all MicroSoft languages.  Assembler programs to be
  13. incorporated  into  such libraries  must be  assembled
  14. using the Macro Assembler MASM. If the module is to be
  15. called from  Q-BASIC, it must be declared, explicitly,
  16. at the beginning of your program text.
  17.  
  18. The  assembler source code  for the  HELPMATE  program
  19. is named HELPMATE.ASM. It was assembled, using MASM 5,
  20. to  produce  the object file  HELPMATE.OBJ,  which was
  21. then linked into the library by the command :
  22.  
  23.            LIB HELPMATE.LIB+HELPMATE;
  24.  
  25. Note  that it is not necessary to include the filename
  26. extensions of the object files,  since  the  Librarian
  27. assumes the default extension of .OBJ.
  28.  
  29. To  use the  HELPMATE.LIB  Library  module  with  your
  30. Q-BASIC programs, you must do two things :
  31.  
  32.  
  33. 1)  The following external function definition must be
  34.     included at the beginning of your program :
  35.  
  36.     DECLARE SUB HelpMate (Context%, Topic$)   where ..
  37.  
  38.     CONTEXT%  is the context-sensitive flag. If set to
  39.               1, then the routine attempts to load the
  40.               file specified by ...
  41.     TOPIC$    A legal DOS filename (up to 8 characters
  42.               without extension), specifying the Topic
  43.               file to be displayed.
  44.  
  45. If Context% is not set,  (or Topic$ is a null string),
  46. then the routine displays a list of topics, from which
  47. you can make your own selection.
  48.  
  49.  
  50. 2)  When linking the finished program, instruct the
  51.     linker to include the HELPMATE.LIB library module
  52.     in the target .EXE file, using the command :
  53.  
  54.     LINK progname,,,HELPMATE.LIB
  55.  
  56.     Where 'progname' is the name of your own program.
  57.  
  58. You can,  of course, include more than one .LIB module
  59. in the command line which links your program. HELPMATE
  60. when  assembled,  keeps all of its data  and  internal
  61. buffers in the Code Segment, and uses less than 6K.
  62.  
  63.  
  64.  
  65. To invoke HELPMATE from anywhere in the program, issue
  66. the statement:
  67.  
  68.         HelpMate Context%, Topic$
  69.  
  70. If  Context% is set,  HELPMATE will display the  first
  71. page of the Topic file specified,  otherwise it begins
  72. by  overlaying the current screen with a popup  window
  73. on which is listed those HELP topics available.
  74.  
  75. The first topic in the list is highlighted and you can
  76. move the highlight around the menu with the arrow keys
  77. Highlight the topic you want,  then press the <RETURN>
  78. key. The first page of that topic will be displayed in
  79. the HELP window.
  80.  
  81. Page backwards and forwards through the file using the
  82. <PG UP> and <PG DN> keys.  If you page past the end of
  83. the file you will be returned to the topic list, where
  84. you can either select another topic, or press <ESC> to
  85. return to the Q-BASIC program. On return, the original
  86. screen and all current variables are restored, intact,
  87. and program execution will continue with the statement
  88. following the procedure call.
  89.  
  90. You can  CALL HELPMATE  from anywhere in your program,
  91. provided that the proper declaration, listed above has
  92. been previously executed.  Appropriate places to issue
  93. the function call are within  menus and in loops where
  94. the program  is idling, whilst waiting for  a keypress
  95. from the user, e.g.
  96.  
  97.  
  98. F1$ = CHR$(0) + CHR$(59): ' Scan Code for <F1> key
  99.  
  100. Menu:
  101.         DO
  102.             R$ = INKEY$
  103.         LOOP WHILE R$ = ""
  104.         SELECT CASE R$
  105.             CASE F1$
  106.                 HelpMate 1, "OPTIONS"
  107.                   .
  108.              other selections
  109.                   .
  110.             CASE ELSE
  111.         END SELECT
  112.     GOTO Menu
  113.  
  114. ┌────────────────────────────────────────────────────┐
  115. │                    HELP FILES                      │
  116. └────────────────────────────────────────────────────┘
  117.  
  118. HELPMATE reads the information it presents, from a set
  119. of Topic files which it looks for in a directory HELP,
  120. a sub-directory of the currently logged directory.
  121.  
  122. Topic files are distinguished  by having the extension
  123. .HLP.  Their filenames, less extension,  are the topic
  124. names which HELPMATE lists in it's opening menu.
  125.  
  126. HELPMATE  will only list the first sixty such files it
  127. finds. Any further .HLP files are ignored.
  128.  
  129. You can  create your own Topic files,  using any word-
  130. processor or text-editor which can produce plain ASCII
  131. text files. WordStar in nondocument mode or NutCracker
  132. are good examples. Note that  HELPMATE  displays topic
  133. files sixteen lines at a time and  window lines are 54
  134. characters wide  (not including the cr/lf characters).
  135. Bear this in mind when formatting your text, to ensure
  136. a neat presentation.
  137.  
  138. HELPMATE is intelligent enough to be able to tell when
  139. its host system has a CGA graphics board installed and
  140. displays the window in  the appropriate  bank of video
  141. memory.  In a monochrome system,  text is displayed in
  142. Inverse video. In CGA systems the screen is in colour.
  143.  
  144.  
  145.  
  146.  
  147. The program provides a useful extension to Q-BASIC and
  148. should enhance the attraction, to the end-user, of any
  149. software which incorporates it.
  150.  
  151. Christy Gemmell                             24th May 1988
  152.