Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | daniel-mar | 1 | (******************************************************************) |
2 | (* SFX for DelZip v1.8 *) |
||
3 | (* Copyright 2002-2004, 2008 *) |
||
4 | (* *) |
||
5 | (* written by Markus Stephany *) |
||
6 | (* modified by Russell Peters, Roger Aelbrecht |
||
7 | Copyright (C) 2009, 2010 by Russell J. Peters, Roger Aelbrecht, |
||
8 | Eric W. Engler and Chris Vleghert. |
||
9 | |||
10 | This file is part of TZipMaster Version 1.9. |
||
11 | |||
12 | TZipMaster is free software: you can redistribute it and/or modify |
||
13 | it under the terms of the GNU Lesser General Public License as published by |
||
14 | the Free Software Foundation, either version 3 of the License, or |
||
15 | (at your option) any later version. |
||
16 | |||
17 | TZipMaster is distributed in the hope that it will be useful, |
||
18 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
19 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
20 | GNU Lesser General Public License for more details. |
||
21 | |||
22 | You should have received a copy of the GNU Lesser General Public License |
||
23 | along with TZipMaster. If not, see <http://www.gnu.org/licenses/>. |
||
24 | |||
25 | contact: problems@delphizip.org (include ZipMaster in the subject). |
||
26 | updates: http://www.delphizip.org |
||
27 | DelphiZip maillist subscribe at http://www.freelists.org/list/delphizip |
||
28 | |||
29 | modified 30-Jan-2008 |
||
30 | ---------------------------------------------------------------------------*) |
||
31 | unit ZMSFXVars19; |
||
32 | |||
33 | { |
||
34 | contains all global variables used |
||
35 | by delzip sfx. |
||
36 | |||
37 | } |
||
38 | |||
39 | interface |
||
40 | |||
41 | uses |
||
42 | Windows, ZMSFXDefs19, ZMSFXInt19, ZMSFXStructs19; |
||
43 | |||
44 | var |
||
45 | // the sfx file haeder read from InFile |
||
46 | VRec_SFXHeader: TSFXFileHeader; |
||
47 | |||
48 | { TSFXFileHeader strings } |
||
49 | // caption of the main dialog |
||
50 | VStr_SFX_Caption, |
||
51 | |||
52 | // message to show before opening the main dialog |
||
53 | VStr_SFX_StartMsg, |
||
54 | |||
55 | // command line read from the special header |
||
56 | VStr_SFX_CmdLine, |
||
57 | |||
58 | // default extract path used if reading path from registry failed |
||
59 | VStr_SFX_RegFailPath, |
||
60 | |||
61 | // the default-directory stored in the special header |
||
62 | VStr_SFX_Path: string; |
||
63 | |||
64 | // may 08, 2002: paramstr(0) replacement |
||
65 | VStr_ExeName: string; |
||
66 | |||
67 | {zip processing stuff } |
||
68 | // crc32 table for unzipping |
||
69 | VArr_CRC32Table: TCRC32Table; |
||
70 | |||
71 | // Running CRC (32 bit) value |
||
72 | VDW_CRC32Val: Cardinal; |
||
73 | |||
74 | // encryption key |
||
75 | VArr_CryptKey: array[0..2] of longint; |
||
76 | |||
77 | // archived file packed size |
||
78 | VInt_BytesToGo: Int64;//longint; |
||
79 | |||
80 | // protect from bombs |
||
81 | VInt_MaxWrite: Int64; |
||
82 | |||
83 | // input file (i myself) |
||
84 | VH_InFile: THandle = INVALID_HANDLE_VALUE; |
||
85 | |||
86 | // file to be written |
||
87 | VH_OutFile: THandle = INVALID_HANDLE_VALUE; |
||
88 | |||
89 | // central zip file header |
||
90 | VRec_ZipHeader: TZ64CentralEntry; |
||
91 | |||
92 | // file being extracted |
||
93 | VStr_CurrentFile: string; |
||
94 | |||
95 | // handle of the main window |
||
96 | VH_MainWnd: hWnd; |
||
97 | |||
98 | // password from input box |
||
99 | VStr_Password: AnsiString = ''; |
||
100 | |||
101 | // actual extract path |
||
102 | VStr_ExtractPath: string = ''; |
||
103 | |||
104 | // current file position |
||
105 | VDW_CurrentFilePos: Int64;//Cardinal; |
||
106 | |||
107 | // position of the TSFXFileHeader/ start of zip archive in the file |
||
108 | VInt_FileBegin: {Int64;//}longint; |
||
109 | |||
110 | // cancelled by user (WM_CLOSE during Extract) |
||
111 | VBool_Cancelled: boolean; |
||
112 | |||
113 | // possibly moved offset is stored here (wrong sfx creation) |
||
114 | VDW_OffsetDelta: Int64;//cardinal; |
||
115 | |||
116 | // shell image list handle |
||
117 | VH_ShellImageList: THandle; |
||
118 | |||
119 | // check volatile extract directory deletion |
||
120 | VBool_CheckDeleteVolatilePath: Boolean = False; |
||
121 | VStr_VolatilePath: string; |
||
122 | VStr_VolatilePath_Unexpanded: string; |
||
123 | |||
124 | // currently open file |
||
125 | VStr_OutFile: string=''; |
||
126 | |||
127 | // detached archive support |
||
128 | VH_TempFile: THandle = INVALID_HANDLE_VALUE; // temp file for spanning archive data |
||
129 | VStr_TempFile: string = ''; // dito |
||
130 | VInt_SpanType: integer = 0; // 0: not spanned, 1 (SFXSpanTypeSpanned): disk spanning, 2 (SFXSpanTypeMultiVol): multiple archives in one directory (xyz001.zip, xyz002.zip ...) |
||
131 | VStr_DetachName: string; // name of the detached archive the sfx belongs to |
||
132 | VStr_DetachExt: string; // file ext of the detached archive the sfx belongs to |
||
133 | VBool_FixedDrive: boolean; // is drive fixed or removable |
||
134 | VStr_SourceDir: string; // source directory of the spanned archives |
||
135 | |||
136 | // multi-language support |
||
137 | // VRec_Strings: PWord = nil; // pointer to table of strings |
||
138 | VP_SBuf: pByte = nil; |
||
139 | // VRec_SHeader: TSFXStringsHeader; |
||
140 | // VInt_LangOfs: longint = 0; // offset of Langs header |
||
141 | // VP_Langs: PSFXStringsHeader = nil; // pointer to available languages |
||
142 | VInt_CP: Integer = 0; // selected codepage |
||
143 | VInt_CurLang: integer = 0; // selected language entry |
||
144 | // VRec_Langs: PSFXStringsEntry = nil; // pointer to available languages |
||
145 | // VStr_Lang: string = ''; // the selected langauge |
||
146 | // VInt_CmdLineSize: integer = 0; |
||
147 | {$ifdef DEBUG_SFX} |
||
148 | Test_Stub_Size: Integer = 0; |
||
149 | {$ENDIF} |
||
150 | VInt_LastSeq: Integer = -1; |
||
151 | |||
152 | implementation |
||
153 | |||
154 | end. |