Delphi Zip Version 1.20, Sept 28, 1997 by Eric W. Engler See CHANGES.TXT for note on changes since version 1.10. If you already have v1.10 installed, then install this update right over the top of it. Make sure you rebuild the Component library with the updated VCLs included with this release. This is a complete release, so you DO NOT need to have any prior version before installing this release. IMPORTANT NOTE FOR C++ BUILDER DEVELOPERS ----------------------------------------- I wrote up some very important notes that you should read before doing the following install. See the file "\ZIP\DOC\CBUILDER.TXT", which came with this release. Installation ------------ This is one of the biggest freeware software releases for Delphi and C++ Builder. 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 2 or 3, or C++ Builder. Minor version upgrades to any of these compilers should not affect this package, but you should always rebuild your VCL component library after doing a minor or major upgrade. 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. 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 DELZIP11.ZIP PKUNZIP DELZIP11 (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 TStringGrid (used by demo1 and demo3) TZipDir - a simple utility VCL to get the contents of a ZIP archive (used by demo3) The files required to support these VCLs are located in the VCL subdirectory. You have two choices for how to proceed (option A is recommended): A) add the directory C:\ZIP\VCL to your VCL search path or B) copy the files in C:\ZIP\VCL to another directory already in your VCL search path If you want to use option A, the instructions for this are included below. If you want option B, then please copy those files now. 5. Install the three VCLs This procedure will install the VCLs into the IDE. After this, you will be able to see them on the "Samples" tab. Delphi 2: a) Close any Files or Projects that are open. b) Select the "Component...Install" choice. c) If you want to add C:\ZIP\VCL to the library search path, you may do it now using the second edit box. d) Click on the Add button. e) Enter the path and filename of where the ZIPMSTR.PAS file is located, or find it now with Browse. f) Click on the Add button. g) Enter the path and filename of where the SORTGRID.PAS file is located, or find it now with Browse. h) Click on the Add button. i) Enter the path and filename of where the ZIPDIR.PAS file is located, or find it now with Browse. j) Click on OK. The component library will rebuild. Delphi 3: These instructions assume you will place the VCLs into the standard user package "DCLUSR30.DPK". Advanced developers may want to use a different package, or to make a new package. Packages can be confusing, so I will only document the simplest case, of putting them into "DCLUSR30.DPK", which will work fine for most developers. a) Close any Files or Projects that are open. b) Select the "Component, Install Component" choice. Make sure the "Into existing package" tab is selected. c) Check to see if package: "DCLUSR30.DPK" is already selected. If not, you should now locate "dclusr30.dpk". d) Add the C:\ZIP\VCL directory to the search path box (unless you copied the files to a path already in the search path). e) In the Unit name block, enter ZIPMSTR.PAS. Click OK. f) It will ask if you want to rebuild the Component Library. ANSWER NO (saves time to do it only 1 time later). g) Click on Add. h) In the Unit name block, enter SORTGRID.PAS. Click OK. i) It will ask if you want to rebuild the Component Library. ANSWER NO (saves time to do it only 1 time later). j) Click on Add. k) In the Unit name block, enter ZIPDIR.PAS. Click OK. l) It will ask if you want to rebuild the Component Library. ANSWER YES this time. The component library will rebuild. If it does not automatically install the new VCLs to the component palette, then click on the "install" button of the package option dialog box. m) When done, close the package option dialog box by clicking on it's upper right corner. Say "Yes" to keep the changes. C++ Builder: a) Read the file \ZIP\DOC\CBUILDER.TXT for very important notes. Make a backup copy of your VCL library. a) Close any Files or Projects that are open. b) Select the "Component...Install" choice. c) Add C:\ZIP\VCL to the library search path, unless you copied the files to a directory already in the path. d) Click on the Add button. e) Enter the path and filename of where the ZIPMSTR.PAS file is located, or find it now with Browse. f) Click on the Add button. g) Enter the path and filename of where the SORTGRID.PAS file is located, or find it now with Browse. h) Click on the Add button. i) Enter the path and filename of where the ZIPDIR.PAS file is located, or find it now with Browse. j) Click on OK. The component library will rebuild. If you have "warnings" enabled, you will get lots of warning messages. Ignore these. 5. You're ready to try a demo program! DELPHI DEMOS 1. From the IDE, open the project C:\ZIP\DEMO1\DEMO1.DPR. Select Run. Examine the forms and decide if you need to resize any of the controls, or change the position of anything. This is sometimes necessary if I developed the forms at a different screen resolution than you are using. 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. NOTE: You should have the compiler option "break on exception" turned off if you want to use the click-to-resort option of the grid. This is only a concern when running the program from the IDE. 2. 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 IDE, open the project C:\ZIP\DEMO2\DEMO2.DPR. Select Run. 3. 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! NOTE: You should have the compiler option "break on exception" turned off if you want to use the click-to-resort option of the grid. This is only a concern when running the program from the IDE. C++ BUILDER DEMO 1. This is a simple program to show you how to use TZipMaster from C++. From the C++ Builder IDE, open the project C:\ZIP\CDEMO1\PROJECT1.MAK 2. Examine the forms and decide if you need to resize any of the controls, or change the position of anything. This is sometimes necessary if I developed the forms at a different screen resolution than you are using. 3. Select Run. NOTE: This demo does not show an example of deleting a file from a ZIP archive. This is, however, a supported method of TZipMaster. It is done almost the same way an "Add" is done. See the file ZIPMSTR.PAS for an explanation of all properties, methods, and events of TZipMaster. 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. NOTE: Microsoft is said to be recommending that DLLs should be installed in application directory, rather than the Windows system directory. This may become a requirement of a future version of Windows. 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. Eric Engler englere@swcp.com