VCLZipPro4511

所属分类:Pascal/Delphi编程
开发工具:Delphi
文件大小:916KB
下载次数:72
上传日期:2010-03-05 11:47:52
上 传 者随风不随流
说明:  数据压缩,Object Pascal代码开发库,是功能齐全
(The VCLZip Delphi component allows you to add ZIP and UNZIP capabilites to your application. This component is different from most other "ZIP" development libraries in that it is written in 100 Delphi Object Pascal code and is full featured. There are no DLL s to tote around. This component links right into your application s executable. It is very easy to use. Just SOME of the features include: )

文件列表:
VCLZipPro451_1\2ccc.com.nfo (753, 2008-09-26)
VCLZipPro451_1\aes\aescrypt.obj (6943, 2006-04-02)
VCLZipPro451_1\aes\aeskey.obj (6940, 2006-04-02)
VCLZipPro451_1\aes\aestab.obj (13139, 2006-04-02)
VCLZipPro451_1\aes\fileenc.obj (3446, 2006-04-02)
VCLZipPro451_1\aes\hmac.obj (3201, 2006-04-02)
VCLZipPro451_1\aes\prng.obj (2671, 2006-04-02)
VCLZipPro451_1\aes\pwd2key.obj (2207, 2006-04-02)
VCLZipPro451_1\aes\sha1.obj (3814, 2006-04-02)
VCLZipPro451_1\Delphi盒子.url (259, 2008-09-26)
VCLZipPro451_1\Help\UsingUnicode.txt (2922, 2008-11-24)
VCLZipPro451_1\Help\VCLZip,1.chm (127000, 2009-02-24)
VCLZipPro451_1\Help\VCLZip
,1.cnt (5173, 2009-02-24)
VCLZipPro451_1\Help\VCLZip
,1.hlp (232921, 2009-02-24)
VCLZipPro451_1\Help\VCLZip
,2.chm (127000, 2009-02-24)
VCLZipPro451_1\Help\VCLZip
,2.cnt (5173, 2009-02-24)
VCLZipPro451_1\Help\VCLZip
,2.hlp (232921, 2009-02-24)
VCLZipPro451_1\Help\VCLZip.hpj (4542, 2008-01-20)
VCLZipPro451_1\Help\VCLZip.rtf (376628, 2008-01-20)
VCLZipPro451_1\install
,1.txt (1331, 2008-01-21)
VCLZipPro451_1\install
,10.txt (1073, 2008-11-04)
VCLZipPro451_1\install
,2.txt (1328, 2008-01-21)
VCLZipPro451_1\install
,3.txt (1096, 2008-11-04)
VCLZipPro451_1\install
,4.txt (1096, 2008-11-04)
VCLZipPro451_1\install
,5.txt (1096, 2008-11-04)
VCLZipPro451_1\install
,6.txt (1096, 2008-11-04)
VCLZipPro451_1\install
,7.txt (1199, 2008-01-21)
VCLZipPro451_1\install
,8.txt (1073, 2008-11-04)
VCLZipPro451_1\install
,9.txt (1073, 2008-11-04)
VCLZipPro451_1\JEDI.INC (15415, 2005-08-07)
VCLZipPro451_1\kpAES.pas (7643, 2008-11-20)
VCLZipPro451_1\kpBITS.pas (7206, 2005-08-07)
VCLZipPro451_1\kpCntn.pas (36180, 2008-10-27)
VCLZipPro451_1\kpCompilers.inc (12972, 2005-11-16)
VCLZipPro451_1\kpDefs.inc (2089, 2008-11-20)
VCLZipPro451_1\kpDFLT.pas (23737, 2008-10-27)
VCLZipPro451_1\kpDiskIOs.pas (5830, 2005-08-07)
VCLZipPro451_1\kpDiskIOWin9x.pas (14363, 2008-10-27)
VCLZipPro451_1\kpExpld.pas (17099, 2005-08-07)
VCLZipPro451_1\kpFile.pas (9376, 2005-08-07)
... ...

