BFSHELP, utilities, A full screen help utility with lots of extra'sL FSHELP is a screen-oriented help utility. It makes use of SMG routines to @ display help on video terminals. It has the following featuresL - Full screen display of normal .HLB files (scrolling in both directions).I Fshelp can also display data from .TLB, .OLB and .MLB files including1 an analyze/object of a module in an .OLB fileF (analyze/object for IA64 .OLBs can only be done on IA64 platform).I - Selecting subtopics by just typing the name of the subtopic or enter.I - Allows cross-referencing of help modules via extra info in help file.; - Allows header lines to remain on screen when scrolling.2 - Allows you to look back at the last 20 topics.E - 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 keyA - FSHELP checks for all libraries via the hlp$library* logicals5 and lets you select one of them via the TAB key.C - FSHELP also interfaces to the HELP/MESSAGE databases so you canI define FSHELP as your normal help utility (HELP:=$'directory'FSHELP)K - There is a sharable image that can be called from any other applicationE to display help (lib$find_image_symbol), so you can display help% in FSHELP format from any image.J - FSHELP messages are in English, Nederlands(Dutch) or Frysk (A languageI spoken in the north of Holland). You can easily add you own languageO (see the .MSG file for help). FSHELP does not translate text in helpfiles,; only the FSHELP messages are in the selected language.P - You can search text within a help page ((PF1-)PF3), or on this page and all P deeper levels ((PF1-)FIND). If you are on the top page of the help library, D you can search through the whole library, or even in all loaded  libraries. L 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 LibrariesE with the following additions. All these commands start with an ! so VMSHELP will ignore them.H a. !# Signal the end of header lines in a help text. Th(is)(ese) linesF (upto 4) will remain on screen, even when the rest of the text is scrolled.. b. ![text on screen]@library topic topic ...A FSHELP will save this information, and when you type the D F12 key, a list of topics will be displayed, from which you I can select one. @library is optional. This gives a possibility to make see-also entries.1 c. !@[text on screen]DCL command|dcl command...9 FSHELP will save this information, and when you type the@ PF1-E (execute) command, FSHELP will let you select one of the  execute-scripts.K FSHELP will generate a batch-job in the queue FSHELP_QUEUE (defaultH SYS$BATCH) containing the above lines (separated by |). In these> commands you can specify symbols to be asked from you.G These symbols are separated by '. FSHELP will check if there isM a symbol with that name. If this symbol exists FSHELP will substituteC the value of that symbol, otherwise FSHELP will ask you for a substitution.D Example !@[header]$compute 'test'/out=q.q|$print/delete q.qG will try to find the symbol test, and if not found will ask youC to specify a new value for 'test'. Then a batchjob will be M submitted in the queue in the symbol FSHELP_QUEUE (default SYS$BATCH) containing the lines:# $compute new_value/out=q.q $print/delete q.qJ where new_value is the value found in the symbol TEST or the value given by you.K VMS HELP will ignore all lines starting with ! (as will FSHELP), so these: lines can be included without interfering with VMS HELP.B You can enter help topics on the command line, just as VMS HELP. The format is* fshelp [@libraryname] [topic [topic...]]G FSHELP does not only display help files, it can also display data from> .TLB, .OLB (object and shareable image files) and .MLB files8 via the qualifier(s) /text, /object, /image and /macroI For further help look at the FSHELP help file, you can do that by typing4 fshelp=$'directory'fshelp_alpha (or _vax or _ia64) fshelp/ownhelpF Where 'directory' is the directory where fshelp (and its help file ) can be foundB When looking at a help page, you can display the deeper topics byH typing a Return, a /, or a letter. This will display a menu containingK the deeper topics. The / or letter will jump to the first topic containingK that letter (or starting with that letter if you specified /NOSEARCHWILD).6 Typing FIND will jump to the next topic that matches.< By typing more letters you can make your search more exact.K PF4 or F10 returns to the previous screen. For more help type PF2 or HELP.Usage:"Define fshelp as a foreign commandA$FSHE*LP:=$'diretory'FSHELP_ALPHA or FSHELP_VAX or FSHELP_IA64Start it as normal help0$FSHELP [topic [subtopic...]]] !give normal help.$FSHELP/OWNHELP !give help info about FSHELP>$FSHELP/TEXT [module] !Display [the module in] FORSYSDEF.TLBF$FSHELP/IMAGE [module] !display [the module in] IMAGELIB.OLB libraryL$FSHELP/OBJECT [module] !Display [the module in] STARLET.OLB library8 ! in the deeper help you can get analyze/object info9$FSHELP/MACRO [module] !display [the module in] LIB.MLBB$FSHELP/LIBR=*.HLB !Display help about all .HLB files in SYS$HELPI$FSHELP/LIBR=*.HLB/LOAD !Read all info from all .HLB files to memory for4 ! fast access (this takes a while, but if you do( ! not leave FSHELP, access is fast).( ! select libraries via the TAB key.E$FSHELP/MESSAGE Accvio !give help/mess about the ACCVIO itemKThe libraries chosen for the /text, /objext, /macro ,/image can be changed.! See the .MSG file for more infoFThere are a lot more qualifiers, see the FSHELP/OWNHELP for more info.3Note: Of course you can also define FSHELP as HELP.JAlso included is a shareable image that can be called from any application6See the FSHELP_OUTPUT_HELP_EXAMPLE.FOR for more info. Contents:*This package contains the following files In the home directoryREADME.FIRST This file>CREATE_FSHELP.COM The command file to compile/link FSHELP and  the sharable image*FSHELP_ALPHA.EXE The main executable alpha0FSHELP_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 ia64FSHELP.HLB The help libraryin the [.src] directorya. The fortran sourcesFSHELP.FOR The main program7FSHELP_MAIN.FOR The body for the sharable image>FSHELP_DISP_INFO.FOR Display info about open libraries/modules1FSHELP_MSGHELP.FOR The help/message routines(FSHELP_UTIL.FOR Utility routines$FSHELP_SCR.FOR SMG routines+FSHELP_FILES.FOR FIle handling (lbr)5FSHELP_OBJECT.FOR The module for analyze/objectCFSHELP_OBJECT_VAX.FOR The module for analyze/object of vax objectEFSHELP_OBJECT_ALPHA.FOR The module for analyze/object of alpha objectLFSHELP_OBJECT_IA64.FOR The module for analyze/object of IA64 object on IA64MFSHELP_OBJECT_NOT_IA64.FOR The module for analyze/object of IA64 on vax/alphaEFSHELP_OUTPUT_HELP_EXAMPLE.FOR Example how to call the sharable image'VM_LIBRARY.FOR Interface to LIB$GET_VMb. 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 fshelpGFSHELP_MSGHELP.INC Internal definitions to fshelp for messagehelp files)VM_RECORD.INC Definitions for VM_LIBRARYc. The .cld fileFSHELP_CLD.CLDCd. The message file (includes all screen messages in all languages)FSHELP_MSG.MSGe. The help file FSHELP.HLP3f. The jump vector (for VAX) for the sharable imageFSHELP_SHR.MARin the [.vax] subdirectory# All the vax-objects of the sourcesin the [.alpha] subdirectory% All the alpha objects of the sourcesin the [.ia64] subdirectory$ All the IA64 objects of the sources Instructions:unpack the .BCK fileCThe executables are included in the kit, but if you want to rebuildFSHELP, do the following:9 If you have a fortran compiler you can compile and link $@create_fshelp  Otherwise, just link $@create_fshelp LINKLThis will create the FSHELP_'architecture' and the FSHELP_SHR_'architecture'$images and the FSHELP.HLB help file.NI included the objects so you can adapt messsage files even if you do not havea fortran compiler.BThe most recent version can be donwloaded from oooovms.dyndns.org.Author : Fekko StubbeEIf you have suggestions or questions, plaese mail to te address below*Email : fshelpdev (at) oooovms.dyndns.org