349 lines
11 KiB
Plaintext
349 lines
11 KiB
Plaintext
-- notes ---------------------------------------------------------------------
|
|
|
|
the units included in this archive should work with delphi 5 through delphi
|
|
xe2 for win32.
|
|
|
|
the units included in this archive with the exception of zlibexgz should
|
|
work with delphi xe2 for win64.
|
|
|
|
please contact me if you find any errors, make any changes, add new
|
|
functionality, or have any general suggestions so that i may incorporate
|
|
them into my version. i can be reached via my website at
|
|
|
|
http://www.base2ti.com
|
|
|
|
thanks.
|
|
brent sherwood
|
|
|
|
-- disclaimer ----------------------------------------------------------------
|
|
|
|
this software is provided "as-is", without any express or implied warranty.
|
|
in no event will the authors be held liable for any damages arising from the
|
|
use of this software.
|
|
|
|
permission is granted to anyone to use this software for any purpose,
|
|
including commercial applications. please do not misrepresent the origin of
|
|
this software. if you use this software in a product, an acknowledgment in
|
|
the product documentation (readme, about box, help file, etc.) would be
|
|
appreciated but is not required.
|
|
|
|
-- installation --------------------------------------------------------------
|
|
|
|
first, copy all of the files into a folder (for example, c:\delphi\zlib).
|
|
next, include the folder in the library path in the environment options.
|
|
finally, "use" the zlibex and zlibexgz units as needed.
|
|
|
|
-- history -------------------------------------------------------------------
|
|
|
|
2012.05.23 zlibexgz.pas
|
|
updated for delphi xe2
|
|
added overloaded GZCompressFile
|
|
|
|
2012.05.21 zlibex.pas
|
|
updated for win64 (delphi xe2)
|
|
added NativeInt type for delphi 2007-
|
|
added NativeUInt type for delphi 2007-
|
|
|
|
zlibexapi.pas
|
|
updated for win64 (delphi xe2)
|
|
moved win32 obj files to win32 subfolder
|
|
changed win32 obj options to exclude the underscore
|
|
|
|
2012.05.07 zlibexapi.pas
|
|
updated to zlib version 1.2.7
|
|
|
|
2012.05.01 zlibex.inc
|
|
updated for delphi xe2 (2012)
|
|
|
|
2012.03.05 zliexapi.pas
|
|
udpated to zlib version 1.2.6
|
|
|
|
2011.07.21 zlibex.pas
|
|
fixed routines to validate size before calling Move
|
|
|
|
zlibexgz.pas
|
|
fixed routines to validate size before calling Move
|
|
|
|
2010.07.01 zlibex.pas
|
|
hide overloaded Z*String* routines for delphi 5
|
|
|
|
2010.05.02 zlibex.pas
|
|
added ZDeflateEx and ZInflateEx
|
|
|
|
2010.04.20 zlibex.pas
|
|
added TZ*Buffer classes
|
|
|
|
zlibexapi.pas
|
|
updated to zlib version 1.2.5
|
|
|
|
2010.04.15 zlibex.pas
|
|
moved core zlib routines to separate unit (ZLibExApi.pas)
|
|
|
|
zlibexapi.pas
|
|
updated to zlib version 1.2.4
|
|
|
|
2010.01.27 zlibex.pas
|
|
updated for delphi 2010
|
|
|
|
zlibexgz.pas
|
|
updated for delphi 2010
|
|
|
|
zlibex.inc
|
|
updated for delphi 2010
|
|
|
|
2009.04.14 zlibex.pas
|
|
added overloaded string routines for AnsiString and
|
|
UnicodeString
|
|
|
|
zlibexgz.pas
|
|
added overloaded string routines for AnsiString and
|
|
UnicodeString
|
|
removed deprecated Z*G routines
|
|
|
|
2009.04.11 zlibex.inc
|
|
updated to use CONDITIONALEXPRESSIONS and CompilerVersion
|
|
|
|
2009.01.28 zlibex.pas
|
|
updated for delphi 2009 String (UnicodeString)
|
|
|
|
zlibexgz.pas
|
|
updated for delphi 2009 String (UnicodeString)
|
|
|
|
zlibex.inc
|
|
updated for delphi 2009
|
|
|
|
2008.05.15 zlibex.pas
|
|
added TStreamPos type Stream.Position variants
|
|
added TCustomZStream.Stream* methods
|
|
|
|
zlibexgz.pas
|
|
added TGZCompressionStream and TGZDecompressionStream
|
|
|
|
2007.11.06 zlibexgz.pas
|
|
changed TGZTrailer.Crc from Cardinal to Longint
|
|
|
|
2007.10.01 zlibexgz.pas
|
|
added GZDecompressStreamSize
|
|
fixed GZDecompressStream position handling
|
|
|
|
zlibex.inc
|
|
updated for delphi 2007
|
|
|
|
2007.08.17 zlibex.pas
|
|
modified TZCompressionStream.Write to use Write instead of
|
|
WriteBuffer
|
|
|
|
2007.07.18 zlibexgz.pas
|
|
fixed GZCompressStr filename and comment processing
|
|
|
|
2007.03.18 zlibexgz.pas
|
|
modified naming convention for gzip routines GZ*
|
|
deprecated previous gzip routines Z*G
|
|
|
|
2007.03.15 zlibex.pas
|
|
moved gzip routines to separate unit - zlibexgz.pas
|
|
|
|
zlibexgz.pas
|
|
added ZDecompressStreamG
|
|
added overloaded ZCompressStrG
|
|
added overloaded ZCompressStreamG
|
|
|
|
2007.02.24 zlibex.pas
|
|
added PWord declaration for delphi 5-
|
|
|
|
2006.10.07 zlibex.pas
|
|
fixed EZLibError constructor for c++ builder compatibility
|
|
|
|
2006.08.10 zlibex.pas
|
|
added ZDecompressStrG (simple gzip format)
|
|
|
|
2006.06.02 zlibex.pas
|
|
added DateTimeToUnix for delphi 5-
|
|
|
|
2006.03.28 zlibex.pas
|
|
moved Z_DEFLATED to interface section
|
|
added custom compression levels zcLevel1 thru zcLevel9
|
|
|
|
2006.03.27 zlibex.pas
|
|
added ZCompressStreamWeb
|
|
added ZCompressStreamG (simple gzip format)
|
|
|
|
2006.03.24 zlibex.pas
|
|
added ZCompressStrG (simple gzip format)
|
|
added ZAdler32 and ZCrc32
|
|
|
|
2005.11.29 zlibex.pas
|
|
changed FStreamPos to Int64 for delphi 6+
|
|
|
|
2005.07.25 zlibex.pas
|
|
updated to zlib version 1.2.3
|
|
|
|
2005.03.04 zlibex.pas
|
|
modified ZInternalCompressStream loops
|
|
modified ZInternalDecompressStream loops
|
|
|
|
2005.02.07 zlibex.pas
|
|
fixed ZInternalCompressStream loop conditions
|
|
fixed ZInternalDecompressStream loop conditions
|
|
|
|
2005.01.11 zlibex.pas
|
|
updated to zlib version 1.2.2
|
|
added ZCompressStrWeb
|
|
|
|
2004.01.06 zlibex.pas
|
|
updated to zlib version 1.2.1
|
|
|
|
2003.04.14 zlibex.pas
|
|
added ZCompress2 and ZDecompress2
|
|
added ZCompressStr2 and ZDecompressStr2
|
|
added ZCompressStream2 and ZDecompressStream2
|
|
added overloaded T*Stream constructors to support InflateInit2
|
|
and DeflateInit2
|
|
fixed ZDecompressStream to use ZDecompressCheck instead of
|
|
ZCompressCheck
|
|
|
|
2002.03.15 zlibex.pas
|
|
updated to zlib version 1.1.4
|
|
|
|
2001.11.27 zlibex.pas
|
|
enhanced TZDecompressionStream.Read to adjust source stream
|
|
position upon end of compression data
|
|
fixed endless loop in TZDecompressionStream.Read when
|
|
destination count was greater than uncompressed data
|
|
|
|
2001.10.26 zlibex.pas
|
|
renamed unit to integrate "nicely" with delphi 6
|
|
|
|
2000.11.24 zlib.pas
|
|
added soFromEnd condition to TZDecompressionStream.Seek
|
|
added ZCompressStream and ZDecompressStream
|
|
|
|
2000.06.13 zlib.pas
|
|
optimized, fixed, rewrote, and enhanced the zlib.pas unit
|
|
included on the delphi cd (zlib version 1.1.3)
|
|
|
|
-- acknowledgments -----------------------------------------------------------
|
|
|
|
erik turner - thanks for the enhancements and recommendations.
|
|
specifically, the ZCompressionStream and ZDecompressionStream routines.
|
|
my apologies for the delay in getting these in here.
|
|
|
|
david bennion - thanks for finding that nasty little endless loop quirk
|
|
with the TZDecompressionStream.Read method.
|
|
|
|
burak kalayci - thanks for emailing to inform me about the zlib 1.1.4
|
|
update; and again for emailing about 1.2.1.
|
|
|
|
vicente sánchez-alarcos - thanks for emailing to inform me about the zlib
|
|
1.2.2 update.
|
|
|
|
luigi sandon - thanks for pointing out the missing loop condition
|
|
(Z_STREAM_END) in ZInternalCompressStream and ZInternalDecompressStream.
|
|
|
|
ferry van genderen - thanks for assisting me fine tune and beta test the
|
|
ZInternalCompressStream and ZInternalDecompressStream routines.
|
|
|
|
mathijs van veluw - thanks for emailing to inform me about the zlib 1.2.3
|
|
update.
|
|
|
|
j. rathlev - thanks for pointing out the FStreamPos and TStream.Position
|
|
type inconsistency.
|
|
|
|
ralf wenske - thanks for prototyping and assisting with ZCompressStrG and
|
|
ZCompressStreamG.
|
|
|
|
roman krupicka - thanks for pointing out the DateUtils unit and the
|
|
DateTimeToUnix function wasn't available prior to delphi 6.
|
|
|
|
anders johansen - thanks for pointing out the ELibError constructor
|
|
incompatibility with c++ builder.
|
|
|
|
marcin treffler - thanks for pointing out the missing PWord declaration for
|
|
delphi 5.
|
|
|
|
jean-jacques esquirol - thanks for pointing out the "result" address issue
|
|
when processing filename and comment flags/content in GZCompressStr; and
|
|
for pointing out the type differences with TGZTrailer.Crc (Cardinal) and
|
|
ZCrc32 (Longint).
|
|
|
|
graham wideman - thanks for beta testing GZDecompressStreamSize and pointing
|
|
out the position handling issue in GZDecompressStream.
|
|
|
|
marcin szafrański - thanks for beta testing the delphi 2009 changes.
|
|
|
|
iztok kacin - thanks for the CONDITIONALEXPRESSIONS, CompilerVersion
|
|
changes, and assisting me design and further improve support for delphi
|
|
2009.
|
|
|
|
oleg matrozov - thanks for pointing out the missing loop condition
|
|
(avail_in > 0) in ZInternalCompress and ZInternalDecompress; and for
|
|
prototyping and assisting with the TZ*Buffer classes.
|
|
|
|
edward koo - thanks for pointing out the delphi 5 incompatibility with the
|
|
overloaded Z*String* routines.
|
|
|
|
farshad mohajeri - thank for the paypal donation
|
|
|
|
egron elbra - thanks for pointing out the range exception when moving empty
|
|
strings
|
|
|
|
tommi prami - thanks for emailing to inform me about the zlib 1.2.6 udpate
|
|
|
|
marian pascalau - thanks for providing the win64 obj files and your win64
|
|
modifications
|
|
|
|
-- contents ------------------------------------------------------------------
|
|
|
|
delphi files
|
|
|
|
zlibex.inc
|
|
zlibex.pas
|
|
zlibexapi.pas
|
|
zlibexgz.pas
|
|
|
|
objects files used by zlibex.pas
|
|
|
|
win32\adler32.obj
|
|
win32\compress.obj
|
|
win32\crc32.obj
|
|
win32\deflate.obj
|
|
win32\infback.obj
|
|
win32\inffast.obj
|
|
win32\inflate.obj
|
|
win32\inftrees.obj
|
|
win32\trees.obj
|
|
|
|
win64\adler32.obj
|
|
win64\compress.obj
|
|
win64\crc32.obj
|
|
win64\deflate.obj
|
|
win64\infback.obj
|
|
win64\inffast.obj
|
|
win64\inflate.obj
|
|
win64\inftrees.obj
|
|
win64\trees.obj
|
|
|
|
zlib 1.2.7 source files (http://www.zlib.net)
|
|
|
|
zlib\adler32.c
|
|
zlib\compress.c
|
|
zlib\crc32.c
|
|
zlib\deflate.c
|
|
zlib\infback.c
|
|
zlib\inffast.c
|
|
zlib\inflate.c
|
|
zlib\inftrees.c
|
|
zlib\trees.c
|
|
zlib\zutil.c
|
|
zlib\crc32.h
|
|
zlib\deflate.h
|
|
zlib\inffast.h
|
|
zlib\inffixed.h
|
|
zlib\inflate.h
|
|
zlib\inftrees.h
|
|
zlib\trees.h
|
|
zlib\zconf.h
|
|
zlib\zlib.h
|
|
zlib\zutil.h
|
|
|