home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HomeWare 14
/
HOMEWARE14.bin
/
utils2
/
merge215.arj
/
HISTORY.DOC
< prev
next >
Wrap
Text File
|
1994-04-20
|
10KB
|
184 lines
MERGEFILE v1.15 & v2.15 HISTORY.DOC 4/20/94
NOTE: Enter COPY HISTORY.DOC PRN to print this file. It is formatted
to print 3 pages.
There are two parts to HISTORY.DOC; the first is for the Public Domain
version (v1.??) and the last is for the shareware version (v2.??).
PUBLIC DOMAIN MergeFile
Revision v1.15 4/20/94 No changes, just keeping version numbers in sync.
Revision v1.14 4/4/94
Discovered another bug that I introduced when I got rid of the "case"
statements in the DOLINEs: if you were keeping duplicates, you would miss
the second one if this was the first occurrence in DOLINE12; made the last
file name entered the output file, added overwrite prompt for files 1 and
2, and fixed to delete the output file if its size was 0 (like v2.13) and
retain the input file (required changes to procedures HELP, GETPARAM, and
DOMERGE; and added variable "ScrnOut" so screen output could be redirected
to a file (had to change all screen "writes").
Revision v1.13 2/20/94
This is the second time I've found a bug right after I released a version
of this, but at least you know I'm working on it. I removed the CLEANUP
procedure in v1.11, but overlooked that if your current directory wasn't
the same directory as the output file, you wouldn't be able to rename the
temp file with the outfile's name, so I fixed it by adding Turbo Pascal's
FEXPAND and FSPLIT procedures and "uses DOS" to the program. Since the
"DOS" unit has its own "namestr" type for FSPLIT, renamed my "namestr" to
"namstrg." Also changed MERGE.DOC to follow the suggestions of <ASP>
(Association of ShareWare Professionals); that's why the first thing you
see is the HUGE disclaimer.
Revision v1.12 2/15/94
Revised the DOLINE procedures and dropped the "case" statement; it wasn't
necessary, but when I first wrote the program, I had been out of practice
for a LONG while. Dropped the "var" ParCnt; same reason. Changed PARSE
to make the parameter upcase instead of having upper and lowercase checks
in the "option" functions, and fixed all but NOTOPTION to check for the
whole string instead of using "pos"; fixed DOMERGE and HELP to "Halt" with
error level of zero for normal termination; dropped not needed "uppers"
from ERROR and OUTEXISTS. And changed this DOC to start with the latest
revision and go down instead of the first version and work up.
Revision v1.11 1/28/94
Nothing to interfere with the operation, but noticed I had two identical
checks at function NotOption (looking for '/'), so removed one of them.
Also, removed a useless check for number of files to close at the end of
procedure DOMERGE. Also, added "exit code" for HALT to give when an error
occurs and removed procedure CLEANUP; it wasn't needed anymore because I
changed its function to deleting the original file and renaming the temp
file with the outfile's name.
Revision v1.10 1/22/94
Talk about a short lived first release, the day after I distributed this
thing, I find a bug. Nothing drastic, mind you, but the longer of the two
files to merge would not have any duplicates removed after the shorter
file ended. Since I claimed all duplicates were removed, I had to fix it.
As long as I was at it, I also allowed one file name for input instead of
requiring two. One file is processed as if two identical files are being
merged, enabling you to remove any duplicates it might contain (it still
must be sorted). I also made the input string longer; now it's 255
characters instead of 80.
Version 1.00 first release of Public Domain MERGEFILE 1/21/94
SHAREWARE MergeFile
The creation of the shareware MERGE sprang from getting carried away while
fixing the bug I found in v1.00. It was one of those, well, I'm doing
this so I might as well do that. Everything above on the Public Domain
version also applies to this version, with the additional changes noted
below.
Revision v2.15 4/20/94
This is getting old; just releasing a version and then finding a problem.
Actually, it is only a definite problem with IBM PC-DOS v2.1, but may also
be with other DOS versions below 3.3; changed a routine in a programmers
tool kit unit that hung the computer. Please see INCOMPAT.DOC for more.
Revision v2.14 4/4/94
Same as v1.14, except fixed the duplicate bug in the process of rewriting
DoMerge's DOLINE procedures to call new procedures DOOUT and GETIN and had
to replace byte flag "In1" with boolean "In2" since this version allows a
separate output file with only one input file (required changes in FILECHK
and DOMERGE); removed In2 flag from MERGEER and changed FILECHK, DOMERGE,
and MERGEER so that if the second file name was an output file, no temp
file is used (it goes to FNames[3]); removed "HaltOnEr" (was "ChkMerge")
as a parameter passed to MERGEFLD (now GETIN checks for halting on error);
changed GETPARAM option selections to "case" and consolidated finding the
"option" into one OPTION function that returns a letter for the option;
added custom exit routine MERGEEXIT to clean up after MERGE if a run time
error occurs; increased file buffer size to 1024 bytes for better speed
(up to 40% or more depending on disk cache/buffers and merge key); let
MERGEER do all the file closings; moved several routines (e.g., UPPER) to
a MISC unit because they are also used in other programs; consolidated the
"errors" in procedure ERROR (required changes to GETPARAM and FILECHK);
moved the empty input file check to FILECHK (uses FILESIZE0 function in
MISC unit); added procedure OPENOUT to prevent a run time error if a bad
path is entered for an output file; moved a bunch of comments cluttering
DOMERGE to an ADDENDUM.DOC to include with source code when registered;
added procedure NOTICE to leave an "unregistered" message after running;
and lastly decided the program was good enough to raise the registration
fee to $10, but a new update and disk is provided rather than requiring
postage, so there really isn't an increase.
Revision v2.13 2/20/94
Same as v1.13, except v2.13 was already "using DOS" and renamed variable
"namearr" to "namarry." Also: changed error 11 to "input file empty" (it
exists, just nothing in it) and moved the existing errors 11, 12, and 13
up one (required changes to ERROR, FILECHK, DOMERGE, and its MERGEFLD);
added new variable "In1" so procedure DOMERGE and its MERGEER could tell
whether file1 was input or output and fixed MERGEER to erase any 0 size
files that might be left over if MERGE halted on an error; removed another
unnecessary "upper" from OUTEXISTS (FEXPAND returns the full path in
uppercase).
Revision v2.12 2/15/94
No v2.11; I'm going up an extra ".01" to get the two versions in sync, but
I should probably be going even higher, since I made some substantive
changes. Same changes as in v1.12 (except PARSE doesn't exist anymore in
this version, now it's GETPARAM, and that isn't the same GETPARAM in
v1.12; oh, just get the code and you'll see what I mean), plus: changed
the default merge to be on the whole input line instead of just the first
field; moved call for "help" if no parameters on command line from main
program to GETPARAM and expanded "help" screen; increased "MaxOpt" and
"MaxPar" by 1 (these don't have much meaning anymore, but they did in the
original); renamed "Line1M" & 2M to "Key1In" & 2In, "Line1" & 2 to
"Line1In" & 2In, and "LastLine" to "LastKey" so that they made more sense
in this version; added option "/E" to disable halt on error (included
passing new "var" ChkMerge to MERGEFLD and adding byte flag "ErFlag" to
DOMERGE); added function ALLBLNK to MERGEFLD to see if input line was all
blanks; expanded error reporting: 11 changed to blank or empty line and
added 12 is missing key and 13 is missing field.
Revision v2.10 released 2/1/94
Same changes as v1.11, plus got carried away again and did a wholesale
rewrite. The changes are so numerous I'm not even going to try to list
them. No drastic changes in results, just on how you get there (I cleaned
up a lot of the code; about the only thing this version and the public
domain version have in common now is the first five letters of their
names). I probably should mention some new features: added to Procedure
FileChk: if two filenames are on the command line and the first doesn't
exist but the second one does, then it is assumed the user wanted to write
the second file to the first. By rewriting file name 1 to create the
file, it can then be reset without a run time error. Also, expanded
existing file overwrite prompt to include one and two files on the command
line, and added "/O" option to disable overwrite warning, which could be
useful for batch processing.
Version 2.00 first release of shareware MERGEFILE 1/24/94
I added the option of selecting 9 different fields to merge on with
"/F1../F9". You are also able to use all nine fields at once and have the
merge done in the order that they appear on the command line.
TRADEMARKS
ASP and the ASP logo are registered trademarks of the Association of
Shareware Professionals.
IBM is a registered trademark of International Business Machines, Inc.
Turbo Pascal is a registered trademark of Borland International, Inc.