home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Find_That_204628242007.psc / FindThatProject / CGUnzipFiles.cls next >
Text File  |  2007-02-03  |  7KB  |  238 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "CGUnzipFiles"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. '
  16. ' UnZip Class
  17. Public Enum ZMessageLevel
  18.     All = 0
  19.     Less = 1
  20.     NoMessages = 2
  21. End Enum
  22. Public Enum ZExtractType
  23.     Extract = 0
  24.     ListContents = 1
  25. End Enum
  26. Public Enum ZPrivilege
  27.     Ignore = 0
  28.     ACL = 1
  29.     Privileges = 2
  30. End Enum
  31.  
  32. Private miExtractNewer     As Integer  ' 1 = Extract Only Newer, Else 0
  33. Private miSpaceUnderScore  As Integer  ' 1 = Convert Space To Underscore, Else 0
  34. Private miPromptOverwrite  As Integer  ' 1 = Prompt To Overwrite Required, Else 0
  35. Private miQuiet            As ZMessageLevel  ' 2 = No Messages, 1 = Less, 0 = All
  36. Private miWriteStdOut      As Integer  ' 1 = Write To Stdout, Else 0
  37. Private miTestZip          As Integer  ' 1 = Test Zip File, Else 0
  38. Private miExtractList      As ZExtractType  ' 0 = Extract, 1 = List Contents
  39. Private miExtractOnlyNewer As Integer  ' 1 = Extract Only Newer, Else 0
  40. Private miDisplayComment   As Integer  ' 1 = Display Zip File Comment, Else 0
  41. Private miHonorDirectories As Integer  ' 1 = Honor Directories, Else 0
  42. Private miOverWriteFiles   As Integer  ' 1 = Overwrite Files, Else 0
  43. Private miConvertCR_CRLF   As Integer  ' 1 = Convert CR To CRLF, Else 0
  44. Private miVerbose          As Integer  ' 1 = Zip Info Verbose
  45. Private miCaseSensitivity  As Integer  ' 1 = Case Insensitivity, 0 = Case Sensitivity
  46. Private miPrivilege        As ZPrivilege  ' 1 = ACL, 2 = Privileges, Else 0
  47. Private msZipFileName      As String   ' The Zip File Name
  48. Private msExtractDir       As String   ' Extraction Directory, Null If Current Directory
  49.  
  50. Public Property Get ExtractNewer() As Boolean
  51.     ExtractNewer = miExtractNewer = 1
  52. End Property
  53.  
  54. Public Property Let ExtractNewer(ByVal bExtractNewer As Boolean)
  55. miExtractNewer = IIf(bExtractNewer, 1, 0)
  56. End Property
  57.  
  58. Public Property Get SpaceToUnderScore() As Boolean
  59.     SpaceToUnderScore = miSpaceUnderScore = 1
  60. End Property
  61.  
  62. Public Property Let SpaceToUnderScore(ByVal bConvert As Boolean)
  63. miSpaceUnderScore = IIf(bConvert, 1, 0)
  64. End Property
  65.  
  66. Public Property Get PromptOverwrite() As Boolean
  67.     PromptOverwrite = miPromptOverwrite = 1
  68. End Property
  69.  
  70. Public Property Let PromptOverwrite(ByVal bPrompt As Boolean)
  71. miPromptOverwrite = IIf(bPrompt, 1, 0)
  72. End Property
  73.  
  74. Public Property Get MessageLevel() As ZMessageLevel
  75.     MessageLevel = miQuiet
  76. End Property
  77.  
  78. Public Property Let MessageLevel(ByVal iLevel As ZMessageLevel)
  79. miQuiet = iLevel
  80. End Property
  81.  
  82. Public Property Get WriteToStdOut() As Boolean
  83.     WriteToStdOut = miWriteStdOut = 1
  84. End Property
  85.  
  86. Public Property Let WriteToStdOut(ByVal bWrite As Boolean)
  87. miWriteStdOut = IIf(bWrite, 1, 0)
  88. End Property
  89.  
  90. Public Property Get TestZip() As Boolean
  91.     TestZip = miTestZip = 1
  92. End Property
  93.  
  94. Public Property Let TestZip(ByVal bTest As Boolean)
  95. miTestZip = IIf(bTest, 1, 0)
  96. End Property
  97.  
  98. Public Property Get ExtractList() As ZExtractType
  99.     ExtractList = miExtractList
  100. End Property
  101.  
  102. Public Property Let ExtractList(ByVal zExType As ZExtractType)
  103. miExtractList = zExType
  104. End Property
  105.  
  106. Public Property Get ExtractOnlyNewer() As Boolean
  107.     ExtractOnlyNewer = miExtractOnlyNewer = 1
  108. End Property
  109.  
  110. Public Property Let ExtractOnlyNewer(ByVal bOnlyNewer As Boolean)
  111. miExtractOnlyNewer = IIf(bOnlyNewer, 1, 0)
  112. End Property
  113.  
  114. Public Property Get DisplayComment() As Boolean
  115.     DisplayComment = miDisplayComment = 1
  116. End Property
  117.  
  118. Public Property Let DisplayComment(ByVal bDisplay As Boolean)
  119. miDisplayComment = IIf(bDisplay, 1, 0)
  120. End Property
  121.  
  122. Public Property Get HonorDirectories() As Boolean
  123.     HonorDirectories = miHonorDirectories = 1
  124. End Property
  125.  
  126. Public Property Let HonorDirectories(ByVal bHonor As Boolean)
  127. miHonorDirectories = IIf(bHonor, 1, 0)
  128. End Property
  129.  
  130. Public Property Get OverWriteFiles() As Boolean
  131.     OverWriteFiles = miOverWriteFiles = 1
  132. End Property
  133.  
  134. Public Property Let OverWriteFiles(ByVal bOverWrite As Boolean)
  135. miOverWriteFiles = IIf(bOverWrite, 1, 0)
  136. End Property
  137.  
  138. Public Property Get ConvertCRtoCRLF() As Boolean
  139.     ConvertCRtoCRLF = miConvertCR_CRLF = 1
  140. End Property
  141.  
  142. Public Property Let ConvertCRtoCRLF(ByVal bConvert As Boolean)
  143. miConvertCR_CRLF = IIf(bConvert, 1, 0)
  144. End Property
  145.  
  146. Public Property Get Verbose() As Boolean
  147.     Verbose = miVerbose = 1
  148. End Property
  149.  
  150. Public Property Let Verbose(ByVal bVerbose As Boolean)
  151. miVerbose = IIf(bVerbose, 1, 0)
  152. End Property
  153.  
  154. Public Property Get CaseSensitive() As Boolean
  155.     CaseSensitive = miCaseSensitivity = 1
  156. End Property
  157.  
  158. Public Property Let CaseSensitive(ByVal bCaseSensitive As Boolean)
  159. miCaseSensitivity = IIf(bCaseSensitive, 1, 0)
  160. End Property
  161.  
  162. Public Property Get Privilege() As ZPrivilege
  163.     Privilege = miPrivilege
  164. End Property
  165.  
  166. Public Property Let Privilege(ByVal zPriv As ZPrivilege)
  167. miPrivilege = zPriv
  168. End Property
  169.  
  170. Public Property Get ZipFileName() As String
  171.     ZipFileName = msZipFileName
  172. End Property
  173.  
  174. Public Property Let ZipFileName(ByVal sZipFileName As String)
  175. msZipFileName = sZipFileName
  176. End Property
  177.  
  178. Public Property Get ExtractDir() As String
  179.     ExtractDir = msExtractDir
  180. End Property
  181.  
  182. Public Property Let ExtractDir(ByVal sExtractDir As String)
  183. msExtractDir = sExtractDir
  184. End Property
  185.  
  186. Public Function Unzip(Optional sZipFileName As String, _
  187.     Optional sExtractDir As String) As Long
  188.     
  189.     On Error GoTo vbErrorHandler
  190.     
  191.     Dim lRet As Long
  192.     
  193.     If Len(sZipFileName) > 0 Then
  194.         msZipFileName = sZipFileName
  195.     End If
  196.     
  197.     If Len(sExtractDir) > 0 Then
  198.         msExtractDir = sExtractDir
  199.     End If
  200.     
  201.     lRet = VBUnzip(msZipFileName, msExtractDir, miExtractNewer, _
  202.     miSpaceUnderScore, miPromptOverwrite, CInt(miQuiet), _
  203.     miWriteStdOut, miTestZip, CInt(miExtractList), _
  204.     miExtractOnlyNewer, miDisplayComment, miHonorDirectories, _
  205.     miOverWriteFiles, miConvertCR_CRLF, miVerbose, _
  206.     miCaseSensitivity, CInt(miPrivilege))
  207.     
  208.     Unzip = lRet
  209.     
  210.     Exit Function
  211.     
  212. vbErrorHandler:
  213.     Err.Raise Err.Number, "CGUnZipFiles::Unzip", Err.Description
  214.     
  215. End Function
  216.  
  217. Private Sub Class_Initialize()
  218.     miExtractNewer = 0
  219.     miSpaceUnderScore = 0
  220.     miPromptOverwrite = 0
  221.     miQuiet = NoMessages
  222.     miWriteStdOut = 0
  223.     miTestZip = 0
  224.     miExtractList = Extract
  225.     miExtractOnlyNewer = 0
  226.     miDisplayComment = 0
  227.     miHonorDirectories = 1
  228.     miOverWriteFiles = 1
  229.     miConvertCR_CRLF = 0
  230.     miVerbose = 0
  231.     miCaseSensitivity = 1
  232.     miPrivilege = Ignore
  233. End Sub
  234.  
  235. Public Function GetLastMessage() As String
  236.     GetLastMessage = msOutput
  237. End Function
  238.