home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
LUNACY
/
DCOMT343.ZIP
/
CHANGES.DOC
< prev
next >
Wrap
Text File
|
1989-12-10
|
16KB
|
300 lines
┌────────────────────────────────────────────────────────────────────────────┐
│ CHANGES.DOC │
├────────────────────────────────────────────────────────────────────────────┤
│ This file documents the changes, enhancements, or corrections made to dCOM │
│ since the distribution users manual was published. │
└────────────────────────────────────────────────────────────────────────────┘
Version 3.42
------------------------------------------------------------------------------
1. Macro lines following a GOSUBMF command are now executed upon return to
the gosub'd macro file. Since the state of many of the internal macro
variables can easily be misconstrued across gosub'd macro files, using
a GOSUBMF inside a DO block should be avoided. Use of a GOSUBMF command
inside any other type of loop or block (such as IF blocks, LOOPs, etc...)
should also be used with caution and at your own risk.
This now allows a macro to automatically "clean-up" after certain
conditional actions are performed. For example, the login macro
(associated with the activity log) can now be written as follows to
support automatically logging the user out:
[F1] Log On
:LOG1
GET %1 Enter Your Name:
IF %1<=@ THEN
BEEP
GOTO LOG1
ENDIF
ECHO %DT %TI %1 Logged In>>C:\DCOM\DCOM.LOG
SET DUSER=%1
GOSUBMF MAIN
ECHO %DT %TI %DUSER% Logged Out>>C:\DCOM\DCOM.LOG
SET DUSER=
2. Using quotation marks around the second operand in a macro IF comparison
now allows comparing against text with embedded spaces. If quotes are
used to surround the second operand, DO NOT follow suite and enclose the
first operand with quotes as well. Use of the quotation marks is optional
if the second operand does not contain any spaces. For example:
:LOG1
GET %1 Enter Your Full Name:
IF %1="John Doe" GOTO LOG2
IF %1="Jim Smith" GOTO LOG2
IF %1=Ronald_McDonald GOTO LOG2
ECHO You Are Not Authorized Access to This System
BEEP
GOTO LOG1
:LOG2
ECHO Welcome Aboard
3. A technical hint. You can test on the extension of a selected file, or
tagged file, in a macro key by comparing the appropriate variable that
produces both the filename and its extension against the variable that
only produces the filename plus a manually specified extension. For
example:
IF %FE<>%FN.ZIP ECHO File is not a .ZIP File.
- or -
IF %FE=%FN.ZIP ECHO File is a .ZIP File.
4. Any form of copying or moving when the source is the name of a sub-
directory now also recurses down through all subdirectories in the
source subdirectory. You can force dCOM to copy the entire contents of
a disk by using the visual tree and selecting the root directory as your
source for a copy (or move) command. The "feel" for how copying or moving
subdirectories by name has changed in that its now automatically implied
that the source directory name will be made in and after the destination
directory used.
5. The free disk space is now constantly updated when using the Visual Tree
to log different drives.
6. The free disk space on the target drive of a copy action is now shown and
updated with each file copied. It will return to reflecting the logged
drive when the copy action is completed.
7. Selecting from any of the pop-up menu's (including the filename menu's
like the macro SELECT command) can now be expedited by pressing the first
letter of the selection desired. This will then locate the cursor on the
next instance of a option starting with that character. Subsequent key-
presses of the same character will then advance through any more options
also starting with that character. Pressing the Return key would then use
the option selected. This could save a lot of time when dealing with a
large number of selections (usually file select windows) instead of having
to use the cursor keys to locate and select the filename desired (if you
don't have a mouse).
8. Additional error checking has been added to the macro keys to detect
attempts to change to an invalid drive. Also, some macro commands which
used to require a space between the command and its parameters no longer
do (i.e. "DIR/W" will now work where before it had to be expressed as
"DIR /W").
9. A new macro command, GOSUB, has been added which works much in the same
context as GOTO does to jump to a label within the current macro key,
except that it saves return information on a gosub stack. Returning from
the gosubed procedure is accomplished using the same RETURN command which
returns from GOSUBMF. dCOM will automatically differentiate between mixed
uses of the RETURN command. Logically the best place to build common
procedures would be on the end of a macro key, in which case, you must
ensure that the normal execution of the macro does not fall through and
begin executing the procedures, by using a EXIT command.
For Example:
[F1] EXAMPLE OF GOSUB
GOSUB TEST ;;GOSUB TEST PROCEDURE
ECHO Returned From TEST ;;ECHO WE'RE BACK
PAUSE ;;PAUSE
EXIT ;;FORCE EXIT FROM MACRO
:TEST ;;TEST PROCEDURE
ECHO In TEST Procedure ;;ECHO WE'RE IN TEST
GOSUB TEST1 ;;GOSUB TEST1 PROCEDURE
ECHO Returned From Test1 ;;ECHO WE'RE BACK
RETURN ;;RETURN TO CALLER
:TEST1 ;;TEST1 PROCEDURE
ECHO In TEST1 Procedure ;;ECHO WE'RE IN TEST1
RETURN ;;RETURN TO CALLER
10. You can now use tabs to indent macro lines in the same manner that spaces
are allowed (mainly for increasing readability within a IF, DO, or LOOP
block). One possible use of this would be to tab in the start of all
macro lines except the title line, to help set-off the start of each key.
11. Macro GOSUB or GOTO commands can now call or jump to labels in other macro
keys by prefixing the target label's name with the name of the macro key
that contains the label, separated with a colon. For instance, using
"GOTO F1:TEST" would jump to a label called "TEST", defined in the F1 key.
Previously, the scope of a search for a target label of one of these two
commands was limited to just the macro key being executed. Allowing GOTO
or GOSUB commands to jump or call labels in other macro keys allows macro
keys to share significant portions of macro code.
12. ELSE and ELSEIF commands have been added for macro IF blocks.
For example:
[F1] EXAMPLE OF ELSE
IF 1>3 THEN
ECHO IF Block is True
ELSE
ECHO IF Block is False
ENDIF
- or -
[F1] EXAMPLE OF ELSEIF
IF 1>2 THEN
ECHO 1st IF Block is True
ELSEIF 2>2 THEN
ECHO 2nd IF Block is True
ELSEIF 3>2 THEN
ECHO 3rd IF Block is True
ELSE
ECHO No IF Blocks are True
ENDIF
13. The text editor now supports a 43 line mode for EGA monitors (50 for VGA),
which can be enabled in the text editor's configuration menu.
14. When subdirectories are deleted by name, it will now EVEN delete files
with the read-only attribute set. Additionally, if the system password
is set (using Alt-A), it will be required before allowing a subdirectory
and all of its contents to be deleted in this fashion.
Version 3.43
------------------------------------------------------------------------------
15. The memory scheme has been modified to include another new overlay which
contains some of the resident portion's code. Current benefit is a 10k
reduction in dCOM's core size (now approx. 40k). Further integration
may improve this, further enhancements to the low-level handlers will
detract from it. The new overlay's memory is deallocated just prior to
executing another program, and immediately after returning. The same
technique is used as with the transient (utility mode) overlay; if
expanded (EMS) memory is present, the overlay is stored there (occupying
a 32k block unless it grows), if EMS is not present, the overlay is
deallocated and placed in high memory and checksumed upon return from an
EXEC call, if intact is then just shifted down, otherwise its reloaded
from disk. With this addition of yet another overlay, now might be a
good time to mention that using a disk cache such as Microsoft's
Smartdrive (SMARTDRV.SYS) or Golden Bow's VCACHE, can make a nice
improvement in the performance of your computer, both with dCOM and with
other disk-intensive applications. In the author's opinion, a disk cache
is about the best thing you can do with that extra 384k of extended memory
found in a lot of 1 meg 286 machines.
16. All of dCOM's overlay files are now integrated into one master overlay
file, DCOM.OVL, and complemented with a new internal overlay manager.
No special reason for doing this, just thought it would be "neat"...
17. Using the Tab key to type MS-Dos commands is now processed almost entirely
by dCOM. If dCOM can locate the command typed, it will load and run it
directly (quicker stuff), or if the command matches an internal Dos
command or batch file, dCOM will automatically used COMMAND.COM to run
it. Furthermore, the text entered also has the same variable expansion
options that are available in the macro keys. For example, This could
help save a lot of typing when needing to temporarily modify the path,
by typing something like: "SET PATH=%PATH%;C:\DOS", which would add C:\DOS
to the existing path. The other macro variables are also available (for
what its worth), and you could type something like PKUNZIP %FE to unzip
the currently selected file.
18. dCOM no longer gives up the mouse interrupt (33h) when the screen saver
is not set to activate outside of dCOM. This was just causing too many
intermittent problems with the mouse. It's mouse handler however, has
been modified to appear as the Logitech driver - refer to #26 below.
19. Another new command has been added to the macro keys, EDIT, and guess
what it does... Allows access to dCOM's editor from the macro keys. The
calling syntax is: "EDIT [d:][\path\]filename". If a complete path is
not provided, the editor will resolve it so that the editor can be exited
with Alt-Q, directories changed, and a return to the editor with a sub-
sequent save command won't loose track of where the file was originally
read from.
20. And yet another macro command (the capabilities of this new memory scheme
are working out nicely), SPOOL, allows you to control the size of the
print spooler before running certain applications. The calling syntax
is: "SPOOL nnnn", where nnnn represents the desired size in thousands.
Requests to change the spooler's size are ignored however, if its buffer
contains any data waiting to be spooled to the printer.
21. dCOM now automatically picks up on when the pipe character ("|") is used
in a macro command, and uses COMMAND.COM to execute the command. This
eliminates the previous requirement of having to use the ">" macro
operator to start a macro line when using the pipe character.
22. Shift-F1 through Shift-F4 now provide a quick method for assigning buffers
to windows in the text editor. For instance, if you wanted to assign buf-
fer 4 to window 2, you can now press F2 (to select window 2), and then
press sF4 (to assign buffer 4 to it).
23. Shift-F5 now provides a quick method to toggle the current state of the
43/50 line mode in the text editor. The initial state upon entering the
editor is determined by the current setting in the text editor's confi-
guration menu.
24. The macro keys no longer abort during their normal execution if the Escape
key is pressed. A Ctrl-C however, will. This was implemented so that the
%KB variable can be used to test for Escape and provide a better-behaved
method for exiting a macro.
For Example:
ECHO Press Return To Continue With Backup or Escape To Quit
:KEYWAIT
SET %9=%KB
IF %9=%(27) GOTO EXIT
IF %9<>%(13) GOTO KEYWAIT
ECHO Echo Backing up Data Files
XCOPY C:\DATA\*.* A:
:EXIT
CDDO
25. A new command line switch, /B, has been added which is provided only for
users encountering problems with their cursor shape (usually because of
a not so compatible video card). This switch tells dCOM to use BIOS calls
to change the cursor shape (from underline to block), instead of directly
addressing the 6845 CRT controller (more efficient). Try using it only if
you are not getting a cursor at all, or if the shape of the cursor is not
behaving properly.
26. dCOM's mouse interrupt handler has been modified to fool Logitech's
LOGIMENU and CLICK programs into thinking it is the actual Logitech mouse
driver. This now allows these two programs to work properly even though
dCOM may be sandwiched between the mouse driver and the menu programs.
BE SURE HOWEVER, that you initially load LOGIMENU on the same side of
dCOM that you load the mouse driver - if you load the mouse driver before
you run dCOM, then you must also initially load LOGIMENU before you run
dCOM. More calls to LOGIMENU (from within a batch or macro file) after
dCOM is loaded, to load a new menu, will work properly and not load
another copy of LOGIMENU. If you don't follow this rule, your computer
will lock-up if you try to remove LOGIMENU as a TSR. (The two of them
get into bed somehow...)
27. dCOM no longer automatically creates a null (empty) macro file when first
run if the default macro file doesn't exist. It will however, insert the
name of the current macro file into the list when using Alt-K to edit
macro files, even if it doesn't exist. There were just too many incidents
of people copying the entire dCOM directory to a floppy disk, and then
copying that disk into their working dCOM directory and covering a valid
macro file with the empty one. If this doesn't make sense - don't worry
about it.
Dave Frailey
December 1989
DAC Micro Systems
40941 176th St E
Lancaster, CA 93535
Voice: 805/264-1700
Data: 805/264-1219