## Programmer Tools

Most tools that bring up a dialog box have a link that pops up utility instructions.
The entity 254 program ,$__BEDIT, checks programmer input for the following (Note that these are NOT SM32 keywords) before it tries to compile the input:

Input | From Menu | Action | Program
CTL=3 and input="" | Not Available | Brings up a blank HTML style TEXT Box to allow Statement input | $__EDIT
EDIT | Not Avaialble | Brings up an HTML style TEXT Box containing the last compiled statement | $__EDIT
EDIT S | Not Avaialble | Brings up an HTML style TEXT Box containing statement # S | $__EDIT
EDIT ALL | Edit -> Edit All | Places all the source from the workspace into an HTML style TEXT Box. This can be used to copy/paste code. To copy a code segment from this manual: Hi-Light the segment, CONTROL C then in SM32 console mode NEW, EDIT All,CONTROL V,COMPILE | $__EDIT
MOVE F,L,D | Not Avaialble | Moves Program Lines F thru L to D | $__EDITMOVE
KSA K! | Not Avaialble | Where K! is the name of any Keyed String Array Is translated to: CALL "$__DUMP_KSA",K![ALL] Which will display the contents of the KSA | $__DUMP_KSA
COPY F,L,D | Not Avaialble | Duplicates Program Lines F thru L to D | $__EDITCOPY
UTIL | Not Avaialble | Brings up a Utility Dialog Menu | $__UTIL
UTIL HELP | Help -> | Brings up a Help Dialog Menu | $__HELP
UTIL HTML | Utility -> Load Html | Brings up The Load Html utility | $__HTMLLOAD
UTIL DISTRIB | Utility -> Create Distribution | Brings up The Create Release Version utility | $__DISTRIB
UTIL XREF | Edit -> Cross Reference | Executes a 2nd copy of SM32 to bring up The Program Cross Reference utility | $__XREF_CON
UTIL PRINT | File -> Print | Does an HTML print of the currently loaded program | $__PRINT
UTIL RECOVER | Edit -> Recover Source | Recovers Source from a save source file | $__RECOVER
UTIL GET | Edit -> Get Source | Gets a portion of program source from a program on disk into the program in the workspace | $__GET
UTIL COMPARE | Edit -> Compare Source | Compares source lines from 2 programs or Compares all the Programs from 2 Directories | $__COMPARE
Not Available | File -> Load | Loads a program into the workspace | $__LOAD
Not Available | File -> Save As | Saves the program in the workspace to disk | $__SAVE

Utility $__LOADIMAGES
CALL "$__LOADIMAGES",D$,PRE$
This utility is intended to be modified by the user. As distributed it does the following:
1. Load all .JPG's from a directory into PROGRAMS.
2. Create an unload program.
Both the reference manual and the get start manual use this utility. For the get start manual the following call was added to $__HTMLLOAD:

    295 CALL "$__LOADIMAGES",DIR(-1)+"HELP\IMAGES","GSI_"

You would probably use DIR(-1)+"HTML\IMAGES".
By adding the line at 295, the images are reloaded every time an HTML Load All is preformed. For the 3 images in HELP\IMAGES:

    GS_BIGPIC.JPG
    GS_SM32.JPG
    SETTING.JPG

$__LOADIMAGES creates the following programs in PROGS

    GSI_GS_BIGPIC
    GSI_GS_SM32
    GSI_SETTING
    and
    GSI_IMAGES

The 1st 3 lines of the START program are:

    20 MKDIR "HELP",ERR=.+1
    30 MKDIR "HELP\IMAGES",ERR=.+1
    40 CALL "GSI_IMAGES",DIR(-1)+"HELP\IMAGES"

GSI_IMAGES checks for the existence of the file GSI_IMAGES_LOADED. If it exists GSI_IMAGES immediately exits. If it does not each of GSI_GS_BIGPIC, GSI_GS_SM32 and GSI_SETTING are called so they can unload their contained .JPG files. GSI_IMAGES then creates the file GSI_IMAGES_LOADED. So the images are only unloaded the first time the get start manual is used.