                        DJoin v1.0                         8/4/96
                        ~~~~~~~~~~


#################################################################
#                                                               #
#               Disclaimer and Copyright Notice                 #
#               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 #
#                                                               #
#       DJoin v1.0 is hereby released into the public domain.   #
#       It may be distributed freely and without restriction    #
#       other than that stated here.                            #
#                                                               #
#       DJoin v1.0 is (c)1995 Dan Gibson.                       #
#                                                               #
#       DJoin v1.0 must be distributed in full, unchanged       #
#       and in the form it is distributed here. All files       #
#       included with this copy of DJoin v1.0 must be           #
#       included with any further distribution.                 #
#                                                               #
#       DJoin v1.0 may not be distributed for commercial        #
#       gain by any party without prior written permission      #
#       from the author. You are free to use DJoin v1.0         #
#       for any use, personal or commercial, and free           #
#       distribution with any commercial package is allowed     #
#       under these terms, so long as no value is added to      #
#       the commercial product by DJoin's inclusion.            #
#                                                               #
#       Disclaimer:                                             #
#               DJoin v1.0 is supplied without warranty or      #
#               guarantee. To the best of the authors           #
#               knowledge, DJoin works as described, however    #
#               no responsibility can be taken by the author    #
#               for loss of data or any other such damage       #
#               resulting from the use of DJoin v1.0.           #
#                                                               #
#################################################################

Introduction.
-------------
        DJoin is the counterpart to DSplit. Where DSplit breaks a
file into parts, DJoin re-assembles the parts back into one file.
DJoin will rebuild from any version of DSplit, but is written to
exploit the .p00 info file created by DSplit v1.2 and later. If
if this info file is not present, however, DJoin is able to search
out the information necessary to perform the rebuild operation..
        DJoin works in the same way as DSplit in that it is written
for memory efficiency rather than speed. For this reason files are
again read and written in 1kb chunks so that it will run on most
systems. DJoin also reads and writes in binary mode so that any file
be it text, executable, or whatever may be split and re-joined with
these programmes.

Compatability and portability.
------------------------------
        DJoin is written in ANSI compliant C so as to make it portable
from one operating system to another with little or no changes to the
source code (see later).
        DJoin will re-build any file split with DSplit v1.0 onwards.
It is compatible with any file and treats all files as binary regardless
of content. If DSplit will split it, DJoin will join it !

Limitations.
------------
        Like DSplit, DJoin only supports 3 character file extensions.
        This is a limitation of MS-DOS, and as the programmes are suposed
        to work with any O/S this restriction had to be included.
        The only other limitation is that DJoin will only recombine 99
        part files, the reason for this is that DSplit will only split a
        file into a maximum of 99 parts. The number 99 comes from the
        3 character file extension again and the prefix 'p' before each
        part number which gives the DSplit identifying extesion.

How to use it.
--------------
        The syntax for using DJoin v1.0 is simple, however there is one
term used in the help file which may cause some confusion. The term
<common_name> refers to the part of the file name which is common to
all parts which are to be re-combined. That is, if you had split a file
called  myfile.txt  into 5 parts you would have the following files
created by DSplit v1.2:

        myfile.p00      -       the info file
        myfile.p01      -       part 1 of the file
        myfile.p02      -       part 2 of the file
        myfile.p03      -       part 3 of the file
        myfile.p04      -       part 4 of the file
        myfile.p05      -       part 5 of the file.

The common name for these files would therefore be  myfile.

If all these files are present on the system where the rebuild is to
be performed, and the .p00 file is intact, then the following command
would re-build the file  myfile.txt :

        join myfile

If the info file .p00 was not present then DJoin will work out how many
part files are available. Here it would find 5. However if part 4, for
example, were missing, then DJoin would only attempt to re-combine parts
1, 2, and 3, ignoring part 5 as it doen not come in a consecutive run.
With the .p00 file missing, DJoin cannot know the original extension of
the rebuilt file, so it will use the extension .all . You may, however,
specify an extension for DJoin to use, see options later.

Options:
        Djoin supports the following command line options - 

        /i - Interactive mode on.
                With this option enabled, DJoin will pause for
                confirmation of any decisions it has made about
                the re-building operation. You should key y or Y
                if the are satisfied with DJoin's decision, or key
                any other key to abort the operation.

        /o - Force over-write.
                This option forces DJoin to overwrite the output
                file if it already exists. Without the option DJoin
                would either abort, or, if interactive mode is
                enabled, ask whether or not to delete.
                This option has limited use, but is included to make
                automation possible.

        /e <ext>
                This option allows the user to specify the extension
                which should be used in the re-built file. It will
                over ride any extension found in the .p00 info file.
                Its main use is in over riding the .all extension which
                is given if the .p00 file is not available.

        /? - Display the on-line help file.
                This file contains a more concise version of these
                instructions. It should be sufficient to remind you
                of syntax and options once you are used to DJoin.

Background
----------
        I was originally going to write DJoin at the time of writing
        DSplit v1.0, however I never got around to it. I was using
        DSplit on a DOS machine so re-combining the part files was
        not a problem, although it was a long winded command that was
        needed. When I decided to up-load DSplit I thought it would
        be a good idea to finally get around to writing DJoin to make
        the system complete, so here it is. At the time of writing,
        DSplit is in version 1.2, and DJoin v1.0 supports all of
        DSplits currently available options. As DSplit is upgraded,
        DJoin will obviously be upgraded also, although I cannot really
        see any improvements to DSplit v1.2 that will affect the way
        DJoin works. Let me know if you think of any...

Source Code and Porting issues
------------------------------
        If you wish to port DJoin ( or DSplit ) to another operating
        system, the C source code is available from the author. All
        I ask is that you do not change the way the programmes work
        other than to enable them to work under that operating system.
        More details of the agreement will be supplied with the source
        code. See below for how to contact the author.

TrackWare
---------
        I have designated DJoin 'TrackWare' as I did with DSplit.
        This is basically the same as public domain, but means I would
        like to hear from anyone who is using these programmes just out
        of curiosity. ( Even though we all know what curiosity did... )
        If you find DSplit really useful, or are including it ( FREE OF
        CHARGE ) with a commercial software package, you may like to
        send me a 'gift' to show your appreciation... just a thought.
        Whatever, as I say I would like to know of anyone using DJoin
        and DSplit, so would appreciate you letting me know, even if it
        just means popping a postcard in the post to me..
        Thanks.

Contacting the Author.
----------------------
        The author can be contacted at the following address:

        Dan Gibson,
        10 Regent St.,
        Carlisle. SA2 4HD.
        ENGLAND.

Thank you for your interest in DJoin and DSplit.

==========================================================================
****   Support the Public Domain   ****   Support the Public Domain   ****
==========================================================================     
