home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / LUNACY / DCOMT343.ZIP / CHANGES.DOC < prev    next >
Text File  |  1989-12-10  |  16KB  |  300 lines

  1. ┌────────────────────────────────────────────────────────────────────────────┐
  2. │                                 CHANGES.DOC                                │
  3. ├────────────────────────────────────────────────────────────────────────────┤
  4. │ This file documents the changes, enhancements, or corrections made to dCOM │
  5. │ since the distribution users manual was published.                         │
  6. └────────────────────────────────────────────────────────────────────────────┘
  7.  
  8.                                  Version 3.42
  9. ------------------------------------------------------------------------------
  10. 1.   Macro lines following a GOSUBMF command are now executed upon return to
  11.      the gosub'd macro file.  Since the state of many of the internal macro
  12.      variables can easily be misconstrued across gosub'd macro files, using
  13.      a GOSUBMF inside a DO block should be avoided.  Use of a GOSUBMF command
  14.      inside any other type of loop or block (such as IF blocks, LOOPs, etc...)
  15.      should also be used with caution and at your own risk.
  16.  
  17.      This now allows a macro to automatically "clean-up" after certain
  18.      conditional actions are performed.  For example, the login macro
  19.      (associated with the activity log) can now be written as follows to
  20.      support automatically logging the user out:
  21.  
  22.         [F1] Log On
  23.         :LOG1
  24.         GET %1 Enter Your Name:
  25.         IF %1<=@ THEN
  26.          BEEP
  27.          GOTO LOG1
  28.         ENDIF
  29.         ECHO %DT %TI         %1 Logged In>>C:\DCOM\DCOM.LOG
  30.         SET DUSER=%1
  31.         GOSUBMF MAIN
  32.         ECHO %DT %TI         %DUSER% Logged Out>>C:\DCOM\DCOM.LOG
  33.         SET DUSER=
  34.  
  35. 2.   Using quotation marks around the second operand in a macro IF comparison
  36.      now allows comparing against text with embedded spaces.  If quotes are
  37.      used to surround the second operand, DO NOT follow suite and enclose the
  38.      first operand with quotes as well.  Use of the quotation marks is optional
  39.      if the second operand does not contain any spaces.  For example:
  40.  
  41.         :LOG1
  42.         GET %1 Enter Your Full Name:
  43.         IF %1="John Doe" GOTO LOG2
  44.         IF %1="Jim Smith" GOTO LOG2
  45.         IF %1=Ronald_McDonald GOTO LOG2
  46.         ECHO You Are Not Authorized Access to This System
  47.         BEEP
  48.         GOTO LOG1
  49.         :LOG2
  50.         ECHO Welcome Aboard
  51.  
  52. 3.   A technical hint.  You can test on the extension of a selected file, or
  53.      tagged file, in a macro key by comparing the appropriate variable that
  54.      produces both the filename and its extension against the variable that
  55.      only produces the filename plus a manually specified extension.  For
  56.      example:
  57.  
  58.         IF %FE<>%FN.ZIP ECHO File is not a .ZIP File.
  59.                     - or -
  60.         IF %FE=%FN.ZIP ECHO File is a .ZIP File.
  61.  
  62. 4.   Any form of copying or moving when the source is the name of a sub-
  63.      directory now also recurses down through all subdirectories in the
  64.      source subdirectory.  You can force dCOM to copy the entire contents of
  65.      a disk by using the visual tree and selecting the root directory as your
  66.      source for a copy (or move) command.  The "feel" for how copying or moving
  67.      subdirectories by name has changed in that its now automatically implied
  68.      that the source directory name will be made in and after the destination
  69.      directory used.
  70.  
  71. 5.   The free disk space is now constantly updated when using the Visual Tree
  72.      to log different drives.
  73.  
  74. 6.   The free disk space on the target drive of a copy action is now shown and
  75.      updated with each file copied.  It will return to reflecting the logged
  76.      drive when the copy action is completed.
  77.  
  78. 7.   Selecting from any of the pop-up menu's (including the filename menu's
  79.      like the macro SELECT command) can now be expedited by pressing the first
  80.      letter of the selection desired.  This will then locate the cursor on the
  81.      next instance of a option starting with that character.  Subsequent key-
  82.      presses of the same character will then advance through any more options
  83.      also starting with that character.  Pressing the Return key would then use
  84.      the option selected.  This could save a lot of time when dealing with a
  85.      large number of selections (usually file select windows) instead of having
  86.      to use the cursor keys to locate and select the filename desired (if you
  87.      don't have a mouse).
  88.  
  89. 8.   Additional error checking has been added to the macro keys to detect
  90.      attempts to change to an invalid drive.  Also, some macro commands which
  91.      used to require a space between the command and its parameters no longer
  92.      do (i.e. "DIR/W" will now work where before it had to be expressed as
  93.      "DIR /W").
  94.  
  95. 9.   A new macro command, GOSUB, has been added which works much in the same
  96.      context as GOTO does to jump to a label within the current macro key,
  97.      except that it saves return information on a gosub stack.  Returning from
  98.      the gosubed procedure is accomplished using the same RETURN command which
  99.      returns from GOSUBMF.  dCOM will automatically differentiate between mixed
  100.      uses of the RETURN command.  Logically the best place to build common
  101.      procedures would be on the end of a macro key, in which case, you must
  102.      ensure that the normal execution of the macro does not fall through and
  103.      begin executing the procedures, by using a EXIT command.
  104.  
  105.      For Example:
  106.  
  107.         [F1] EXAMPLE OF GOSUB
  108.         GOSUB TEST                              ;;GOSUB TEST PROCEDURE
  109.         ECHO Returned From TEST                 ;;ECHO WE'RE BACK
  110.         PAUSE                                   ;;PAUSE
  111.         EXIT                                    ;;FORCE EXIT FROM MACRO
  112.  
  113.         :TEST                                   ;;TEST PROCEDURE
  114.         ECHO In TEST Procedure                  ;;ECHO WE'RE IN TEST
  115.         GOSUB TEST1                             ;;GOSUB TEST1 PROCEDURE
  116.         ECHO Returned From Test1                ;;ECHO WE'RE BACK
  117.         RETURN                                  ;;RETURN TO CALLER
  118.  
  119.         :TEST1                                  ;;TEST1 PROCEDURE
  120.         ECHO In TEST1 Procedure                 ;;ECHO WE'RE IN TEST1
  121.         RETURN                                  ;;RETURN TO CALLER
  122.  
  123. 10.  You can now use tabs to indent macro lines in the same manner that spaces
  124.      are allowed (mainly for increasing readability within a IF, DO, or LOOP
  125.      block).  One possible use of this would be to tab in the start of all
  126.      macro lines except the title line, to help set-off the start of each key.
  127.  
  128. 11.  Macro GOSUB or GOTO commands can now call or jump to labels in other macro
  129.      keys by prefixing the target label's name with the name of the macro key
  130.      that contains the label, separated with a colon.  For instance, using
  131.      "GOTO F1:TEST" would jump to a label called "TEST", defined in the F1 key.
  132.      Previously, the scope of a search for a target label of one of these two
  133.      commands was limited to just the macro key being executed.  Allowing GOTO
  134.      or GOSUB commands to jump or call labels in other macro keys allows macro
  135.      keys to share significant portions of macro code.
  136.  
  137. 12.  ELSE and ELSEIF commands have been added for macro IF blocks.
  138.  
  139.      For example:
  140.  
  141.         [F1] EXAMPLE OF ELSE
  142.         IF 1>3 THEN
  143.          ECHO IF Block is True
  144.         ELSE
  145.          ECHO IF Block is False
  146.         ENDIF
  147.  
  148.             - or -
  149.  
  150.         [F1] EXAMPLE OF ELSEIF
  151.         IF 1>2 THEN
  152.          ECHO 1st IF Block is True
  153.         ELSEIF 2>2 THEN
  154.          ECHO 2nd IF Block is True
  155.         ELSEIF 3>2 THEN
  156.          ECHO 3rd IF Block is True
  157.         ELSE
  158.          ECHO No IF Blocks are True
  159.         ENDIF
  160.  
  161. 13.  The text editor now supports a 43 line mode for EGA monitors (50 for VGA),
  162.      which can be enabled in the text editor's configuration menu.
  163.  
  164. 14.  When subdirectories are deleted by name, it will now EVEN delete files
  165.      with the read-only attribute set.  Additionally, if the system password
  166.      is set (using Alt-A), it will be required before allowing a subdirectory
  167.      and all of its contents to be deleted in this fashion.
  168.  
  169.  
  170.                                  Version 3.43
  171. ------------------------------------------------------------------------------
  172. 15.  The memory scheme has been modified to include another new overlay which
  173.      contains some of the resident portion's code.  Current benefit is a 10k
  174.      reduction in dCOM's core size (now approx. 40k).  Further integration
  175.      may improve this, further enhancements to the low-level handlers will
  176.      detract from it.  The new overlay's memory is deallocated just prior to
  177.      executing another program, and immediately after returning.  The same
  178.      technique is used as with the transient (utility mode) overlay; if
  179.      expanded (EMS) memory is present, the overlay is stored there (occupying
  180.      a 32k block unless it grows), if EMS is not present, the overlay is
  181.      deallocated and placed in high memory and checksumed upon return from an
  182.      EXEC call, if intact is then just shifted down, otherwise its reloaded
  183.      from disk.  With this addition of yet another overlay, now might be a
  184.      good time to mention that using a disk cache such as Microsoft's
  185.      Smartdrive (SMARTDRV.SYS) or Golden Bow's VCACHE, can make a nice
  186.      improvement in the performance of your computer, both with dCOM and with
  187.      other disk-intensive applications.  In the author's opinion, a disk cache
  188.      is about the best thing you can do with that extra 384k of extended memory
  189.      found in a lot of 1 meg 286 machines.
  190.  
  191. 16.  All of dCOM's overlay files are now integrated into one master overlay
  192.      file, DCOM.OVL, and complemented with a new internal overlay manager.
  193.      No special reason for doing this, just thought it would be "neat"...
  194.  
  195. 17.  Using the Tab key to type MS-Dos commands is now processed almost entirely
  196.      by dCOM.  If dCOM can locate the command typed, it will load and run it
  197.      directly (quicker stuff), or if the command matches an internal Dos
  198.      command or batch file, dCOM will automatically used COMMAND.COM to run
  199.      it.  Furthermore, the text entered also has the same variable expansion
  200.      options that are available in the macro keys.  For example, This could
  201.      help save a lot of typing when needing to temporarily modify the path,
  202.      by typing something like: "SET PATH=%PATH%;C:\DOS", which would add C:\DOS
  203.      to the existing path.  The other macro variables are also available (for
  204.      what its worth), and you could type something like PKUNZIP %FE to unzip
  205.      the currently selected file.
  206.  
  207. 18.  dCOM no longer gives up the mouse interrupt (33h) when the screen saver
  208.      is not set to activate outside of dCOM.  This was just causing too many
  209.      intermittent problems with the mouse.  It's mouse handler however, has
  210.      been modified to appear as the Logitech driver - refer to #26 below.
  211.  
  212. 19.  Another new command has been added to the macro keys, EDIT, and guess
  213.      what it does...  Allows access to dCOM's editor from the macro keys.  The
  214.      calling syntax is:  "EDIT [d:][\path\]filename".  If a complete path is
  215.      not provided, the editor will resolve it so that the editor can be exited
  216.      with Alt-Q, directories changed, and a return to the editor with a sub-
  217.      sequent save command won't loose track of where the file was originally
  218.      read from.
  219.  
  220. 20.  And yet another macro command (the capabilities of this new memory scheme
  221.      are working out nicely), SPOOL, allows you to control the size of the
  222.      print spooler before running certain applications.  The calling syntax
  223.      is:  "SPOOL nnnn", where nnnn represents the desired size in thousands.
  224.      Requests to change the spooler's size are ignored however, if its buffer
  225.      contains any data waiting to be spooled to the printer.
  226.  
  227. 21.  dCOM now automatically picks up on when the pipe character ("|") is used
  228.      in a macro command, and uses COMMAND.COM to execute the command.  This
  229.      eliminates the previous requirement of having to use the ">" macro
  230.      operator to start a macro line when using the pipe character.
  231.  
  232. 22.  Shift-F1 through Shift-F4 now provide a quick method for assigning buffers
  233.      to windows in the text editor.  For instance, if you wanted to assign buf-
  234.      fer 4 to window 2, you can now press F2 (to select window 2), and then
  235.      press sF4 (to assign buffer 4 to it).
  236.  
  237. 23.  Shift-F5 now provides a quick method to toggle the current state of the
  238.      43/50 line mode in the text editor.  The initial state upon entering the
  239.      editor is determined by the current setting in the text editor's confi-
  240.      guration menu.
  241.  
  242. 24.  The macro keys no longer abort during their normal execution if the Escape
  243.      key is pressed.  A Ctrl-C however, will.  This was implemented so that the
  244.      %KB variable can be used to test for Escape and provide a better-behaved
  245.      method for exiting a macro.
  246.  
  247.      For Example:
  248.  
  249.         ECHO Press Return To Continue With Backup or Escape To Quit
  250.         :KEYWAIT
  251.         SET %9=%KB
  252.         IF %9=%(27) GOTO EXIT
  253.         IF %9<>%(13) GOTO KEYWAIT
  254.         ECHO Echo Backing up Data Files
  255.         XCOPY C:\DATA\*.* A:
  256.         :EXIT
  257.         CDDO
  258.  
  259. 25.  A new command line switch, /B, has been added which is provided only for
  260.      users encountering problems with their cursor shape (usually because of
  261.      a not so compatible video card).  This switch tells dCOM to use BIOS calls
  262.      to change the cursor shape (from underline to block), instead of directly
  263.      addressing the 6845 CRT controller (more efficient).  Try using it only if
  264.      you are not getting a cursor at all, or if the shape of the cursor is not
  265.      behaving properly.
  266.  
  267. 26.  dCOM's mouse interrupt handler has been modified to fool Logitech's
  268.      LOGIMENU and CLICK programs into thinking it is the actual Logitech mouse
  269.      driver.  This now allows these two programs to work properly even though
  270.      dCOM may be sandwiched between the mouse driver and the menu programs.
  271.      BE SURE HOWEVER, that you initially load LOGIMENU on the same side of
  272.      dCOM that you load the mouse driver - if you load the mouse driver before
  273.      you run dCOM, then you must also initially load LOGIMENU before you run
  274.      dCOM.  More calls to LOGIMENU (from within a batch or macro file) after
  275.      dCOM is loaded, to load a new menu, will work properly and not load
  276.      another copy of LOGIMENU.  If you don't follow this rule, your computer
  277.      will lock-up if you try to remove LOGIMENU as a TSR.  (The two of them
  278.      get into bed somehow...)
  279.  
  280. 27.  dCOM no longer automatically creates a null (empty) macro file when first
  281.      run if the default macro file doesn't exist.  It will however, insert the
  282.      name of the current macro file into the list when using Alt-K to edit
  283.      macro files, even if it doesn't exist.  There were just too many incidents
  284.      of people copying the entire dCOM directory to a floppy disk, and then
  285.      copying that disk into their working dCOM directory and covering a valid
  286.      macro file with the empty one.  If this doesn't make sense - don't worry
  287.      about it.
  288.  
  289.  
  290.  
  291.                                                           Dave Frailey
  292.                                                           December 1989
  293.  
  294.                                                           DAC Micro Systems
  295.                                                           40941 176th St E
  296.                                                           Lancaster, CA  93535
  297.  
  298.                                                           Voice: 805/264-1700
  299.                                                           Data:  805/264-1219
  300.