home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / utils2 / merge215.arj / HISTORY.DOC < prev    next >
Text File  |  1994-04-20  |  10KB  |  184 lines

  1.  
  2.  
  3.    MERGEFILE v1.15 & v2.15        HISTORY.DOC                         4/20/94
  4.  
  5.  
  6.    NOTE: Enter COPY HISTORY.DOC PRN to print this file.  It is formatted
  7.          to print 3 pages.
  8.  
  9.  
  10.    There are two parts to HISTORY.DOC; the first is for the Public Domain
  11.    version (v1.??) and the last is for the shareware version (v2.??).
  12.  
  13.  
  14.    PUBLIC DOMAIN MergeFile
  15.  
  16.    Revision v1.15  4/20/94  No changes, just keeping version numbers in sync.
  17.  
  18.    Revision v1.14  4/4/94
  19.  
  20.    Discovered another bug that I introduced when I got rid of the "case"
  21.    statements in the DOLINEs: if you were keeping duplicates, you would miss
  22.    the second one if this was the first occurrence in DOLINE12; made the last
  23.    file name entered the output file, added overwrite prompt for files 1 and
  24.    2, and fixed to delete the output file if its size was 0 (like v2.13) and
  25.    retain the input file (required changes to procedures HELP, GETPARAM, and
  26.    DOMERGE; and added variable "ScrnOut" so screen output could be redirected
  27.    to a file (had to change all screen "writes").
  28.  
  29.    Revision v1.13  2/20/94
  30.  
  31.    This is the second time I've found a bug right after I released a version
  32.    of this, but at least you know I'm working on it.  I removed the CLEANUP
  33.    procedure in v1.11, but overlooked that if your current directory wasn't
  34.    the same directory as the output file, you wouldn't be able to rename the
  35.    temp file with the outfile's name, so I fixed it by adding Turbo Pascal's
  36.    FEXPAND and FSPLIT procedures and "uses DOS" to the program.  Since the
  37.    "DOS" unit has its own "namestr" type for FSPLIT, renamed my "namestr" to
  38.    "namstrg."  Also changed MERGE.DOC to follow the suggestions of <ASP>
  39.    (Association of ShareWare Professionals); that's why the first thing you
  40.    see is the HUGE disclaimer.
  41.  
  42.    Revision v1.12  2/15/94
  43.  
  44.    Revised the DOLINE procedures and dropped the "case" statement; it wasn't
  45.    necessary, but when I first wrote the program, I had been out of practice
  46.    for a LONG while.  Dropped the "var" ParCnt; same reason.  Changed PARSE
  47.    to make the parameter upcase instead of having upper and lowercase checks
  48.    in the "option" functions, and fixed all but NOTOPTION to check for the
  49.    whole string instead of using "pos"; fixed DOMERGE and HELP to "Halt" with
  50.    error level of zero for normal termination; dropped not needed "uppers"
  51.    from ERROR and OUTEXISTS.  And changed this DOC to start with the latest
  52.    revision and go down instead of the first version and work up.
  53.  
  54.    Revision v1.11  1/28/94
  55.  
  56.    Nothing to interfere with the operation, but noticed I had two identical
  57.    checks at function NotOption (looking for '/'), so removed one of them.
  58.    Also, removed a useless check for number of files to close at the end of
  59.    procedure DOMERGE.  Also, added "exit code" for HALT to give when an error
  60.    occurs and removed procedure CLEANUP; it wasn't needed anymore because I
  61.    changed its function to deleting the original file and renaming the temp
  62.    file with the outfile's name.
  63.  
  64.  
  65.  
  66.    Revision v1.10  1/22/94
  67.  
  68.    Talk about a short lived first release, the day after I distributed this
  69.    thing, I find a bug.  Nothing drastic, mind you, but the longer of the two
  70.    files to merge would not have any duplicates removed after the shorter
  71.    file ended.  Since I claimed all duplicates were removed, I had to fix it.
  72.    As long as I was at it, I also allowed one file name for input instead of
  73.    requiring two.  One file is processed as if two identical files are being
  74.    merged, enabling you to remove any duplicates it might contain (it still
  75.    must be sorted).  I also made the input string longer; now it's 255
  76.    characters instead of 80.
  77.  
  78.    Version 1.00  first release of Public Domain MERGEFILE  1/21/94
  79.  
  80.  
  81.    SHAREWARE MergeFile
  82.  
  83.    The creation of the shareware MERGE sprang from getting carried away while
  84.    fixing the bug I found in v1.00.  It was one of those, well, I'm doing
  85.    this so I might as well do that.  Everything above on the Public Domain
  86.    version also applies to this version, with the additional changes noted
  87.    below.
  88.  
  89.    Revision v2.15  4/20/94
  90.  
  91.    This is getting old; just releasing a version and then finding a problem.
  92.    Actually, it is only a definite problem with IBM PC-DOS v2.1, but may also
  93.    be with other DOS versions below 3.3; changed a routine in a programmers
  94.    tool kit unit that hung the computer.  Please see INCOMPAT.DOC for more.
  95.  
  96.    Revision v2.14  4/4/94
  97.  
  98.    Same as v1.14, except fixed the duplicate bug in the process of rewriting
  99.    DoMerge's DOLINE procedures to call new procedures DOOUT and GETIN and had
  100.    to replace byte flag "In1" with boolean "In2" since this version allows a
  101.    separate output file with only one input file (required changes in FILECHK
  102.    and DOMERGE); removed In2 flag from MERGEER and changed FILECHK, DOMERGE,
  103.    and MERGEER so that if the second file name was an output file, no temp
  104.    file is used (it goes to FNames[3]); removed "HaltOnEr" (was "ChkMerge")
  105.    as a parameter passed to MERGEFLD (now GETIN checks for halting on error);
  106.    changed GETPARAM option selections to "case" and consolidated finding the
  107.    "option" into one OPTION function that returns a letter for the option;
  108.    added custom exit routine MERGEEXIT to clean up after MERGE if a run time
  109.    error occurs; increased file buffer size to 1024 bytes for better speed
  110.    (up to 40% or more depending on disk cache/buffers and merge key); let
  111.    MERGEER do all the file closings; moved several routines (e.g., UPPER) to
  112.    a MISC unit because they are also used in other programs; consolidated the
  113.    "errors" in procedure ERROR (required changes to GETPARAM and FILECHK);
  114.    moved the empty input file check to FILECHK (uses FILESIZE0 function in
  115.    MISC unit); added procedure OPENOUT to prevent a run time error if a bad
  116.    path is entered for an output file; moved a bunch of comments cluttering
  117.    DOMERGE to an ADDENDUM.DOC to include with source code when registered;
  118.    added procedure NOTICE to leave an "unregistered" message after running;
  119.    and lastly decided the program was good enough to raise the registration
  120.    fee to $10, but a new update and disk is provided rather than requiring
  121.    postage, so there really isn't an increase.
  122.  
  123.  
  124.  
  125.    Revision v2.13  2/20/94
  126.  
  127.    Same as v1.13, except v2.13 was already "using DOS" and renamed variable
  128.    "namearr" to "namarry."   Also: changed error 11 to "input file empty" (it
  129.    exists, just nothing in it) and moved the existing errors 11, 12, and 13
  130.    up one (required changes to ERROR, FILECHK, DOMERGE, and its MERGEFLD);
  131.    added new variable "In1" so procedure DOMERGE and its MERGEER could tell
  132.    whether file1 was input or output and fixed MERGEER to erase any 0 size
  133.    files that might be left over if MERGE halted on an error; removed another
  134.    unnecessary "upper" from OUTEXISTS (FEXPAND returns the full path in
  135.    uppercase).
  136.  
  137.    Revision v2.12  2/15/94
  138.  
  139.    No v2.11; I'm going up an extra ".01" to get the two versions in sync, but
  140.    I should probably be going even higher, since I made some substantive
  141.    changes.  Same changes as in v1.12 (except PARSE doesn't exist anymore in
  142.    this version, now it's GETPARAM, and that isn't the same GETPARAM in
  143.    v1.12; oh, just get the code and you'll see what I mean), plus: changed
  144.    the default merge to be on the whole input line instead of just the first
  145.    field; moved call for "help" if no parameters on command line from main
  146.    program to GETPARAM and expanded "help" screen; increased "MaxOpt" and
  147.    "MaxPar" by 1 (these don't have much meaning anymore, but they did in the
  148.    original); renamed "Line1M" & 2M to "Key1In" & 2In, "Line1" & 2 to
  149.    "Line1In" & 2In, and "LastLine" to "LastKey" so that they made more sense
  150.    in this version; added option "/E" to disable halt on error (included
  151.    passing new "var" ChkMerge to MERGEFLD and adding byte flag "ErFlag" to
  152.    DOMERGE); added function ALLBLNK to MERGEFLD to see if input line was all
  153.    blanks; expanded error reporting: 11 changed to blank or empty line and
  154.    added 12 is missing key and 13 is missing field.
  155.  
  156.    Revision v2.10  released 2/1/94
  157.  
  158.    Same changes as v1.11, plus got carried away again and did a wholesale
  159.    rewrite.  The changes are so numerous I'm not even going to try to list
  160.    them.  No drastic changes in results, just on how you get there (I cleaned
  161.    up a lot of the code; about the only thing this version and the public
  162.    domain version have in common now is the first five letters of their
  163.    names).  I probably should mention some new features:  added to Procedure
  164.    FileChk:  if two filenames are on the command line and the first doesn't
  165.    exist but the second one does, then it is assumed the user wanted to write
  166.    the second file to the first.  By rewriting file name 1 to create the
  167.    file, it can then be reset without a run time error.  Also, expanded
  168.    existing file overwrite prompt to include one and two files on the command
  169.    line, and added "/O" option to disable overwrite warning, which could be
  170.    useful for batch processing.
  171.  
  172.    Version 2.00  first release of shareware MERGEFILE  1/24/94
  173.  
  174.    I added the option of selecting 9 different fields to merge on with
  175.    "/F1../F9".  You are also able to use all nine fields at once and have the
  176.    merge done in the order that they appear on the command line.
  177.  
  178.    TRADEMARKS
  179.    ASP and the ASP logo are registered trademarks of the Association of
  180.    Shareware Professionals.
  181.    IBM is a registered trademark of International Business Machines, Inc.
  182.    Turbo Pascal is a registered trademark of Borland International, Inc.
  183.  
  184.