Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | daniel-mar | 1 | |
2 | (******************************************************************) |
||
3 | (* SFX for DelZip v1.8 *) |
||
4 | (* ZipSFX *) |
||
5 | (* Copyright 1997, Carl Bunton Twojags@cris.com *) |
||
6 | (* *) |
||
7 | (* 1998-2001 maintained by Chris Vleghert *) |
||
8 | (* *) |
||
9 | (* 2002-? maintained again by Markus Stephany *) |
||
10 | (* mailto:delphizip@mirkes.de *) |
||
11 | (* http://delphizip.mirkes.de *) |
||
12 | (* *) |
||
13 | (* Credits: see CREDITS.TXT *) |
||
14 | (* *) |
||
15 | (* last changed: 09/19/2005 *) |
||
16 | (* *) |
||
17 | (* In memory of Chris Vleghert *) |
||
18 | (* *) |
||
19 | (* modified by Russell Peters, Roger Aelbrecht |
||
20 | This library is free software; you can redistribute it and/or |
||
21 | modify it under the terms of the GNU Lesser General Public |
||
22 | License as published by the Free Software Foundation; either |
||
23 | version 2.1 of the License, or (at your option) any later version. |
||
24 | |||
25 | This library is distributed in the hope that it will be useful, |
||
26 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
27 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||
28 | Lesser General Public License (licence.txt) for more details. |
||
29 | |||
30 | You should have received a copy of the GNU Lesser General Public |
||
31 | License along with this library; if not, write to the Free Software |
||
32 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||
33 | |||
34 | contact: problems AT delphizip DOT org |
||
35 | updates: http://www.delphizip.org |
||
36 | |||
37 | modified 22-Nov-2008 |
||
38 | ---------------------------------------------------------------------------*) |
||
39 | |||
40 | // Changes RCV: |
||
41 | // Jan. 10, 1999 Adapted for D4 beta v0.99f=now v1.60 |
||
42 | // Feb. 10, 1999 Changed the Initialization and Finalization sections |
||
43 | // to include file close and CRC table. |
||
44 | // ( The Crc table was not freed after an Halt. ) |
||
45 | // Jun. 15, 2000 Added code to Dialog.pas to free a pidl, bug found by |
||
46 | // Lucjan Lukasik |
||
47 | // Sep. 01, 2000 Added version Checked for Delphi 5 and BCB 4 and 5 |
||
48 | // Oct. 09, 2000 Added DirExists to the function FileExists because |
||
49 | // FindFirstFile does not work when there is no file on |
||
50 | // a drive (e.g. an empty 'A' drive) extract to that drive |
||
51 | // would not work, found by Clyde England clyde@conres.com.au |
||
52 | |||
53 | // changes mst: |
||
54 | // apr 2002 almost completely rewritten (or better re-cut'n'pasted...) |
||
55 | // - moved routines/types/variables to appropriate units |
||
56 | // - added progress bar, ability to (initially) hide the files listview |
||
57 | // - removed "new directory" handling (this is handled by newer windows' themselves) |
||
58 | // - added the ability to expand environment variables |
||
59 | // - uses a new sfxheader instead of the MPV header; it's now a pascal record |
||
60 | // - added the ability to interrupt extraction (by pressing the "X" in the caption bar) |
||
61 | // may 01, 2002 added the GetExeSize function from Angus Johnson's TZip-SFX to get rid of |
||
62 | // caring about the executable's size |
||
63 | // further changes: see history.txt in the ..\doc\ directory |
||
64 | |||
65 | { Notes: |
||
66 | |||
67 | the initial release of zipsfx comes from Carl Bunton (see above). |
||
68 | |||
69 | the first modifications came from Eric W. Engler, the author of the great freeware |
||
70 | delphi-vcl delzip that can handle zip-archives and -sfx's. (EEngler@zcsterling.com) |
||
71 | |||
72 | original zip-code comes from the infozip-group, they developped a free implementation |
||
73 | of the zip/unzip-code for unix and later for other platforms. |
||
74 | Info-Zip home page: |
||
75 | http://freesoftware.com/pub/infozip/Info-ZIP.html |
||
76 | |||
77 | regards, Markus Stephany |
||
78 | saarbrücken, saarland, germany, january 2004/september 2005 |
||
79 | |||
80 | please read SFXInterface.pas for further details. |
||
81 | |||
82 | |||
83 | } |
||
84 | |||
85 | (* the structure of a zipsfx-file : |
||
86 | |||
87 | - zipsfx-executable code (0-xxxxx) |
||
88 | - TSFXFileHeader record (see above) |
||
89 | - possibly one or more strings (depending on the headers' properties) (not #0 terminated) |
||
90 | Caption sfx dialog caption |
||
91 | Path sfx default extraction path |
||
92 | CmdLine command line to execute after extraction |
||
93 | RegFailPath default extract path if Path could not be read from registry |
||
94 | StartMsg startup message |
||
95 | |||
96 | NOTE: the complete header (including the strings) must be DWORD-aligned! |
||
97 | |||
98 | if not detached from the archive: |
||
99 | - the zip archive |
||
100 | |||
101 | if detached from the archive: |
||
102 | - TSFXDetachedHeader + filename + TSFXDetachedHeader |
||
103 | - centraldirectories[] + endofcentraldir of the zip archive |
||
104 | |||
105 | |||
106 | *) |
||
107 | |||
108 | program ZMSFXU19; |
||
109 | |||
110 | {$IFNDEF UNICODE} |
||
111 | Delphi 2009 or later needed |
||
112 | {$ENDIF} |
||
113 | |||
114 | {$R 'ZMSFXDLG19.res' 'ZMSFXDLG19.rc'} |
||
115 | {$R 'ZMSFXU19.res' 'ZMSFXU19.rc'} |
||
116 | |||
117 | uses |
||
118 | Windows, |
||
119 | ZMSFXDialogs19 in 'ZMSFXDialogs19.pas', |
||
120 | ZMSFXProcs19 in 'ZMSFXProcs19.pas', |
||
121 | ZMSFXInflate19 in 'ZMSFXInflate19.pas', |
||
122 | ZMSFXDefs19 in 'ZMSFXDefs19.pas', |
||
123 | ZMSFXInt19 in '..\ZMSFXInt19.pas', |
||
124 | ZMSFXStructs19 in 'ZMSFXStructs19.pas', |
||
125 | ZMSFXVars19 in 'ZMSFXVars19.pas', |
||
126 | ZMSFXStrings19 in 'ZMSFXStrings19.pas'; |
||
127 | |||
128 | begin |
||
129 | Run; |
||
130 | end. |