VCLZip Native Delphi Zip/UnZip Component! IMPORTANT: If installing the registered version, please be sure to always re-install/rebuild the components (VCLZip and VCLUnZip) to the component pallette (or rebuild the design time package) so that the ThisVersion property and any other new properties will be properly updated. If your application still does not run without the IDE, open up VCLZip's package, click on options and look at the Directories/Conditionals tab. If KPDEMO is defined, remove it and recompile the package. ***IMPORTANT: Please remember do not install these components into a package by the name of either VCLZip or VCLUnZip. You will receive an error if you do. PLEASE TAKE A LOOK AT THE "WHAT's NEW IN THIS VERSION" LINK IN THE HELP FILE AS IT HAS CONVENIENT LINKS TO ALL OF THE NEW TOPICS. ==================== Version 4.60 Build 1 Beta (02/24/2009) - EncryptInPlace - New procedure that encrypts files in an existing archive without the need for unzipping and rezipping those files. - DecryptInPlace - New procedure that decrypts files in an existing archive without the need for unzipping and rezipping those files. - Ability to specify a file date (TDateTime) when calling ZipFromStream and ZipFromBuffer. Version 4.50 Build 1 (11/24/2008) UNICODE SUPPORT PLEASE READ "Using Unicode" in the Help File or UsingUnicode.txt in the /help directory for important information about how to activate the use of Unicode in VCLZip. For all but Delphi/BCB 2009 you will need to define a conditional named IMPLEMENT_UNICODE - Unicode Support - New read-only property thisReleaseLevel reflecting whether this version is a Beta or Production version Beginning with VCLZip 4.50, VCLZip is able to store Unicode filenames and paths as well as use Unicode in archive filenames and paths. In order to allow VCLZip to implement Unicode filenames in Delphi/BCB 6-2007 (NOT 2009), you must create a compiler define... When you install VCLZip 4.50 the following should already be done. But to verify that it is done, open up the VCLZip package with the package editor. In Project | Options, select the Directories/Conditionals tab and if it is not there already, type IMPLEMENT_UNICODE into the conditionals text box and save. In order to implement Unicode in Delphi/BCB 6-2007, VCLZip uses WideStrings wherever filenames and paths are used. Defining IMPLEMENT_UNICODE will cause VCLZip to compile all such strings as WideStrings and cause WideString functions to be called instead of the normal Ansii String functions. When IMPLEMENT_UNICODE is not defined, VCLZip is compiled as it always was in earlier versions using regular Ansii strings and functions. VERY IMPORTANT - Only Delphi 6 and above, and BCB 6 and above are supported when implementing Unicode. Delphi 5 and below and BCB 5 and below are not supported for Unicode. - If you are upgrading an existing application that uses VCLZip, this will cause many events to require changes since parameters that were regular strings will now be widestrings in a lot of instances. - Prior to Delphi 2009, the Delphi GUI components do not support Unicode. Therefore, if you wish to implement Unicode in your GUI you will need to add Unicode capable components. When modifying the VCLZip Zip Utility Example to work with VCLZip 4.50, we used the TMS Unicode Component Pack which you can find at http://www.tmssoftware.com/site/tmsuni.asp The VCLZip Zip Utility Example uses TMS Unicode controls, but does not include the TMS controls themselves. You will have to purchase TMS Unicode if you do not already own it for the example project to work. However, it is not needed for VCLZip itself to support Unicode. ==================== Version 4.00 Build 3 (01/26/2008) - Build 2 fix was not complete. Did not account for STOREd files. That fix is completed. - Added check for '\' at end to TempPath property. ==================== Version 4.00 Build 2 (01/25/2008) - Fixed bug that did not allow you to call CheckArchive right after zipping a file with AES compression without closing and opening the file first or creating a new instance of VCLZip to perform the CheckArchive. ==================== Version 4.00 Build 1 (01/21/2008) - Added Strong AES (AE-2) Encryption, compatible with PKZip and WinZip. ==================== Version 3.10 Build 1 (11/28/2008) - Several bug fixes. - Added support for Delphi 2005, 2006, 2007 - Added support for BCB 2006, 2007 - Improved memory performance when working with archives containing extremely high number of compressed files. ==================== Version 3.06 Build 2 Made Delphi 2005 compatible Other assorted fixes ==================== Version 3.05 Build 1 Fixed a lot of incompatabilities between VCLZip and WinZip Other assorted fixes ==================== Version 3.04 Build 1 New ZLib methods for optimized compression and decompression of single entities of data in standard ZLib format, without the overhead of the PKZip format. This is excellent for compression of data to be sent across the net, compressing web pages (http compliant compression), blobs, etc. - ZLibCompressStream - ZLibDecompressStream - ZLibCompressBuffer - ZLibDecompressBuffer - ZLibCompressString - ZLibDecompressString Overloaded TStream Methods for Delphi 4,5, BCB 4, and 5 - UnZipToStream - UnZipToStreamByIndex - ZipFromStream Special OnGetNextTStream Event for Delphi 4,5, BCB 4, and 5 - Allows zipping multiple TStreams in one process - More efficient than calling ZipFromStream multiple times Capability to use the latest version of ZLib 1.2.1. - VCLZip currently uses 1.4.1 by default. - By defining ZLIB121, VCLZip will use the latest version of ZLib which is included with the registered version. Some optimization improvements which should show some improvement in zipping and unzipping speed when using TkpStreams with D4, D5, BCB4, and BCB5. ============ Version 3.03 (VCLZip Pro) - Please test your application thoroughly with this new version of VCLZip Pro. While it has been tested and has even been used in at least two production applications for several months now prior to initial release, there are so many combinations of property settings, environment differences, and ways to use VCLZip that you should always test VCLZip completely in your application before deploying. *** New Zip*** capabilities, properties, methods and events: - Uncompressed, Compressed, and Archive file sizes can be up to 2^63-1 bytes in length. - You can compress up to 2147483***7 files into an archive. This is compatible with PKZip's Zip*** format. - If a file does not extend beyond any of the original limitations (filesizes of 4 gig or 65535 files) then no Zip*** format information is included in the archive. - property isZip*** - tells you when you are working with a zip file that is using Zip*** format. Much faster processing due to linking to Zlib object files for compression and decompression routines. Blocked Zip Files (spanned zip archives split onto hard drive) - Now completely compatible with PKZip and WinZip split archives file naming format. - For backwards compatability you can tell VCLZip to use the old VCLZip filenaming format by using the BlockMode property. - New method OnFileNameForSplitPart called just before each split filepart is created. VCLZip supplies a default implementation of this method so for most purposes you won't need your own. - method DefaultFileNameForSplitPart - VCLZip calls this internally if you don't define your own OnFileNameForSplitPart. You can also call it from your own OnFileNameForSplitPart if you wish to add some processing to the default behavior. - property BlockMode - determines whether VCLZip uses PKZip/WinZip standard naming convention or VCLZip classic method. - method DefaultGetNextDisk - VCLZip calls this internally if you don't define your own OnGetNextDisk. You can also call it from your own OnGetNextDisk event if you wish to add some processing to the default behavior. - Properties for controlling which files are zipped... - IncludeHiddenFiles - default False; - IncludeSysFiles: - default False; - IncludeReadOnlyFiles: - default True; - IncludeArchiveFiles: - default True; - Event OnGetNextStream - Allows you to zip from multiple streams when using the ZipFromStream method. This improves performance since repeated calls to ZipFromStream causes the archive to be updated on each subsequent call. - property ThisBuild - Tells you the current build. See also ThisVersion - property OnHandleMessage - Handles interactive messages with VCLZip. There is a default, so you don't need to define your own unless you wish to eliminate interactive messages and handle them on your own. This is helpful if you are using VCLZip as a service or on a webserver for instance. ******** Upgrading existing applications that use VCLZip 2.X ********** For the most part, existing applications will work as-is. Just install VCLZip 3.X and recompile your code. Here are some things to be aware of though... 1) If your app currently creates mmBlock archives (spanned directly to hard drive) and you define your own OnGetNextDisk in VCLZip 2.X, you should move your code from this event that handles mmBlock events to the new event OnFileNameForSplitPart. However, if you simply rely on VCLZip's default OnGetNextDisk then you don't have to worry about this. 2) If your app creates mmBlock archives, the default naming convention has changed to match the PKZip/WinZip standard. If you wish to keep the same naming convention then set BlockMode := mbClassic. 3) OnGetNextDisk and OnPrepareNextDisk events are called for the 1st disk now. VCLZip 2.X only calls these events starting with the 2nd disk. 4) properties CompressedSize[Index], UncompressedSize[Index], ZipSize are now Int*** types. 5) Delphi 4, Delphi 5, BCB 4, and BCB5 are all capable of using the Zip*** format. However they use the TkpHugeStream decendants which act just like TStreams except they handle files/stream sizes larger than 2gig. There is a TkpHugeFileStream and a TkpHugeMemoryStream which should handle 99% of all necessary actions. If you currently work with VCLZip 2.X with TBlobStreams or some other type of streams, you can either define your own TkpBlobStream for instance which inherits from TkpHugeStream, or use the TkpHugeStream.CopyFrom(TStream, Count) and the TkpHugeStream.GetStream: TStream methods to give VCLZip your stream and get it back. Ofcourse when using regular TStream decendants in D4,4,BCB4,and 5, you cannot create Zip*** archives. If you use Delphi 6, 7, or BCB 6, you don't have to worry about any of this as the normal TSTream is used by VCLZip and handles large file/stream sizes. ============ Version 2.23 (VCLZip Lite) Added the OEMConvert property. Filenames stored in a PKZip compatible archive normally go through an OEM conversion to make them ascii compatible. When opening the zip file the conversion is undone. If you do not plan on having other zip utilities opening up your archives this conversion process is not really necessary. Setting this property to False will eliminate this process. The default value for this property is True for normal PKZip compatability. Added OnEncrypt and OnDecrypt events. These allow you to replace the standard pkzip encryption with your own. Data is passed to these events a buffer at a time. Use this with care as this is still somewhat experimental and I'm not sure how useful it is yet. You must make all changes within the buffer sent in to you. Treat the entire file as a stream. Byte for byte replacement only. No additional keys can be saved. Added OnRecursingFile event. Sometimes when using wildcards and recursing directories, there was no reporting of progress. This will be fired each time a file matches as the file list is being built while recursing directories. Added the EncryptBeforeCompress boolean property. The default for this property is False and if left like this VCLZip will behave like normal. If set to True, VCLZip will encrypt each buffer prior to compressing it instead of afterwards. This will cause files to not be decryptable by normal zip utilities thereby adding a bit of extra security. Bugs Fixed: IMPORTANT!!! Behavior of freeing the ArchiveStream (compressed stream) has been modified. VCLZip will now no longer try to free ArchiveStream, you must free it yourself. This was due to a problem where it would be freed automatically if there was a problem with the ArchiveStream when trying to open it as a zip file (possibly corrupt). Best practice is that ArchiveStream should always point toward a TMemoryStream that you create anyway. Modified the SFX code (the code used to create the SFX stub distributed with VCLZip) so that it handles filenames that have been run through an OEM Conversion. The SFX was losing accented characters. This modification means that if you are creating zip files to be used as SFX's you will want to leave the OEMConvert property mentioned above, set to it's default value of True. Modified so that when cursor is changed to hourglass by VCLZip, previous cursor is saved correctly instead of just changing it back to default cursor. Now saves Central Directory Extra Fields correctly. Fixed the SFX code so that it works properly if you use Copy /B to concatenate a zip file to the stub. Due to a Delphi strange behavior sometimes path names for directory only entries would become corrupted. Removed reference to QConsts, replaced with RTLConsts. Sometimes a GPF would result if a corrupt zip file was opened. Using a wildcard in pathname added to FilesList did not work. Using '*.*' as a wildcard in files added to FilesList now is the same as using '*'. VCLZip will now check for CancelTheOperation during initial building of the fileslist instead of just during compression processing. Added a final call to OnTotalPercentDone with 100% because this didn't always happen. Attributes were not getting set correctly for directory-only entries. Fixed a problem that was not allowing ZipComment's to be added correctly to spanned or blocked zip files. Not the same fix as in 2.22. Directories (directory-only entries) were not being restored properly unless DoAll was True. You were unable to delete a directory from which files were recursively zipped until exiting your application. ============ Version 2.22 Now Delphi 6 compatible. New event called {link=93,OnRecursingFile} which gets called as VCLZip recurses directories searching for files that match a wildcard that is entered in the FilesList. This gets called each time a file matches the wildcard. Fixed a bug which kept diskettes from being labeled when creating spanned zip files on WIN31. Fixed a bug which sometimes did not allow zip comments to be added to blocked zip sets. Fixed a bug which caused VCLZip to not properly handle the IncompleteZip exception on spanned zip sets unless you called ReadZip prior to calling UnZip. Version 2.21 (Changes are shown in the build stages as they were implemented) Pre-Release Build 5: When working with temporary files, VCLZip will now rename, instead of copy, the temp file if the destination is on the same drive. This will speed up the adding of files to an existing zip file when the resulting zip file is very large. Pre-Release Build 4: New event called OnPrepareNextDisk which is an event that will allow you, when creating spanned zip files across diskettes, to do things like format a diskette that has just been inserted, or to add or delete files from the diskette before continuing with the zipping process. Fixed a problem that was causing the CancelTheOperation Method to not work properly. Pre-Release Build 3: Fixed bug which caused VCLZip to miscalculate space needed for zfc file if wildcards are put into the FilesList. Fixed bug so you could have FilePercentDone without needing TotalPercentDone when creating spanned zip files Fixed so relative_offset set correctly for spanned zips. Side effect of removing needless write of header. Added code to read local fileheaders if exception thrown when reading a central fileheader. Fixed problem where directories couldn't be created from directory entries because the fullpath wasn't known yet. Result of having moved this code to earlier. Fixed typo in creation of LOC header values which could cause error if reading local headers. Changed so Zip Comment starting position is calculated based on end of central record instead of end of file. Pre-Release Build 2: IMPORTANT: Changed default for FileOpenMode back to fmShareDenyNone as it had been for all but version 2.20. Fixed a problem where drivepart (i.e. C:\) was not being stripped when saving relative paths. Added a BufferedStreamSize property which can increase the speed of creating zips to floppy (and other slow media) dramatically. The new default for this should increase the speed by as much as 3 times, but you can now tweak this especially for your application! Added an ImproperZip property which gets set when VCLZip detects an inconsistency with the zip. This can be useful for detecting when VCLZip was able to open the zip in spite of an inconsistency found. There was no way to know this in the past. Fixed a problem where zip comments in zfc files were not being read correctly. Added a setZipSignatures procedure which allows you to modify the signatures of your zip file. This will cause other zip utilities to not be able to recognize or read your zip files created with VCLZip. Useful if you want to add further security to your zip files. Pre-Release Build 1: Some zip files would not open correctly, throwing an incomplete zip file exception due to an erroneous "extra field length" identifier in headers of some compressed files. These zip files are rare, but a very few people seemed to have several of them. This problem would not affect zip files created by VCLZip, and this problem should only occur in VCLZip 2.20, not in any previous version. If you had Range Checking turned on, VCLZip would get a range check error when using a wildcard that ended with a * as in 'somefile.*'. Under certain circumstances, drive information would not be stripped from path information if zipping recursively (including subdirectories) "Retrying" to zip a file that could not be opened using the OnSkippingFile event would not always work correctly. Creating spanned zip set to floppy should be faster now due to removing a needless header write to disk for each file. VCLZip would not compile correctly with MAKESMALL defined. Added code to make VCLZip work with BCB5. Haven't tested this yet though since I don't have BCB5 myself yet. Added readonly boolean ImproperZip property which will be set to True when some sort of problem is found when opening the zip file, even if recoverable. This property will be enhanced and refined in the future. If KeepZipOpen is set to True, when putting in the wrong disk in a spanned zip set, VCLZip would not always properly close the file on the old diskette before trying to open the file on the next diskette. Added ECantWriteUCF exception which will be thrown if VCLZip runs out of room to write the uncompressed file when unzipping. Timestamp was not being set properly when unzipping readonly files. Moved settin ... ...

近期下载者

相关文件


收藏者