home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 September / Chip_2002-09_cd1.bin / zkuste / vbasic / Data / Utils / XZipComp.exe / XceedZip.Cab / F112484_XceedTools.bas < prev    next >
Encoding:
BASIC Source File  |  1999-11-10  |  17.4 KB  |  262 lines

  1. Attribute VB_Name = "XceedTools"
  2. '==================================================================
  3. ' Description: Module for Getting Started Sample Application
  4. ' Languages:   Visual Basic 5 and 6
  5. ' Copyright:   Copyright ⌐ 1995-1999 Xceed Software Inc.
  6. '              All Rights Reserved.
  7. '==================================================================
  8.  
  9. Option Explicit
  10.  
  11.  
  12. '------------------------------------------------------------------------------------
  13. ' Public constants
  14. '------------------------------------------------------------------------------------
  15.     
  16.     Public Const cBasePathHint = "BasePath property:" & vbCrLf & _
  17.                                  "This path determines where entries in the FilesToProcess and FilesToExclude " & _
  18.                                  "properties are relative to. The base path never appears in the zip file, " & _
  19.                                  "even if PreservePaths = True. Only the portion of the path and filename specified " & _
  20.                                  "in the FilesToProcess property is actually stored in the zip file. Therefore, " & _
  21.                                  "BasePath helps you control what portions of paths are stored in the zip file. " & _
  22.                                  "(The BasePath property is irrelevant when you are using absolute paths)"
  23.                           
  24.     Public Const cFilesToProcessHint = "FilesToProcess property:" & vbCrLf & _
  25.                                 "Multiline string that contains all the filenames and/or file masks " & _
  26.                                 "to be processed (zipped, unzipped, etc). If you entered a path in the " & _
  27.                                 "BasePath property, all entries with relative paths will be relative to " & _
  28.                                 "the specified base path. The pipe character '|' can be used instead of the linefeed " & _
  29.                                 "to separate entries for the FilesToProcess property."
  30.     
  31.     Public Const cFilesToExcludeHint = "FilesToExclude property:" & vbCrLf & _
  32.                                 "Multiline string that contains all filenames and/or file masks " & _
  33.                                 "to exclude from the files to be processed by the FilesToProcess " & _
  34.                                 "property. These entries are also relative to the path specified in the " & _
  35.                                 "BasePath property if its not empty."
  36.                                 
  37.     Public Const cProcessSubfolderHint = "ProcessSubFolders property:" & vbCrLf & _
  38.                                   "If set to True, the contents of all encoutered subfolders will be " & _
  39.                                   "processed."
  40.     
  41.     Public Const cZipFilenameHint = "ZipFilename property:" & vbCrLf & _
  42.                              "The filename of the zip file to work with. When unzipping, this file must " & _
  43.                              "exist. When zipping, if the file exists, it's updated. Otherwise, it is " & _
  44.                              "created. You must enter an absolute path for this property. The BasePath " & _
  45.                              "property does not interfere with the ZipFilename property."
  46.  
  47.     Public Const cPreservePathsHint = "PreservePaths property:" & vbCrLf & _
  48.                                "If set to True, the zip file will store both the path and the filename " & _
  49.                                "of each file that is being zipped. As usual, the portion of a file's path that " & _
  50.                                "is specified in the BasePath property will not be stored in the zip file. " & _
  51.                                "When PreservePaths is set to False, only filenames (no paths) are stored."
  52.                                
  53.     Public Const cUseTempFileHint = "UseTempFile property:" & vbCrLf & _
  54.                              "If set to true, all zipping operations will be performed on a temp file " & _
  55.                              "located in the folder specified in the TempFolder property. Otherwise, the " & _
  56.                              "operation is performed directly on the zip file without using a temp file. " & _
  57.                              "You cannot remove files from an existing zip file, or update files already " & _
  58.                              "in an existing zip files without setting this property to True."
  59.                              
  60.     Public Const cTempFolderHint = "TempFolder property:" & vbCrLf & _
  61.                                    "Location of the temp file when the UseTempFile property is set to True. " & _
  62.                                    "When you leave this property empty, the Windows default temp directory " & _
  63.                                    "is used."
  64.                             
  65.     Public Const cRequiredFileAttributesHint = "RequiredFileAttributes property:" & vbCrLf & _
  66.                                                "Bit-field value that specifies all attributes that a file must " & _
  67.                                                "have in order to be included in the process."
  68.                                         
  69.     Public Const cExcludedFileAttributesHint = "ExcludedFileAttributes property:" & vbCrLf & _
  70.                                                "Bit-field value that specifies all attributes that a file must " & _
  71.                                                "NOT have in order to be included in the process."
  72.                                         
  73.     Public Const cMinDateToProcessHint = "MinDateToProcess property:" & vbCrLf & _
  74.                                          "Minimum value of a file's 'Last modifed date' required in order to be " & _
  75.                                          "included in the process."
  76.     
  77.     Public Const cMaxDateToProcessHint = "MaxDateToProcess property:" & vbCrLf & _
  78.                                          "Maximum value of a file's 'Last modifed date' required in order to be " & _
  79.                                          "included in the process."
  80.                                   
  81.     Public Const cMinSizeToProcessHint = "MinSizeToProcess property:" & vbCrLf & _
  82.                                          "Minimum file size that a file must have in order to be " & _
  83.                                          "included in the process."
  84.     
  85.     Public Const cMaxSizeToProcessHint = "MaxSizeToProcess property:" & vbCrLf & _
  86.                                          "Maximum file size that a file must have in order to be " & _
  87.                                          "included in the process."
  88.     
  89.     Public Const cUnzipToFolderHint = "UnzipToFolder property:" & vbCrLf & _
  90.                                       "Destination folder for files being unzipped. In this sample, the PreservePaths " & _
  91.                                       "property is set to True, so if files are stored in the zip file with paths, " & _
  92.                                       "those stored paths will be recreated inside the destination folder specified " & _
  93.                                       "by the UnzipToFolder property."
  94.     
  95.     Public Const cSkipIfExistingHint = "SkipIfExisting property:" & vbCrLf & _
  96.                                        "If the destination file (located in a zip file that is being updated, or " & _
  97.                                        "on disk when a zip file is being unzipped) already exists, and this " & _
  98.                                        "property is set to True, then the file won't be overwritten. This has the " & _
  99.                                        "effect of only processing files that don't exist in the destination zip file or " & _
  100.                                        "unzipping folder."
  101.                                 
  102.     Public Const cSkipIfNotExistingHint = "SkipIfNotExisting property:" & vbCrLf & _
  103.                                        "Setting this property to True will cause only files that don't already " & _
  104.                                        "exist in the destination unzipping location (when unzipping) or the zip file " & _
  105.                                        "(when zipping) to be skipped."
  106.                                    
  107.     Public Const cSkipIfOlderDateHint = "SkipIfOlderDate:" & vbCrLf & _
  108.                                         "When updating a file (in a zip file while zipping, or on disk while unzipping)" & _
  109.                                         ", the file is skipped if the existing file's 'Last modified date' is greater " & _
  110.                                         "than the file being zipped or unzipped."
  111.                                  
  112.     Public Const cSkipIfOlderVersionHint = "SkipIfOlderVersion property:" & vbCrLf & _
  113.                                            "When updating a file (in a zip while zipping, or on disk while unzipping)" & _
  114.                                            ", the file is skipped if the existing file's version resource value is " & _
  115.                                            "greater than the file being zipped or unzipped."
  116.                                     
  117.     Public Const cZipFilenameSfxHint = "ZipFilename property:" & vbCrLf & _
  118.                                        "The filename of the zip file to work on. When creating or updating self-extracting " & _
  119.                                        "zip files, you should enter an executable filename (use a .EXE extension)"
  120.                                 
  121.     Public Const cSfxBinaryModuleHint = "SfxBinaryModule property:" & vbCrLf & _
  122.                                         "This binary file will be prepended to the zip file, with configuration data " & _
  123.                                         "if the binary is one of the Xceed Self-Extractor Module binaries. If you " & _
  124.                                         "leave this field empty, a regular (non-sfx) zip file will be created."
  125.                                  
  126.     Public Const cSfxStringsHint = "SfxStrings property:" & vbCrLf & _
  127.                                    "This array contains all the strings displayed by the Xceed Self-Extractor Module " & _
  128.                                    "binaries. For example, the 'xssTitle' index contains the title displayed by " & _
  129.                                    "all dialog boxes."
  130.                             
  131.     Public Const cSfxMessagesHint = "SfxMessages property:" & vbCrLf & _
  132.                                     "This array contains all messages displayed by the Xceed Self-Extractor Module " & _
  133.                                     "binaries. These messages often appear in their own dialog boxes. If a particular " & _
  134.                                     "message is left empty, the dialog box won't be displayed. As an example, " & _
  135.                                     "leaving this field empty will avoid displaying an introduction message dialog."
  136.                              
  137.     Public Const cPreviewFilesHint = "PreviewFiles method:" & vbCrLf & _
  138.                                      "Lets you scan the disk for files that would be zipped with the current " & _
  139.                                      "property settings. A PreviewingFile event is triggered for each file that " & _
  140.                                      "matches an entry in the FilesToProcess property. Set this method's " & _
  141.                                      "parameter to True to have the library calculate the compressed size of " & _
  142.                                      "the previewed files."
  143.     
  144.     Public Const cListZipContentsHint = "ListZipContents method:" & vbCrLf & _
  145.                                         "Lets you view the zip file's contents. Due to the fact that the FilesToProcess " & _
  146.                                         "property and the other filtering properties affect the ListZipContents method, " & _
  147.                                         "you can use it to preview which files would be unzipped by the Unzip method " & _
  148.                                         "if it were called with the current property settings. A ListingFile event is " & _
  149.                                         "triggered for each file in the zip file that is listed."
  150.                                 
  151.     Public Const cZipHint = "Zip method:" & vbCrLf & _
  152.                             "Lets you zip files. Only files that match all the entries in the FilesToProcess and " & _
  153.                             "filtering properties will be processed. For each file that matches the FilesToProcess " & _
  154.                             "property, the ZipPreprocessingFile event is triggered. That event provides you with " & _
  155.                             "the chance to change the inclusion state of a file, or to change its information " & _
  156.                             "before it is stored in the zip file."
  157.     
  158.     Public Const cUnzipHint = "Unzip method:" & vbCrLf & _
  159.                             "Lets you unzip files. Only files that match all the entries in the FilesToProcess and " & _
  160.                             "filtering properties will be processed. For each file that matches the FilesToProcess " & _
  161.                             "property, the UnzipPreprocessingFile event is triggered. That event provides you with " & _
  162.                             "the chance to change the inclusion state of a file, or to change its information " & _
  163.                             "before it is written to the destination unzipping folder."
  164.  
  165.     Public Const cZipSfxHint = "Zip method with self-extracting zip files:" & vbCrLf & _
  166.                                "It's just like creating a regular (non-sfx) zip file, but if you enter a value for " & _
  167.                                "the SfxBinaryModule property, the binary (or any file for that matter) is " & _
  168.                                "prepended to the zip file. The zip file is now self-extracting because " & _
  169.                                "the binary knows how to unzip the rest of the data after itself. Furthermore, if " & _
  170.                                "the library recognises an Xceed binary, it will add config data to the binary so that the " & _
  171.                                "self-extracting zip file can display intro messages and have custom behavior."
  172.  
  173.  
  174. '------------------------------------------------------------------------------------
  175. ' Fills a listbox with possible file attributes
  176. '------------------------------------------------------------------------------------
  177. Public Sub FillAttributeList(lstAttrib As ListBox)
  178.     lstAttrib.Clear
  179.     
  180.     lstAttrib.AddItem "Archive"
  181.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaArchive
  182.     
  183.     lstAttrib.AddItem "Read-Only"
  184.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaReadOnly
  185.     
  186.     lstAttrib.AddItem "Hidden"
  187.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaHidden
  188.     
  189.     lstAttrib.AddItem "System"
  190.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaSystem
  191.     
  192.     lstAttrib.AddItem "Folder"
  193.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaFolder
  194.     
  195.     lstAttrib.AddItem "Volume"
  196.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaVolume
  197.     
  198.     lstAttrib.AddItem "Compressed"
  199.     lstAttrib.ItemData(lstAttrib.ListCount - 1) = xfaCompressed
  200. End Sub
  201.  
  202. '------------------------------------------------------------------------------------
  203. ' This function returns a Long value representing the file attributes checked in
  204. ' a listbox.
  205. '------------------------------------------------------------------------------------
  206. Public Function GetSelectedAttributes(lstAttrib As ListBox) As Long
  207.     Dim lAttrib As Long
  208.     Dim i As Integer
  209.     
  210.     lAttrib = xfaNone
  211.     
  212.     For i = 0 To lstAttrib.ListCount - 1
  213.         If lstAttrib.Selected(i) Then
  214.             lAttrib = lAttrib + lstAttrib.ItemData(i)
  215.         End If
  216.     Next i
  217.     
  218.     GetSelectedAttributes = lAttrib
  219. End Function
  220.  
  221. '------------------------------------------------------------------------------------
  222. ' Initializes a listbox by checking the attributes corresponding to the given
  223. ' attribute mask.
  224. '------------------------------------------------------------------------------------
  225. Public Sub SetSelectedAttributes(lstAttrib As ListBox, xAttrib As xcdFileAttributes)
  226.     Dim i As Integer
  227.     
  228.     For i = 0 To lstAttrib.ListCount - 1
  229.         lstAttrib.Selected(i) = ((lstAttrib.ItemData(i) And xAttrib) > 0)
  230.     Next i
  231. End Sub
  232.  
  233. '------------------------------------------------------------------------------------
  234. ' Sets XceedZip instance with default property values.
  235. '------------------------------------------------------------------------------------
  236. Public Sub SetDefaultProperties(xZip As XceedZip)
  237.   xZip.BasePath = ""
  238.   xZip.CompressionLevel = xclHigh
  239.   xZip.EncryptionPassword = ""
  240.   xZip.RequiredFileAttributes = xfaNone
  241.   xZip.ExcludedFileAttributes = xfaFolder + xfaVolume
  242.   xZip.FilesToProcess = ""
  243.   xZip.FilesToExclude = ""
  244.   xZip.MinDateToProcess = DateSerial(1900, 1, 1)
  245.   xZip.MaxDateToProcess = DateSerial(9999, 12, 31)
  246.   xZip.MinSizeToProcess = 0
  247.   xZip.MaxSizeToProcess = 0      ' Zero means no upper limit
  248.   xZip.SplitSize = 0             ' Zero means no split
  249.   xZip.PreservePaths = True
  250.   xZip.ProcessSubfolders = False
  251.   xZip.SkipIfExisting = False
  252.   xZip.SkipIfNotExisting = False
  253.   xZip.SkipIfOlderDate = False
  254.   xZip.SkipIfOlderVersion = False
  255.   xZip.TempFolder = ""            'Empty means default Windows temp folder
  256.   xZip.UseTempFile = True
  257.   xZip.UnzipToFolder = ""
  258.   xZip.ZipFilename = ""
  259.   xZip.SpanMultipleDisks = xdsRemovableDrivesOnly
  260.   xZip.ExtraHeaders = xehNone
  261. End Sub
  262.