Delphi 2 Zip Package
Version 1.0, April 7, 1997
by Eric W. Engler

Installation
------------

This is one of the biggest freeware software releases for Delphi.
To get going quickly and correctly, please follow these instructions.
Read them over once before starting.  If you don't understand a
step, get help before you start the install!


1.  You MUST install this package on a computer that has Delphi v2.xx.
This package REQUIRES the Win32 API, and because of it's complexity,
back-porting to Delphi v1 is NOT practical - don't waste your time 
unless you are well-versed in C language DLL programming for both 
Win16 and Win32.

    This hasn't been tested on Delphi version 3, but it is expected
to be highly portable to that version, perhaps with no changes at all.

2.  You MUST have PKUNZIP.EXE v2.04g on your hard disk before trying 
to install this package.  It should be located anywhere in the MS-DOS
search PATH.  After this package is installed, you'll no longer need
PKUNZIP.EXE on your hard disk.  The DLLs and VCLs distributed with
this release do NOT require the PKZIP/PKUNZIP programs to be present.

3.  Decide which "base directory" you will use for the ZIP package.
I am using C:\ZIP on my computer, but you can use whatever you
want.  Install this package from the MS-DOS prompt. This set of
MS-DOS commands will set up your directory tree (assuming your
base directory will be \ZIP):

CD \
MD ZIP
CD ZIP
COPY <source>DELZIP10.ZIP
PKUNZIP DELZIP10    (unzip the main distribution archive)
INST                (run the INST.BAT batch file)

4.  The VCLs included with this release are:
      TZipMaster - the main ZIP support VCL
                   (used by demo1 and demo2)
      TSortGrid  - a very handy descendant from StringGrid
                   (used by demo1 and demo3)
      TZipDir    - a simple utility VCL to get the contents of a 
                   ZIP archive (used by demo2)

    You must install these VCLs in a directory that's in your
    VCL Library search path.  The easiest option at this point 
    is to add the directory \ZIP\VCL to your VCL Library 
    search path.  If you'd rather not do this, then simply copy 
    all the files from \ZIP\VCL to a directory already in the VCL
    Library search path.

    Once you have the VCL files in a directory in your search path,
    then you should install the VCLs into Delphi's GUI.  Once 
    installed, the three VCLs will be available on the Samples VCL
    tab.
       
      a) Close any Files or Projects open in Delphi. 
      b) Select the "Component...Install" choice and click on the
         Add button.  
      c) Enter the path and filename of where the ZIPMSTR.PAS 
         file is located, or find it now with Browse. 
      d) Click on OK.  The component library will rebuild.

    Repeat steps b, c, and d above for file SORTGRID.PAS, and
    again for file ZIPDIR.PAS  (you can skip ZIPDIR.PAS if 
    you're not interested in the advanced demo: demo3).
            
    NOTE: Although you have only installed 3 files into the Delphi
    GUI, there are many other files in the VCL subdir that are
    also essential for proper operation of this ZIP software.
    These include the two DLL import units and the DLL callback
    unit, not to mention the .DCR files.

5.  You're ready to try a demo program.  From the Delphi GUI,
    open the project C:\ZIP\DEMO1\DEMO1.DPR.  Select the
    Application menu option, then slide down and select Options.
    Select the compiler tab.  Make sure that Optimization is
    turned off.  This ensures proper operation of the ZIP
    software.  Now, select Run.  

    The demo1 program is a fairly straight-forward example
    of what you can do with this package!  Everything revolves
    around the TSortGrid, which always shows you the contents 
    of your ZIP archive.  Use right-click on a column header to
    do an descending sort, or a left-click for an ascending sort.

6.  Now, you can look at the simplest demo program.  This is
    especially useful because it doesn't have so much "clutter".
    It just shows you the easiest way to use TZipMaster from 
    within any of your programs.

    From the Delphi GUI, open the project C:\ZIP\DEMO2\DEMO2.DPR.
    Select the Application menu option, then slide down and 
    select Options.  Select the compiler tab.  Make sure that
    Optimization is turned off.  This ensures proper operation of
    the ZIP software.  Now, select Run.  

7.  Demo program #3 is not intended for use by most programmers.
    If you're not extremely curious about the inner workings of
    the DLL interface to Delphi, I advise you to skip this demo!
    It shows very advanced programmers how they can access the
    DLL's without using the TZipMaster VCL.  This gives them a
    few more options, but can be difficult to code and debug.
    This level of programming is how I had to start out in
    developing the DLL interface.  The last step I did was to
    create TZipMaster and demo programs 1 and 2.  The moral of
    the story: sometimes things have to get complex in order to
    make them easy!


                   Deployment of Your Programs

Any program you write using this package will require the two 
DLLs: ZIPDLL.DLL and UNZDLL.DLL to be present of each user's
hard disk.  You should have your install procedures put these
files into directory C:\WINDOWS\SYSTEM.  If that isn't possible,
then you should put them into the same directory as your .EXE
program that uses them.

Of course, there are no distribution fees for the DLLs, or
any other part of the package.  This whole package is 
freeware, but does have some minor distribution restrictions
(mainly that you can't profit from the ZIP DLLs, and you need
to document where users can get source code).  Please see 
README.TXT for these restrictions.
    

See README.TXT for more general information about this release,
and also check out the DOC subdirectory.


                        Optimization Bug?

Just before the release of this package I discovered that 
demo2, the simplest demo, doesn't work correctly with Delphi's 
Optimization enabled.  I haven't tracked down the reason for 
this yet, so I have given instructions above to turn optimization
off on all the demos until this issue can be resolved.  This will
not seriously degrade performance because most of the work is 
being done in the C language DLLs, which are highly optimized.
