FSHELP, utility, A full screen help utility with lots of extra's FSHELP is a screen-oriented help utility. It makes use of SMG routines to display help on video terminals. It has the following features - Full screen display of normal .HLB files (scrolling in both directions). Fshelp can also display data from .TLB, .OLB and .MLB files including an analyze/object of a module in an .OLB file (analyze/object for IA64 .OLBs can only be done on IA64 platform). - Selecting subtopics by just typing the name of the subtopic or enter. - Allows cross-referencing of help modules via extra info in help file. - Allows header lines to remain on screen when scrolling. - Allows you to look back at the last 20 topics. - Allows you to mark some help topics for easy return to this topic - Allows you to toggle 132/80 columns - On all screens help can be displayed via the HELP or PF2 key - FSHELP checks for all libraries via the hlp$library* logicals and lets you select one of them via the TAB key. - FSHELP also interfaces to the HELP/MESSAGE databases so you can define FSHELP as your normal help utility (HELP:=$'directory'FSHELP) - There is a sharable image that can be called from any other application to display help (lib$find_image_symbol), so you can display help in FSHELP format from any image. - FSHELP messages are in English, Nederlands(Dutch) or Frysk (A language spoken in the north of Holland). You can easily add you own language (see the .MSG file for help). FSHELP does not translate text in helpfiles, only the FSHELP messages are in the selected language. - You can search text within a help page ((PF1-)PF3), or on this page and all deeper levels ((PF1-)FIND). If you are on the top page of the help library, you can search through the whole library, or even in all loaded libraries. Help files and libraries are in the same format as normal VMS help files. The format is described in the VMS LIBRARIAN UTILITY MANUAL, chapter 5 : HELP Libraries with the following additions. All these commands start with an ! so VMSHELP will ignore them. a. !# Signal the end of header lines in a help text. Th(is)(ese) lines (upto 4) will remain on screen, even when the rest of the text is scrolled. b. ![text on screen]@library topic topic ... FSHELP will save this information, and when you type the F12 key, a list of topics will be displayed, from which you can select one. @library is optional. This gives a possibility to make see-also entries. c. !@[text on screen]DCL command|dcl command... FSHELP will save this information, and when you type the PF1-E (execute) command, FSHELP will let you select one of the execute-scripts. FSHELP will generate a batch-job in the queue FSHELP_QUEUE (default SYS$BATCH) containing the above lines (separated by |). In these commands you can specify symbols to be asked from you. These symbols are separated by '. FSHELP will check if there is a symbol with that name. If this symbol exists FSHELP will substitute the value of that symbol, otherwise FSHELP will ask you for a substitution. Example !@[header]$compute 'test'/out=q.q|$print/delete q.q will try to find the symbol test, and if not found will ask you to specify a new value for 'test'. Then a batchjob will be submitted in the queue in the symbol FSHELP_QUEUE (default SYS$BATCH) containing the lines: $compute new_value/out=q.q $print/delete q.q where new_value is the value found in the symbol TEST or the value given by you. VMS HELP will ignore all lines starting with ! (as will FSHELP), so these lines can be included without interfering with VMS HELP. You can enter help topics on the command line, just as VMS HELP. The format is fshelp [@libraryname] [topic [topic...]] FSHELP does not only display help files, it can also display data from .TLB, .OLB (object and shareable image files) and .MLB files via the qualifier(s) /text, /object, /image and /macro For further help look at the FSHELP help file, you can do that by typing fshelp=$'directory'fshelp_alpha (or _vax or _ia64) fshelp/ownhelp Where 'directory' is the directory where fshelp (and its help file ) can be found When looking at a help page, you can display the deeper topics by typing a Return, a /, or a letter. This will display a menu containing the deeper topics. The / or letter will jump to the first topic containing that letter (or starting with that letter if you specified /NOSEARCHWILD). Typing FIND will jump to the next topic that matches. By typing more letters you can make your search more exact. PF4 or F10 returns to the previous screen. For more help type PF2 or HELP. Usage: Define fshelp as a foreign command $FSHE*LP:=$'diretory'FSHELP_ALPHA or FSHELP_VAX or FSHELP_IA64 Start it as normal help $FSHELP [topic [subtopic...]]] !give normal help $FSHELP/OWNHELP !give help info about FSHELP $FSHELP/TEXT [module] !Display [the module in] FORSYSDEF.TLB $FSHELP/IMAGE [module] !display [the module in] IMAGELIB.OLB library $FSHELP/OBJECT [module] !Display [the module in] STARLET.OLB library ! in the deeper help you can get analyze/object info $FSHELP/MACRO [module] !display [the module in] LIB.MLB $FSHELP/LIBR=*.HLB !Display help about all .HLB files in SYS$HELP $FSHELP/LIBR=*.HLB/LOAD !Read all info from all .HLB files to memory for ! fast access (this takes a while, but if you do ! not leave FSHELP, access is fast). ! select libraries via the TAB key. $FSHELP/MESSAGE Accvio !give help/mess about the ACCVIO item The libraries chosen for the /text, /object, /macro ,/image can be changed. See the .MSG file for more info There are a lot more qualifiers, see the FSHELP/OWNHELP for more info. Note: Of course you can also define FSHELP as HELP. Also included is a shareable image that can be called from any application See the FSHELP_OUTPUT_HELP_EXAMPLE.FOR for more info. Contents: This package contains the following files In the home directory README.FIRST This file CREATE_FSHELP.COM The command file to compile/link FSHELP and the sharable image FSHELP_ALPHA.EXE The main executable alpha FSHELP_SHR_ALPHA.EXE The sharable image alpha FSHELP_VAX.EXE The main executable vax FSHELP_SHR_VAX.EXE The sharable image vax FSHELP_IA64.EXE The main executable ia64 FSHELP_SHR_IA64.EXE The sharable image ia64 FSHELP.HLB The help library in the [.src] directory a. The fortran sources FSHELP.FOR The main program FSHELP_MAIN.FOR The body for the sharable image FSHELP_DISP_INFO.FOR Display info about open libraries/modules FSHELP_MSGHELP.FOR The help/message routines FSHELP_UTIL.FOR Utility routines FSHELP_SCR.FOR SMG routines FSHELP_FILES.FOR FIle handling (lbr) FSHELP_OBJECT.FOR The module for analyze/object FSHELP_OBJECT_VAX.FOR The module for analyze/object of vax object FSHELP_OBJECT_ALPHA.FOR The module for analyze/object of alpha object FSHELP_OBJECT_IA64.FOR The module for analyze/object of IA64 object on IA64 FSHELP_OBJECT_NOT_IA64.FOR The module for analyze/object of IA64 on vax/alpha FSHELP_OUTPUT_HELP_EXAMPLE.FOR Example how to call the sharable image VM_LIBRARY.FOR Interface to LIB$GET_VM b. the include files ELFDEF.INC The ELF object definitions (adapted from FORSYSDEF) FSHELP_DEF.FOR The definitions for the interface to FSHELP_SHR FSHELP.INC Internal definitions to fshelp FSHELP_MSGHELP.INC Internal definitions to fshelp for messagehelp files VM_RECORD.INC Definitions for VM_LIBRARY c. The .cld file FSHELP_CLD.CLD d. The message file (includes all screen messages in all languages) FSHELP_MSG.MSG e. The help file FSHELP.HLP f. The jump vector (for VAX) for the sharable image FSHELP_SHR.MAR in the [.vax] subdirectory All the vax-objects of the sources in the [.alpha] subdirectory All the alpha objects of the sources in the [.ia64] subdirectory All the IA64 objects of the sources Instructions: unpack the .BCK file : backup fshelp_vv.BCK/save [...] The executables are included in the kit, but if you want to rebuild FSHELP, do the following: If you have a fortran compiler you can compile and link $@make_fshelp_'architecture' Vax,Alpha or IA64 Otherwise, just link $@make_fshelp_'architecture' LINK This will create the FSHELP_'architecture' and the FSHELP_SHR_'architecture' images and the FSHELP.HLB help file. I included the objects so you can adapt messsage files even if you do not have a fortran compiler. The most recent version can be donwloaded from oooovms.dyndns.org. Author : Fekko Stubbe If you have suggestions or questions, plaese mail to te address below Email : fshelpdev (at) oooovms.dyndns.org
010 1-jan-1992 Initial release, long long long ago 020 1-may-2003 Initial distributed releasae 021 1-jun-2003 1. Allow the help page to be scrolled in horizontal direction also. 2. Search actions can be in all selected libraries 0211 23-jul-2003 1. Bugfix. If you wanted to extract a module either to file or to printer from a textlibrary, the first record containing a / in the first columns would be seen as a terminator (as in a helplibrary). This problem is solved. 0212 19-aug-2003 1. The display in show open libs/modules counted the bytes loaded twice. 2. FSHELP now supports the /BINARY qualifier for the display of non-printable data as occurs in printer libraries. 0213 24-dec-2003 1. Better support for the /WHOLE qualifier when searching text in the display. The cursor will go to the x,y pos of the found string. Before this patch the cursor remained on col 1 of the line where the string was found. This was confusing if the string occurred more than once on a line. 2. Include option in display help text to display the data in VMS-dump format via the KP6 key, and a /BINARY qualifier. 3. Changed the layout of the select window. If a topic has subtopics starting with a slash (as after the most Qualifiers topic), this topic will be the only one on a new line. This makes the layout more like VMS-help. 4. Included the KP6 key to toggle display from text to dump format (/BINARY). 0300 2-sep-2004 1. Support for IA64, including the ana/obj for most of the sections. Since the LBR$MAP_MODULE in only supported on IA64, the object data from ELF(IA64) object libraries can only be viewed on IA64 platforms. 2. The bytecount/linecount if the show open libs/mods was not updated for the ana/obj modules. This has been fixed. 0301 28-sep-2004 1. Included index for help messages. 2. Improved token parsing for help/message. Keywords like violation, are now found (the , is skipped). 3. Now supports searches in the help/message display (and its index) 0302 8-dec-2004 1. Allow see also's to jump to a specific line/col in the help page. Upto now you could only jump to the beginning of the page 2. Added the /CURRENT switch. This allows you to specify a library in your current directory i.s.o the SYS$SHARE default so HELP/CURRENT/LIBR=test searches TEST.* in your current directory. 0303 17-oct-2005 1. If the first paramter start with an @, FSHELP will treat this parameter as a library name. If the user gave an explicit library with the /library, FSHELP will treat the @ first parameter as a help token now. 2. There were some modules missing for the alpha/ia64 build. They are added now. Since I no longer have access to an IA64 system, the objects/images for IA64 are from the 0300 version. To the best of my knowledge the kit will compile/build now, but I cannot test it.
Use it at your own risk, because we cannot take responsibility for crashes, dumps or even worse: loosing data.
Here is the fshelp 3.1 package (2.7MB zip file).
Please give your feedback to fshelpdev@oooovms.dyndns.org.