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