Subversion Repositories autosfx

Rev

Blame | Last modification | View Log | RSS feed

  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.
  155.