home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / systemax / sde.doc < prev    next >
Encoding:
Text File  |  1990-08-07  |  59.4 KB  |  1,273 lines

  1.  
  2.     =======================================================================
  3.             SDE - THE SYSTEMAX DEVELOPMENT ENVIRONMENT FOR OS/2
  4.     =======================================================================
  5.  
  6.                      SysteMAX Development Environment
  7.  
  8.                      Copyright (C) 1990 SysteMAX Corp.
  9.  
  10.                               SysteMAX Corp.
  11.                      12 Westerville Square - Suite 160
  12.                           Westerville, Ohio 43081
  13.                         Voice-mail: (614) 447-7038
  14.                             MCI Mail: SysteMAX
  15.  
  16.     =======================================================================
  17.                                 DESCRIPTION
  18.     =======================================================================
  19.  
  20.     SDE is a file and directory management system and application launcher
  21.     for OS/2.  Its rich macro language is well suited to launching editors,
  22.     compilers, file-browsers, string-search utilities, and the like.
  23.  
  24.     SDE's ability to launch programs in the foreground or background with a
  25.     single keystroke, the MacroMenu feature - one which allows you to
  26.     create pop-up menus within a macro, and Autokey keystroke recorder are
  27.     just a few of the features which make SDE a powerful environment for
  28.     OS/2 users and developers.
  29.  
  30.     For those of you who have used similar utilities before, you should
  31.     have no trouble tapping SDE's power.  If you haven't, SDE's menu-driven
  32.     interface and context-sensitive help facility should get you up and
  33.     running in short order.
  34.  
  35.     =======================================================================
  36.                                NEW FEATURES
  37.     =======================================================================
  38.  
  39.     Version 1.3.0:
  40.  
  41.         When a MacroMenu menu is displayed, pressing the first letter of
  42.         the option's title will select that option as if you had moved the
  43.         hilite bar to that option and pressed Enter. If two options start
  44.         with the same character, the first one is selected.
  45.  
  46.         The Home and End keys now work differently. When pressed once, the
  47.         hilite bar is moved to the top/bottom of the current column. When
  48.         pressed again, the bar is moved to the first/last file on the
  49.         current page. Press again, and the bar is moved to the first/last
  50.         file in the current directory.
  51.  
  52.         When moving files and copying files to a directory on the same
  53.         volume, the hilite bar on the directory tree is updated to point
  54.         to the destination directory (the one to which the files were
  55.         moved/copied). This makes switching to that directory much
  56.         easier (two keystrokes, Esc+Enter).
  57.  
  58.         In edit fields, the Ctrl-Left and Ctrl-Right keystrokes can now
  59.         be used to move the cursor 5 characters to the left and right
  60.         respectively, allowing you to quickly scroll through large edit
  61.         fields.
  62.  
  63.     Version 1.2.3:
  64.  
  65.         When the "Volume" menu is displayed (either by pressing Ctrl-V or
  66.         by selecting "Volume" option from the "Select" menu), you may press
  67.         the key associated with the desired drive letter to select that
  68.         drive (e.g. press "C" for the C drive, "D" for the D drive, etc.).
  69.  
  70.         After selecting the "Edit macro" option from the "Macro" menu, you
  71.         may now select a macro to edit by pressing the macro key on the
  72.         keyboard (e.g. when the macro popup menu is displayed, press the
  73.         "R" key to edit the "R" macro).
  74.  
  75.         When first starting this version, you may notice an immediate
  76.         difference. The file names (and directory names in the directory
  77.         tree) will probably appear in lower case letters. There is a new
  78.         option in the "Misc" menu which allows you to select wheter these
  79.         names should be displayed in upper or lower case. Your selection
  80.         will be saved in the configuration file and used by SDE until
  81.         this setting is changed.
  82.  
  83.     Version 1.2.2:
  84.  
  85.         The 'Locate' function now remembers the text you enter into its
  86.         input field.
  87.  
  88.         The 'Locate' operation may now be canceled with Control-Break.
  89.  
  90.         The Autokey recorder no longer generates the %Q flag when recording
  91.         keystrokes, since %Q is no longer required (and not desirable in
  92.         sub-macros).
  93.  
  94.         Shows the hilited file's attributes in the status line. The
  95.         characters 'hsra' are displayed if the respective hidden, system,
  96.         read-only, and archive bits are set. If not set, a dot appears in
  97.         place of the character.
  98.  
  99.     Version 1.2.1:
  100.  
  101.         Options for setting the number of screen lines and mouse speed have
  102.         been added to the 'Select' pulldown menu.
  103.  
  104.         Now enables you to change the disk-write verification mode using
  105.         the 'Verify' option in the 'Misc' menu. When 'Verify' is on, all
  106.         data written to disk is checked for integrity. When off, no such
  107.         check is performed.
  108.  
  109.         The back-quote '`' key (below the Esc key) can be used to display
  110.         the current directory key settings (0 through 9).
  111.  
  112.         The 'Copy/Move/Delete tagged' operations, as well as the 'Tag/Untag
  113.         all containing' operations, may now be canceled with Control-Break.
  114.  
  115.         When tagging/untagging files with the mouse in previous versions,
  116.         some files would be skipped if the mouse was dragged too quickly.
  117.         This limitation of the mouse driver has been worked around; all
  118.         files between the start and finish point of a mouse drag will now
  119.         be tagged/untagged appropriately.
  120.  
  121.         The program has been patched to handle differences between native
  122.         OS/2 file functions and AS/400 shared-folder drivers.  The net
  123.         result is that SDE can now be used on AS/400 shared folders.
  124.  
  125.         Improves numeric legibility by displaying file size on status line
  126.         delineated with commas.  Also displays file counts and sizes with
  127.         commas in 'File Information' dialog.
  128.  
  129.         Most lengthy operations, such as directory scanning, file copying,
  130.         etc. will now begin with a 'Please Wait' dialog.
  131.  
  132.         The 'Copy/Move/Delete tagged' operations, as well as the 'Tag/Untag
  133.         all containing' operations, now display their progress in bar-graph
  134.         form.
  135.  
  136.         The 'Delete tagged' function may be activated with the Delete key
  137.         as well as the Alt-D key combination.
  138.  
  139.         Some minor changes have been made to the %t and %T macro flags.  If
  140.         there are tagged files, their names will be inserted into the macro
  141.         normally.  If, however, there are no tagged files, the name of the
  142.         hilited file is inserted into the macro.  If this effect is not
  143.         desirable for a particular macro, you should add the %A (abort if
  144.         none tagged) option to the macro.
  145.  
  146.         You may now specify a full path and file name when duplicating a
  147.         file.  If you do not specify a path, the file will be duplicated in
  148.         the current directory.
  149.  
  150.         During a 'Copy tagged' operation, if you choose the option to copy
  151.         files to a directory on another volume, you may now specify just a
  152.         drive letter, as in 'h:', to copy all tagged files to the default
  153.         (current) directory of the 'h:' drive.  Previous versions would
  154.         interpret 'h:' to mean the root directory of that volume.
  155.  
  156.         There is a new line in the 'Information' dialog.  The 'Tree' line
  157.         will display the count and cumulative size of any files in the
  158.         current directory as well as any child directories of the current
  159.         directory. Pressing the Shift-Tab key combination will bring up
  160.         this dialog without the Tree information.
  161.  
  162.     Version 1.1.0:
  163.  
  164.         Now contains the nested MacroMenus capability.  Your MacroMenu
  165.         options may now contain MacroMenus of their own, nested to any
  166.         depth. The only restriction is the 255 character macro limit.
  167.  
  168.     Version 1.0.0:
  169.  
  170.         Original release.
  171.  
  172.     =======================================================================
  173.                                  SDE FILES
  174.     =======================================================================
  175.  
  176.     SDE was originally packaged with the following files. If you are
  177.     missing one or more of these files, please retrieve a complete copy
  178.     from your favorite RBBS. If you have difficulty obtaining a complete
  179.     SDE package, please contact SysteMAX Corp. at the address above.
  180.  
  181.         SDE.EXE      - The SDE executable program.
  182.  
  183.         SDE.DOC      - This document.
  184.  
  185.         SAMPLE.MAC   - A sample macro file.
  186.  
  187.         REGISTER.FRM - A single-user SDE registration form.
  188.  
  189.         REGISTER.SIT - A site-license SDE registration form.
  190.  
  191.         PERSONAL.EXE - A utility to personalize your copy of SDE.
  192.  
  193.         HEXEDIT.EXE  - An ASCII/EBCDIC/HEX file and disk editor.
  194.  
  195.         RPNCALC.EXE  - A Reverse Polish Notation calculator.
  196.  
  197.     =======================================================================
  198.                     LIMITED-FUNCTION SHAREWARE VERSION
  199.     =======================================================================
  200.  
  201.     While the SDE system supports 52 macros (a..z, A..Z), the shareware
  202.     version distributed by SDE only allows six (a..c, A..C) to be used. All
  203.     other features of the SDE system are completely functional.
  204.  
  205.     Once you complete the appropriate registration form (REGISTER.FRM or
  206.     REGISTER.SIT), send in your registration fee, and receive registration
  207.     confirmation from SysteMAX Corp., you will be authorized to run the
  208.     PERSONAL.EXE personalization utility to customize your copy of SDE and
  209.     remove this six-macro restriction. Do NOT run this program without
  210.     prior authorization from SDE - your copy of SDE may be damaged!
  211.  
  212.     =======================================================================
  213.                             SYSTEM REQUIREMENTS
  214.     =======================================================================
  215.  
  216.     SDE requires the following hardware/software:
  217.  
  218.         OS/2 Version 1.1 or higher.
  219.  
  220.         An IBM PS/2 or other OS/2 compatible 286/386 machine.
  221.  
  222.         An IBM VGA or compatible video adapter.
  223.  
  224.         An OS/2-supported mouse and appropriate OS/2 driver.
  225.  
  226.     While SDE has been subjected to rigorous testing on many different
  227.     computers, it has obviously not been tested on every possible hardware
  228.     configuration. We encourage you to report incompatibilites, so that
  229.     modifications can be made to future releases.
  230.  
  231.     =======================================================================
  232.                                INSTALLATION
  233.     =======================================================================
  234.  
  235.     To install SDE on your hard disk, perform the following steps:
  236.  
  237.         Pick or create a directory on your hard drive for SDE.
  238.  
  239.         Copy the SDE files listed above to that directory.
  240.  
  241.         Edit your CONFIG.SYS file, and add the statement:
  242.  
  243.         SET SDE=D:\PATH
  244.  
  245.         where 'D' is the drive and 'PATH' is the path to which you copied
  246.         the SDE program.
  247.  
  248.         Add the SDE path to your PATH statement.
  249.  
  250.         Reboot, to make your new CONFIG.SYS take effect.
  251.  
  252.         Add SDE to your Start Programs menu, or start SDE from the command
  253.         line by typing SDE.  If you choose to start SDE from Start
  254.         Programs, you may run SDE in either full-screen or PM window mode.
  255.  
  256.     Everything is, we hope, fairly self-explanatory, so you should be able
  257.     to get right to work.  To get help at any time, press the F1 key.
  258.  
  259.     =======================================================================
  260.                                 PARAMETERS
  261.     =======================================================================
  262.  
  263.     SDE has a built-in screen blanker which blacks out the screen after 5
  264.     minutes of keyboard and mouse inactivity.  Moving or clicking the
  265.     mouse, or pressing a key, will reset the video to its previous state.
  266.  
  267.     To activate this feature, start the program with a command-line option
  268.     of /b or /B. This feature is only useful in full-screen mode, since
  269.     under PM, only the application's window is blanked.
  270.  
  271.     =======================================================================
  272.                                  THE MOUSE
  273.     =======================================================================
  274.  
  275.     SDE supports the mouse for all operations save color selection. The
  276.     mouse can be used to select pulldown menus and options within them, to
  277.     select choices from popup menus, and to tag and untag files.
  278.  
  279.     Clicking the left mouse button moves the hilite bar to the file name
  280.     beneath the mouse pointer and tags or untags the file. Clicking the
  281.     right mouse button moves the hilite bar in a similar fashion, but the
  282.     file is not tagged/untagged.
  283.  
  284.     When tagging/untagging files, please note that the OS/2 mouse driver
  285.     may not keep up if you press the mouse button and drag the mouse too
  286.     quickly, especially when one of the faster mouse speeds is used.  Some
  287.     files along the way may be skipped.  Click the mouse on these files
  288.     again should this happen.
  289.  
  290.     =======================================================================
  291.                                 STATUS LINE
  292.     =======================================================================
  293.  
  294.     The current directory name, hilited file date, time and size, and the
  295.     system time are all displayed on the bottommost row of the screen.
  296.  
  297.     When moving the hilite bar with the arrow keys, the file information is
  298.     updated immediately. Otherwise this information is updated along with
  299.     the system clock once every second.
  300.  
  301.     If you are viewing a directory that has a very long path name, the
  302.     first and last twenty or so characters of the path are displayed,
  303.     separated by an elipsis...
  304.  
  305.     More detailed file and directory information is available in the 'File
  306.     Information' dialog.
  307.  
  308.     =======================================================================
  309.                             MACRO INTRODUCTION
  310.     =======================================================================
  311.  
  312.     Macros are the heart (or, more precisely, the personality) of the SDE
  313.     system.  They allow you to launch any program from SDE with a single
  314.     keystroke.  If you choose your macros wisely, and assign them to keys
  315.     you can easily remember, working in the SDE environment will soon
  316.     become second nature.
  317.  
  318.     When a macro is executed, the SDE macro processor searches your macro
  319.     for parameters that begin with a percent '%' sign.  SDE will take
  320.     various actions depending on the character which follows %.  Wherever
  321.     possible, this letter has been made a mnemonic of the function the flag
  322.     performs.  The macro processor IS case-sensitive as far as macro flags
  323.     are concerned.
  324.  
  325.     Note: Unless explicitly stated otherwise in the description of the
  326.     macro flag, all macros flags are operated on immediately (before any
  327.     program that the macro may call) in the order that they appear in the
  328.     macro.
  329.  
  330.     Here are some sample scenarios in which macros can greatly simplify
  331.     the task of executing programs.
  332.  
  333.                         =========================
  334.  
  335.     Let's assume your editor of choice is Q.EXE.  Let's also assume your
  336.     PATH statement in CONFIG.SYS is set up so that it points to the
  337.     directory where the Q.EXE program resides.  The 'q' key on your
  338.     keyboard can be set to edit all tagged files using the macro:
  339.  
  340.                                    q %t
  341.  
  342.                         =========================
  343.  
  344.     If you have a program named VIEW that displays files, you can make the
  345.     'v' key list all the tagged files with a similar macro:
  346.  
  347.                                 view %t %A
  348.  
  349.     The %A (abort if none) parameter ensures that VIEW is not started
  350.     unless at least one file is tagged.
  351.  
  352.                         =========================
  353.  
  354.     Let's say you want to jump into a directory and edit all the 'C'
  355.     language source code files there.  You could make the 's' key (for
  356.     source) do this using the macro:
  357.  
  358.                            %-*.* %+*.c %+*.h %Xq
  359.  
  360.     This macro uses the %- (untag) parameter to untag all files, then uses
  361.     the %+ (tag) parameter twice to tag all the .C files and then all the
  362.     .H files.
  363.  
  364.     The macro then uses the %X (expand into) flag to add the contents of
  365.     the macro 'q' to the current macro.  Since 'q' was set up to edit all
  366.     tagged files, all .C and .H files in the current directory will be fed
  367.     to the Q.EXE editor.
  368.  
  369.     Alternately, you could have manually entered the contents of the 'q'
  370.     macro into this macro, but %Xq is simpler, and requires no changes if
  371.     the 'q' key macro is edited.
  372.  
  373.     Note: The %X flag is primarily intended to be a bridge between
  374.     side-effect macros (tag-only, for example) and macros which perform
  375.     an external function (like 'v', which starts an editor).
  376.  
  377.                         =========================
  378.  
  379.     Some programs handle long file lists (50 or more files) quite well.
  380.     SDE can, by the way, send up to 8192 bytes worth of command-line data
  381.     to an application.  Some, however, don't handle multiple filenames as
  382.     input parameters.
  383.  
  384.     For these applications, use the %h flag to feed the filename of the
  385.     hilited file to the program.
  386.  
  387.                         =========================
  388.  
  389.     If you make projects using the MAKE utility, you could use the 'm' key
  390.     to execute MAKE thusly:
  391.  
  392.                                 make %n %W
  393.  
  394.     The %n (name only) parameter feeds the filename of the hilited file
  395.     (without an extension) to MAKE.  In this way, you can point to any file
  396.     in your project that has the same primary name as your make file, press
  397.     the 'm', key, and start MAKE.
  398.  
  399.     The %W (wait with prompt) flag makes sure that you don't miss any
  400.     compile errors by pausing the display until you press a key or click
  401.     the mouse button.
  402.  
  403.     To start MAKE in the background, use the following macro:
  404.  
  405.                                 make %n %L
  406.  
  407.                         =========================
  408.  
  409.     Making use of the %<?> (comment/prompt) flag is a simple 'p' macro for
  410.     printing.  It reads:
  411.  
  412.                     print %h %<Print hilited file?> %C
  413.  
  414.     The text appearing between the <>'s acts as both a macro comment and as
  415.     a prompt.  This string is read by the %C (confirm) parameter, so that
  416.     when the 'Continue/Abort' pop-up menu is displayed, the menu has the
  417.     title 'Print hilited file?'
  418.  
  419.     The macro below performs the same function, but demonstrates that the
  420.     string appearing between the angled brackets is also expanded by the
  421.     macro processor.
  422.  
  423.                          print %h %<Print %h?> %C
  424.  
  425.                         =========================
  426.  
  427.     The GREP utility can be used to locate occurrences of text strings in
  428.     multiple files.  The 'g' key can be made to perform this search using
  429.     the macro:
  430.  
  431.                     grep %<Search for...> "%I" %t %A %W
  432.  
  433.     Again, a prompt has been established with %<>.  The %I (forced input)
  434.     flag causes SDE to ask the user for input, and will abort the macro if
  435.     nothing is entered (use %i if you want execution to continue in this
  436.     case).
  437.  
  438.     The input box will have the title 'Search for...', since it, like the
  439.     'Continue/Abort' menu, reads the prompt string.  The input is encased
  440.     in double quotes in case the input might contain blanks - in this way,
  441.     GREP reads the string as a single command-line parameter.
  442.  
  443.     The name of each tagged file is appended to the macro - the %A flag
  444.     makes sure you don't try to search an empty file list.
  445.  
  446.     The %W allows you to view the output of GREP before returning to SDE.
  447.  
  448.     Note: SDE can search for text strings inside non-binary files.  See the
  449.     description in the NOTES section below.
  450.  
  451.                         =========================
  452.  
  453.     Let's assume your text editor creates backup files of anything you
  454.     edit, and also assume the backups always have an extension of .BAK.
  455.     You can clear your disk of these backups using the following macro:
  456.  
  457.                               del *.BAK %R %c
  458.  
  459.     The %R flag causes SDE to repeat the macro in every directory.
  460.  
  461.     Since 'del' is an OS/2 command, not an executable program, the %c must
  462.     be supplied so that the expanded macro will be fed to the command
  463.     processor (which is, by default, CMD.EXE).
  464.  
  465.                         =========================
  466.  
  467.     Some of the programs that do not accept multiple filenames on a command
  468.     line do accept a single filename parameter which represents a list of
  469.     files to be processed.  You can still send multiple filenames to these
  470.     programs using the %o and %O macro flags.
  471.  
  472.     These flags write the names of all the tagged files, one per line, to
  473.     the file that appears directly after the flag.  Take, for example, the
  474.     macro:
  475.  
  476.                       SEARCH %Osearch.lst @search.lst
  477.  
  478.     It first erases the file 'search.lst', if it exists, and then writes
  479.     the name of each tagged file to the file 'search.lst'.
  480.  
  481.     The @search.lst parameter is not a SDE flag (because it does not begin
  482.     with a percent sign), but is instead a parameter for the SEARCH program
  483.     which tells it that the names of the files to search are contained in
  484.     the file 'search.lst'.
  485.  
  486.     When using %O and %o, the output file is written to before the program
  487.     called by the macro is executed.  The %O flag overwrites the previous
  488.     contents of the file; the %o flag appends output to the file.
  489.  
  490.                         =========================
  491.  
  492.     The OS/2 RECEIVE command downloads a file from a host to the PC. In
  493.     most cases, the file you download will retain the same name on the PC
  494.     as it does on the host, aside from system file-naming differences.
  495.  
  496.     Making use of this assumption is the following macro for the RECEIVE
  497.     program, which places the contents of the 'PC file name' user input
  498.     field into a variable named 'r'.  The 'Host file name' user input field
  499.     will automatically be filled with the contents of 'r' when the macro is
  500.     executed. All you need to do is edit a few characters of the 'Host file
  501.     name' field, as opposed to typing the entire file name.
  502.  
  503.         RECEIVE %<PC file name?> %Ir VMB:%<Host file name?> %Ir %l
  504.  
  505.     The program is launched in a separate screen group with the %l flag,
  506.     which means the file transfer proceeds in the background while you
  507.     continue working in SDE (or any other program you execute).
  508.  
  509.                         =========================
  510.  
  511.     Here is a good example of the power of the SDE macro language; a slick
  512.     'side-effect only' macro (note that it calls no program).  It catalogs
  513.     the name of every executable program on your hard disk to a file named
  514.     EXELIST in the root directory.
  515.  
  516.                         %-*.* %+*.EXE %f\EXELIST %R
  517.  
  518.     Just in case you had some files tagged prior to running this macro, the
  519.     macro untags them with %-*.*. A macro of similar form could catalog
  520.     source files or data files; the resulting list could then be fed to a
  521.     program for processing.
  522.  
  523.                         =========================
  524.  
  525.     If you have a need to run one macro after another, this can be
  526.     accomplished with the %x macro flag. Simply list the macros to be
  527.     executed, in the order they are to be executed, after the flag like so:
  528.  
  529.                                   %xTvLqw
  530.  
  531.     Note: Up to 255 macros can be scheduled in this manner.
  532.  
  533.                         =========================
  534.  
  535.     If you want standard (teletype) output to appear in colors other than
  536.     those in your file list, use the %s and/or %S flags in your macro.
  537.     These flags must be followed by one of the following color names (case
  538.     is not significant):
  539.  
  540.               BLACK RED GREEN YELLOW BLUE CYAN MAGENTA WHITE
  541.  
  542.     For background colors (%S), the color name always specifies a dim
  543.     color, but foreground (%s) color names may be suffixed with the '+'
  544.     symbol to specify a bright color, as in:
  545.  
  546.                             %SBLACK %sMAGENTA+
  547.  
  548.     If you really want to go crazy, you could have different color sets for
  549.     every program you execute from SDE by using these two flags (providing
  550.     that the application writes to STDOUT, and doesn't change those colors
  551.     itself).
  552.  
  553.     =======================================================================
  554.                               AUTOKEY MACROS
  555.     =======================================================================
  556.  
  557.     An Autokey macro is one that contains recorded keystrokes rather than
  558.     text commands.  To create an Autokey macro, select an unused macro
  559.     letter from the 'Edit macro' menu.  In the input field, enter a
  560.     question mark '?' and press Enter.  SDE will then be in Autokey
  561.     recording mode.
  562.  
  563.     Any keys you press, up to but not including the Ctrl-End combination,
  564.     will be saved under the key of the macro being edited.  Note that your
  565.     keys are merely being recorded, they will have no immediate effect on
  566.     the program.  There is a limit of approximately 35 keystrokes for each
  567.     macro key.
  568.  
  569.     When you press the macro key on the keyboard, the macro processor will
  570.     place the keystrokes you recorded for that macro into the SDE keyboard
  571.     buffer just as if you were typing them directly.  Autokey macros will
  572.     look odd in the 'Edit macro' menu (you will see the private %K flag in
  573.     use).
  574.  
  575.     If an Autokey macro causes an external application to be executed, any
  576.     pending keystrokes in the macro will be saved until that application
  577.     terminates.  For this reason, standard macros that are to be called by
  578.     an Autokey macro should not use the %w or %W option, since either will
  579.     cause the SDE keyboard buffer to be flushed.
  580.  
  581.     =======================================================================
  582.                                 MACROMENUS
  583.     =======================================================================
  584.  
  585.     The MacroMenus feature significantly boosts the power of the SDE macro
  586.     language.  Within a macro, you can build a popup menu with up to 10
  587.     options, and take conditional action based on the menu selection.  To
  588.     build a MacroMenu, use the %[ macro flag.  The format of the data for
  589.     the flag is as follows:
  590.  
  591.              %[Option{String}Option{String}...Option{String}]
  592.  
  593.     'Option' represents the option text that will appear in the popup
  594.     menu, and 'String' represents the text that will be inserted into the
  595.     expanded macro should that option be selected.
  596.  
  597.     The title of a MacroMenu will be the prompt established by the %<?>
  598.     parameter, or 'Macro Options' if none.
  599.  
  600.     For example, the OS/2 SEND command is used to transfer files from a PC
  601.     to a VM host.  The parameters required for SEND vary, depending on
  602.     whether the file being transferred is a binary file or text file.
  603.  
  604.     Without MacroMenus, two macros would be required for sending files to
  605.     the host; one for binary files, and another for text files.  These
  606.     macros would read something like:
  607.  
  608.          SEND %h VMB:%n %e A1 %W                (for binary files)
  609.          SEND %h VMB:%n %e A1 (CRLF ASCII %W    (for text files)
  610.  
  611.     These two can be combined into one macro (like the one below), but the
  612.     exact options, spelling, order, etc., of the parameters expected by the
  613.     SEND command would have to be remembered.
  614.  
  615.                         SEND %h VMB:%n %e A1 %i %W
  616.  
  617.     A better solution than either of the above is the following macro:
  618.  
  619.       SEND %h VMB:%n %e A1 %<File type?> %[Binary{}Text{(CRLF ASCII}] %W
  620.  
  621.     This macro builds and displays a MacroMenu. The %< flag establishes an
  622.     input/menu prompt so that when the menu is displayed, it will have the
  623.     title 'File type?'.
  624.  
  625.     The first option in the menu will be 'Binary', and, if chosen, the
  626.     string appearing between the following curly brackets will be inserted.
  627.     Since nothing appears here, nothing will be added to the expanded macro
  628.     if this option is selected.  If option two, which reads 'Text', is
  629.     selected, the string '(CRLF ASCII' is appended to the macro.
  630.  
  631.     Each option in a MacroMenu must be followed by a string enclosed in
  632.     curly brackets, even if that string is empty.  A close bracket ']' must
  633.     follow the curly close bracket '}' of the last command string of the
  634.     last option in the menu.  Up to ten options may be so specified.
  635.  
  636.     MacroMenu options may themselves contain MacroMenus, if desired.
  637.  
  638.     =======================================================================
  639.                                EXECUTE MENU
  640.     =======================================================================
  641.  
  642.     The 'Execute' pulldown menu shows you the names of selected macros, and
  643.     allows you to select a macro directly from this menu.
  644.  
  645.     When you first look in the Execute menu, you will probably see the
  646.     non-selectable message 'No macros'.  To remedy this and add a macro to
  647.     the 'Execute' menu, simply edit an existing macro and enter a comment
  648.     that begins in the first character of the macro input field.  A macro
  649.     comment looks exactly like a macro prompt and uses the %<?> macro flag.
  650.  
  651.     If you already have a macro with a comment/prompt that begins in the
  652.     first character of the macro, and you don't want the title of the macro
  653.     to be entered into the 'Execute' menu, just edit the macro and add a
  654.     space before the %< flag that begins the comment/prompt string.
  655.  
  656.     The first twenty or so characters of your title will be added to the
  657.     'Execute' menu as an option. The accelerator key for the option will be
  658.     the key that triggers the macro.
  659.  
  660.     Here is the GREP macro with an 'Execute' menu title:
  661.  
  662.          %<GREP string search> grep %<Search for...> "%I" %t %A %W %c
  663.  
  664.     Autokey macros may also be displayed in the 'Execute' menu. You must
  665.     must re-edit the Autokey macro after a recording session, and place
  666.     your title at the front of the macro.
  667.  
  668.     Avoid using macro flags in the 'Execute' menu titles, since flags are
  669.     only expanded at run-time.  Also avoid using the tilde '~' character in
  670.     titles.  Titles must NOT begin with a hyphen '-'.
  671.  
  672.     =======================================================================
  673.                             MACRO IMPORT/EXPORT
  674.     =======================================================================
  675.  
  676.     The 'Import macros' option allows you to read a set of macros from a
  677.     text file. Each macro in the file must have the form:
  678.  
  679.                               X - MACRO TEXT
  680.  
  681.     X represents the key to which the macro is to be assigned, and MACRO
  682.     TEXT represents the actual macro. The macros may appear in any order.
  683.     The maxumim length of an imported macro is 255 bytes.  Your Execute
  684.     menu will automatically be updated to reflect the titles of your new
  685.     macro set.
  686.  
  687.     A macro file must be a standard text (ASCII) file and end with the
  688.     extension '.MAC'.
  689.  
  690.     When you select the Import option, you will be prompted for a macro
  691.     file name. Enter only the primary name of the file (8 characters
  692.     maximum); the extension '.MAC' will automatically be appended. The file
  693.     will be read from the SDE program directory.
  694.  
  695.     If your current macro set has changed since the last Export, you will
  696.     be asked if you want to save (Export) the changes to your macro set.
  697.  
  698.     The 'Export macros' option allows you to write your current macro set
  699.     to a named file. This file can be edited with an ASCII text editor, if
  700.     necessary, and read back in with the Import feature.  Be sure that any
  701.     macros you add/edit have the form shown above.
  702.  
  703.     As with the Import option, enter only the primary name of the macro
  704.     file when prompted for the name; the extension '.MAC' will be appended
  705.     automatically.  The file will be written to the SDE program directory.
  706.  
  707.                         =========================
  708.  
  709.     This pair of features allows you to create custom macro sets for
  710.     working in two or more environments.  If, for expample, you frequently
  711.     work with two different programming lanugues and the utilities you use
  712.     while working with one language are different from those you use while
  713.     working with the other, create two sets of macros; one set of macros
  714.     tailored for one language, and another set for the other language.  As
  715.     you switch between programming languages, you can completely change the
  716.     'personality' of your SDE environment in seconds by importing the
  717.     appropriate macro set.
  718.  
  719.                         =========================
  720.  
  721.     Note! Some editors may not allow you to edit files with lines 255 bytes
  722.     long, others may truncate such a line. For this reason, avoid using the
  723.     maximum space in the macro edit field, and maximum-length Autokey
  724.     macros, if you experience this problem with your editor.
  725.  
  726.     =======================================================================
  727.                            ADVANCED MACRO TOPICS
  728.     =======================================================================
  729.  
  730.     The SDE macro processor recursively processes macro commands. In human
  731.     terms, you may supply a SDE macro flag in place of a hard-coded text
  732.     string, as in the following expamples:
  733.  
  734.     %OFILE.LST       (Output tagged filenames to a file named FILE.LST)
  735.     %O%I             (Ask the user for the name of the output file)
  736.  
  737.     %(Init)          (Tag all files containing the string 'Init')
  738.     %(%I)            (Ask the user to input a search string)
  739.  
  740.     %\\SOURCE        (Change the current working directory '\SOURCE')
  741.     %\%I             (Ask the user to input a path)
  742.  
  743.     %+*.DOC          (Tag all files which match the wildcard *.DOC)
  744.     %+%I             (Ask the user to input a wildcard)
  745.  
  746.     %-*.*            (Untag everything)
  747.     %-%I             (Ask the user to input a wildcard for untagging)
  748.  
  749.     %<Edit hilited?> (Hard coded input/menu prompt)
  750.     %<Edit %h>       (More meaningful input/menu prompt)
  751.  
  752.     During the processing of an input flag, %i or %I, you may enter macro
  753.     flags in the input field. If, for example, you are prompted by a macro
  754.     to input a filename, you may type '%h' to automatically enter the
  755.     filename of the hilited file.  (You could also enter %I for input, and
  756.     you would be asked once again for input, and you could again type %I,
  757.     and so on, ad infinitum, until you run out of memory, but that would be
  758.     silly...)
  759.  
  760.     The macro processor also expands the command strings in MacroMenus.
  761.     Depending on the menu selection, your macro could search tagged files,
  762.     hilited files, or prompt the user for input as in the following
  763.     example:
  764.  
  765.     LIST %<Which files?> %[Tagged{%t %A}Hilited{%h}Other{%<Filenames?> %I}]
  766.  
  767.     Note: MacroMenu options themselves are NOT expanded in this manner,
  768.     only the command strings that appear between the {}'s in a MacroMenu.
  769.  
  770.                         =========================
  771.  
  772.     Macros may contain a simple form of a subroutine that is probably best
  773.     called a 'sub-macro'.
  774.  
  775.     Take, for example, a compile macro which would prompt you for the
  776.     options to use during a compile. There are several combinations of
  777.     options that would lead to redundant macro 'code'.  This can be
  778.     alleviated by dedicating a macro key to act as a sub-macro.
  779.  
  780.       cl %<Memory model?> %[Small{/AS %Xz}Medium{/AM %Xz}Large{/AL %Xz}]
  781.  
  782.     The macro fragment above uses a MacroMenu to allow you to choose a
  783.     memory-model at run-time. The %X flag appears in each command; its
  784.     function is to take the contents of macro 'z' and insert them into the
  785.     current macro. If the macro for key 'z' reads:
  786.  
  787.                        %<Codeview?> %[No{}Yes{/Zi}]
  788.  
  789.     then the 'Codeview?' MacroMenu will appear no matter which memory model
  790.     is selected.
  791.  
  792.     There are no limits as to the number of sub-macros that can be called
  793.     from a single macro, but bear in mind that each sub-macro occupies one
  794.     macro 'slot'.
  795.  
  796.                         =========================
  797.  
  798.     The SDE macro flags %i and %I may be suffixed with a single character
  799.     variable name.  There are 52 'variables' available for these two flags
  800.     named 'a'..'z' and 'A'..'Z' (not to be confused with the 52 macros
  801.     having the same letters; any variable can be used in any macro).
  802.  
  803.     Example: If you suffix an input flag with a variable, as in %Ia, any
  804.     input typed into the input field when the macro is executed will be
  805.     saved under the variable 'a'.  When the next macro (or an input field
  806.     that occurs later in the same macro) that uses %Ia is executed, the
  807.     contents of 'a' will be placed in the input field by default.
  808.  
  809.     This implies that any macros which use %i or %I that do not use an
  810.     input variable must have a blank immediately following the flag.
  811.  
  812.     =======================================================================
  813.                              SAMPLE MACRO FILE
  814.     =======================================================================
  815.  
  816.     Included with the archive of SDE is a file called SAMPLE.MAC. Please
  817.     note that these sample macros may not be indentical to the examples in
  818.     this document.
  819.  
  820.     To look at these macros, you will need to perform the following steps:
  821.  
  822.         Select the 'Import macros' option from the 'Macro' menu.
  823.  
  824.         Type SAMPLE in the input field when prompted for the Import
  825.         filename.
  826.  
  827.         Select the 'Edit macro' option from the 'Macro' menu to view the
  828.         macros. Open the 'Execute' menu to view selected macro titles.
  829.  
  830.     Please note that the programs run from this sample macro set may not be
  831.     present on your system!
  832.  
  833.     =======================================================================
  834.                      COMPLETE MACRO FLAG DESCRIPTIONS
  835.     =======================================================================
  836.  
  837.     Many of the flags below are order-independent; they may appear anywhere
  838.     in the text of the macro. The ones that are position-dependent are
  839.     those that actually insert text into the expanded macro; the order in
  840.     which these appear in the macro is dependent on the order in which the
  841.     application being called expects the text that the flag inserts.
  842.  
  843.     %a   - If no file is hilited (i.e. there are no files in the current
  844.            directory), then the macro is aborted immediately upon reaching
  845.            this flag.
  846.  
  847.     %A   - Same as %a, but the macro is aborted immediately if no files are
  848.            tagged.
  849.  
  850.     %b   - Beeps the PC's speaker after the program called by the macro
  851.            terminates.
  852.  
  853.     %c   - Uses the default command processor (CMD.EXE) to execute the
  854.            program versus direct execution.  Use this flag when executing:
  855.  
  856.            (1) Programs written for Presentation Manager (or use %l),
  857.            (2) Programs that may require Control-Break or Control-C,
  858.            (3) Programs whose output is being redirected.
  859.  
  860.     %C   - Confirms the execution of a potentially dangerous macro by
  861.            displaying a 'Continue/Abort' menu. The title of the menu is, by
  862.            default, 'Continue macro?', but may be changed with the prompt
  863.            flag, %<>.
  864.  
  865.     %d   - Used primarily for debugging, this flag dumps the expanded
  866.            macro to the screen instead of executing the macro.
  867.  
  868.     %D   - Rescans the current directory after macro execution (the
  869.            directory is not rescanned by default). Use this flag when the
  870.            execution of a macro will result in the creation or deletion of
  871.            files.
  872.  
  873.     %e   - Inserts the extension (sans period) of the hilited file. For
  874.            example, 'README.DOC' will be reduced to 'DOC' in the expanded
  875.            macro.
  876.  
  877.     %E   - Displays the process termination/error codes of the program
  878.            being executed. Try using this flag if a program is abending
  879.            prematurely. This flag is not useful in combination with the
  880.            %c flag, since the error codes being reported will be those of
  881.            the command processor and NOT those of the program being
  882.            executed.
  883.  
  884.     %f?  - Writes the full file specification of each tagged file to the
  885.            filename which immediately follows %f. If this is not the last
  886.            flag in the macro, then a space ' ' character must follow the
  887.            filename. The specified file is appended to.
  888.  
  889.     %F?  - Same as %f, but the file is overwritten vs. appended to.
  890.  
  891.     %G   - Inserts the drive letter (e.g. 'C:') of the current drive into
  892.            the expanded macro.
  893.  
  894.     %h   - Inserts the currently hilited filename into the expanded macro.
  895.  
  896.     %H   - Inserts the full file specification of the hilited file into the
  897.            expanded macro.
  898.  
  899.     %i   - Displays an input field for a user-supplied parameter or
  900.            parameters. Whatever text you type is first expanded (if it
  901.            contains any % macro flags) and then inserted into the macro.
  902.            This flag may be suffixed with a single-character 'variable'
  903.            name in the range 'a'..'z', and 'A'..'Z'. The contents of the
  904.            variable will be retained until SDE is exited.
  905.  
  906.     %I   - Same as %i, but the macro is aborted if nothing is entered into
  907.            the input field.
  908.  
  909.     %K   - Used exclusively by the Autokey function, this flag pushes the
  910.            keystroke represented by the next four bytes into the SDE
  911.            keystroke buffer (not the OS/2 keystroke buffer). If you REALLY
  912.            (italisize that) need to push a keystroke within a macro, follow
  913.            these steps:
  914.  
  915.            (1) Use a utility which displays OS/2 keystroke character and
  916.                scancode values and record these two values for the key to
  917.                be inserted.
  918.            (2) If the character code is 0x00 or 0xE0, then the SDE
  919.                keystroke value will be 0x2000 plus the scancode value,
  920.                otherwise, the SDE keystroke value is the character code
  921.                itself.
  922.            (3) Suffix the %K flag immediately with the SDE keystroke value
  923.                in hexadecimal, padded with leading zeros to four digits if
  924.                necessary.  Omit the usual 0x hexadecimal prefix.
  925.            (4) Add a space to the end of the %Kxxxx sequence if it is not
  926.                the last flag in the macro.
  927.            (5) If you are pushing multiple keystrokes, keep in mind that
  928.                the SDE keystroke buffer is LIFO, so push keystrokes in
  929.                REVERSE order.
  930.  
  931.     %l   - Launches the macro in a separate screen group. The new session
  932.            will be closed after the program terminates.  Post-execution
  933.            macro flags (including %E, %D, %V, %w, and %W) will be ignored
  934.            if this parameter is given.  Batch files may NOT be launched
  935.            with this option, since applications are launched directly by
  936.            SDE.  This flag can be used to execute PM programs.
  937.  
  938.     %L   - Launches the macro in a separate screen group. The new session
  939.            will remain open after the program terminates.  Post-execution
  940.            macro flags (including %E, %D, %V, %w, and %W) will be ignored
  941.            if this parameter is given.  Batch files may be launched with
  942.            this option, since the default command processor is used to
  943.            launch the application.
  944.  
  945.     %n   - Inserts the filename (sans period, sans extension) of the
  946.            hilited file into the expanded macro.
  947.  
  948.     %o?  - Outputs all tagged filenames to the file whose name directly
  949.            follows %o. The file ? is appended to. Extremely useful for
  950.            executing arcane programs that do not accept multiple filenames
  951.            as parameters but do accept a single filename parameter which
  952.            contains a list of file names (sometimes prefixed with a '@' and
  953.            referred to as an 'at' file).
  954.  
  955.     %O?  - Same as %o, but the target file is overwritten vs. appended to.
  956.  
  957.     %p   - Inserts the current path (without a drive specifier) into the
  958.            expanded macro, as in '\SOURCE\PROGRAMS'.
  959.  
  960.     %P   - Inserts the current path (including the drive specifier) into
  961.            the expanded macro, as in 'C:\SOURCE\PROGRAMS'.
  962.  
  963.     %Q   - The macro is aborted immediately when this flag is encountered.
  964.            This flag is not required in macros executed purely for
  965.            side-effect (tag-only macros, for example).  This flag is useful
  966.            in MacroMenus where one of the menu options calls for the macro
  967.            to be terminated.
  968.  
  969.     %R   - Repeats the macro in every directory on current volume. The
  970.            macro is re-processed on entry to each directory, so it is safe
  971.            to use tag/untag macro flags, flags which insert the filenames
  972.            of hilited/tagged files, etc.
  973.  
  974.     %s?  - Sets the teletype (stdout) foreground color to the color name
  975.            specified in place of ?. May be suffixed with '+' to indicate a
  976.            bright color. After the program terminates, the default colors
  977.            are automatically restored.
  978.  
  979.     %S?  - Sets the teletype (stdout) background color to the color name
  980.            specified in place of ?. See above.
  981.  
  982.     %t   - Inserts the filename of each tagged file into the expanded
  983.            macro, each separated by spaces.  If there are no tagged files,
  984.            the name of the hilited file is inserted.
  985.  
  986.     %T   - Inserts the full file specification of each tagged file into the
  987.            macro, each separated by spaces.  If there are no tagged files,
  988.            the full filespec of the hilited file is inserted.
  989.  
  990.     %V   - Rescans the current volume after macro execution. Use this flag
  991.            if the program you are calling will create/delete directories.
  992.  
  993.     %w   - Causes SDE to wait for a key or mouse click after program
  994.            execution. No message is displayed.
  995.  
  996.     %W   - Same as %w, but a 'Click mouse or press a key to continue...'
  997.            prompt is displayed.
  998.  
  999.     %x?  - Schedules the macro (or macros) specified in place of ? for
  1000.            execution in order of appearance. Each individual macro will be
  1001.            allowed to complete before the next is processed. The macro
  1002.            '%xVTukL' schedules the macros V, T, u, k, and L for execution.
  1003.            The execution mechanism will pause for user input if required by
  1004.            the macro being executed (an Autokey macro which contained the
  1005.            keystrokes 'VTukL' would not).
  1006.  
  1007.     %X?  - Expands the contents of macro ? into the current macro. This
  1008.            flag is useful when used in a side-effect macro (one that tags
  1009.            files, for example) to chain execution to another macro (one
  1010.            that causes a program to be executed).
  1011.  
  1012.     %\?  - Changes the current working directory to the path given in place
  1013.            of the ?. This backslash is NOT part of the path. For example,
  1014.            '%\\SOURCE\PROG' changes the CWD to the path '\SOURCE\PROG'. To
  1015.            specify the root directory, use %\\.  The current directory
  1016.            (prior to macro execution) will be restored when the program
  1017.            terminates.  Do not supply a drive letter; you cannot change the
  1018.            default volume with this flag.
  1019.  
  1020.     %<?> - Any string may replace ?. The string becomes the next input
  1021.            field prompt or menu title. If the flag appears in the first
  1022.            column of the macro, the string is added the the Execute menu as
  1023.            a selectable option. The prompt is expanded at run-time if it
  1024.            contains any SDE macro flags (flags are not expanded in the
  1025.            Execute menu).
  1026.  
  1027.     %+?  - Tags all files matching the wildcard given by ?. The standard *
  1028.            and ? wildcard characters are supported. This flag may be used
  1029.            more than once in the same macro. The wildcard must be followed
  1030.            by a blank if it is not the last parameter in the macro.
  1031.  
  1032.     %-?  - Untags all files matching the wildcard given by ?. Otherwise,
  1033.            the same as %+.
  1034.  
  1035.     %[?] - Builds a MacroMenu. The data following the flag has the form:
  1036.            '%[option{command}option{command}...option{command}]'. See the
  1037.            MacroMenu topic above for a detailed description of MacroMenus
  1038.            and their applications.
  1039.  
  1040.     %(?) - Tags all files containing the string which appears in place of
  1041.            the question mark. The search string must not contain
  1042.            parentheses, although an input parameter may be placed between
  1043.            the parentheses, as in %(%I), in which case the input is allowed
  1044.            to contain parentheses.
  1045.  
  1046.     %{?} - Untags all files containing the string which appears in place
  1047.            of the question mark. The search string must not contain curly
  1048.            brackets, although an input parameter may be placed between the
  1049.            brackets, as in %{%I}, in which case the input is allowed to
  1050.            contain {}'s.
  1051.  
  1052.     %2   - Puts the display in 25 line mode prior to program execution. The
  1053.            current video state is saved and then restored after the program
  1054.            terminates.
  1055.  
  1056.     %4   - Puts the display in 43 line mode prior to program execution. See
  1057.            the %2 flag.
  1058.  
  1059.     %5   - Puts the display in 50 line mode prior to program execution. See
  1060.            the %2 flag.
  1061.  
  1062.     %@   - Supresses the default screen-clear prior to program execution.
  1063.            Useful only for programs that redraw the entire screen on entry.
  1064.  
  1065.     %!   - A nifty, if otherwise useless, way to clear the screen prior to
  1066.            program execution.
  1067.  
  1068.     %%   - Inserts a % into the expanded macro, if one is required.
  1069.  
  1070.     =======================================================================
  1071.                          INPUT FIELD EDITING KEYS
  1072.     =======================================================================
  1073.  
  1074.     When editing a macro (or entering text in any SDE input field), you
  1075.     may use the following editing keys:
  1076.  
  1077.     Insert      - Toggles insert/overtype mode
  1078.     Backspace   - Deletes character to left
  1079.     Delete      - Deletes character beneath cursor
  1080.     Home        - Moves cursor to first character
  1081.     End         - Moves cursor to end of text
  1082.     Ctrl-Backsp - Deletes to end of field
  1083.     Left        - Moves cursor to left
  1084.     Right       - Moves cursor to right
  1085.     Esc         - Cancels input and any changes
  1086.     Enter       - Accepts any changes
  1087.     F1          - Displays help panel(s)
  1088.  
  1089.     =======================================================================
  1090.                                    NOTES
  1091.     =======================================================================
  1092.  
  1093.     The SDE default color set may not be ideal for use on monochrome or
  1094.     gas-plasma displays. If the appearance is not to your liking on
  1095.     start-up, press F4 to enter the color selection panel, and select
  1096.     colors appropriate for your type of display.
  1097.  
  1098.                         =========================
  1099.  
  1100.     The 'Tag/Untag all containing' options in the 'Select' menu allow you
  1101.     to tag/untag files which contain a user-supplied search string.  The
  1102.     search mechanism has been optimized for text-file searches and IS
  1103.     case-sensitive.  The known binary file types ZIP, ARC, OBJ, EXE, LIB,
  1104.     and DLL are excluded from the search.  The search string may contain
  1105.     whole or partial words, as well as blanks, and may be up to 254
  1106.     characters long.
  1107.  
  1108.     Note: There is a known limitation of the search algorithm implemented
  1109.     in this release of SDE.  If the file being searched is larger than
  1110.     65024 (2^16-512) bytes, and the search string happens to span a byte
  1111.     offset in the file which is a multiple of 2^16-512, the search will
  1112.     return negative.  This limitation is not likely to cause many problems
  1113.     (the chance of a missed match for an 8 character search string in a
  1114.     195Kb text file is less than one in ten thousand), but will be fixed in
  1115.     a forthcoming release.
  1116.  
  1117.                         =========================
  1118.  
  1119.     A directory cannot be removed or renamed if it contains an open file
  1120.     or is the default path for another screen group.
  1121.  
  1122.                         =========================
  1123.  
  1124.     The macro processor has limited error checking built in. If it detects
  1125.     an error in the format of the macro, it will most likely refuse to
  1126.     execute the macro (nothing will happen when you press the macro key,
  1127.     even if the %d (debug) flag is specified).  With some syntax errors,
  1128.     however, garbage may be inserted into the expanded macro.  These errors
  1129.     can be detected with %d.
  1130.  
  1131.                         =========================
  1132.  
  1133.     Only one executable program can be called per individual macro.
  1134.     However, in a MacroMenu, a single macro can be written to call one of
  1135.     several programs depending on the option selected from the menu.
  1136.  
  1137.                         =========================
  1138.  
  1139.     The maximum length of an expanded macro is 8K bytes. An SDE protection
  1140.     violation error may occur if you attempt to pass more than 8K of data
  1141.     to an application. This translates to approximately 600 file names that
  1142.     can be passed to an application. Please note that some applications may
  1143.     have lower internal limits, and may issue errors if these limits are
  1144.     exceeded.
  1145.  
  1146.                         =========================
  1147.  
  1148.     If you are using KEDIT Version 4.00P1, please note that it has a bug
  1149.     which prevents it from accepting a filename parameter (%h or %H) unless
  1150.     the %c option is also specified in the macro.
  1151.  
  1152.                         =========================
  1153.  
  1154.     While the coded limits for the number of directories and files per
  1155.     directory is quite high (over 2000 for each), SDE will issue a
  1156.     protection violation error if used in a directory that contains more
  1157.     than 1500 or so files (this number varies somewhat with the count of
  1158.     directories and available memory).  Although plenty of memory may be
  1159.     available, SDE may run out of memory selectors. Simply restart SDE
  1160.     if this should happen.
  1161.  
  1162.                         =========================
  1163.  
  1164.     When using SDE on an IBM P70 portable without an external monitor
  1165.     attached, avoid using the backslash key to change video modes - the
  1166.     display will get stuck in 43 line mode.
  1167.  
  1168.                         =========================
  1169.  
  1170.  !  A few programs, some Presentation Manager programs in particular, do
  1171.  !  not like to be executed/launched directly.  If a program you are
  1172.  !  executing from a macro dies with a segmentation violation error at load
  1173.  !  time, try using the %c or %L option to execute/launch the program.
  1174.  
  1175.     =======================================================================
  1176.                                    HINTS
  1177.     =======================================================================
  1178.  
  1179.     If aren't already using a RAM disk, set up a small one using the
  1180.     VDISK.SYS driver.  In your STARTUP.CMD file, copy those list and browse
  1181.     utilities you call most often from SDE to the RAM disk.  Make your PATH
  1182.     statement in CONFIG.SYS point to your RAM disk by putting a path to the
  1183.     RAM disk at the very front of the list.  Your utilities will be loaded
  1184.     with surprising alacrity.
  1185.  
  1186.                         =========================
  1187.  
  1188.     For OS/2 C programmers: Make your RAM disk larger.  Put the include
  1189.     files for PM, the base O/S, and programs like MAKE, LINK, and CL on the
  1190.     RAM disk.  The compiler spends a lot of time processing these header
  1191.     files, and this can really cut down on compilation time.  Be sure to
  1192.     update your PATH statement, INCLUDE statement, etc.
  1193.  
  1194.                         =========================
  1195.  
  1196.     You can patch SDE to use any command-shell utility instead of the
  1197.     default CMD.EXE using HexEdit II.  Open the SDE.CFG file (make a backup
  1198.     first!) and enter the name of your utility begining at byte offset 269
  1199.     (decimal, zero origined) of the first sector of the file.  Omit the EXE
  1200.     extension and make sure the name is immediately followed by a null
  1201.     (0x00) byte.
  1202.  
  1203.     =======================================================================
  1204.                          ACCOMPANYING APPLICATIONS
  1205.     =======================================================================
  1206.  
  1207.     The SDE Environment is packaged with another SysteMAX utility,
  1208.     Hexedit II.
  1209.  
  1210.     HexEdit II (HEXEDIT.EXE) is an ASCII/EBCDIC/HEX file and disk editor
  1211.     that can be used to view and edit the contents of binary files, data
  1212.     files, and entire volumes.  For viewing fixed-length record data files,
  1213.     the record size can be adjusted to that of the file (up to 2K).  For
  1214.     binary files and volumes, set the record size to 0x200 (512 decimal)
  1215.     for best performance. To start the HexEdit II program from SDE, use the
  1216.     following macro:
  1217.  
  1218.                                 hexedit %h
  1219.  
  1220.     This tool will work only when executed from the SDE Environment.
  1221.  
  1222.     =======================================================================
  1223.                              SDE REGISTRATION
  1224.     =======================================================================
  1225.  
  1226.     For single-user registration, please print and complete the
  1227.     REGISTER.FRM document.
  1228.  
  1229.     For site-license registration, please print and complete the
  1230.     REGISTER.SIT document.
  1231.  
  1232.     =======================================================================
  1233.                              SDE DISTRIBUTION
  1234.     =======================================================================
  1235.  
  1236.     SysteMAX Corp. retains the sole right to sell the SDE package.
  1237.  
  1238.     Distribution of the SDE Environment is permitted as long as:
  1239.  
  1240.         All program files are distributed intact, unmodified, and en masse.
  1241.         Please distribute the archived form of the SDE package if at all
  1242.         possible.
  1243.  
  1244.         The original, limited-function shareware version is distributed,
  1245.         NOT personalized copies of SDE.
  1246.  
  1247.         No attempt is made to profit from the distribution of the SDE
  1248.         Environment, or any modification of it, although a duplication fee
  1249.         not to exceed $10 may be charged by recognized user's groups.
  1250.  
  1251.     =======================================================================
  1252.                           WARRANTY AND DISCLAIMER
  1253.     =======================================================================
  1254.  
  1255.     SysteMAX Corp. hereby disclaims all warranties relating to this
  1256.     software, whether express or implied, including without limitation any
  1257.     implied warranties of merchantability or fitness for a particular
  1258.     purpose.  SysteMAX Corp. will not be liable for any special,
  1259.     incidental, consequential, indirect or similar damages due to loss of
  1260.     data or any other reason, even if SysteMAX or an agent of SysteMAX has
  1261.     been advised of the possibility of such damages.  In no event shall
  1262.     SysteMAX Corp.'s liability for any damages ever exceed the price paid
  1263.     for the license to use the software, regardless of the form of the
  1264.     claim.  The person using the software bears all risk as to the quality
  1265.     and performance of the software.  Use of this package constitutes
  1266.     agreement on the part of the user to this disclaimer.
  1267.  
  1268.     =======================================================================
  1269.                               END OF DOCUMENT
  1270.     =======================================================================
  1271.  
  1272.  
  1273.