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 / clsZip.cls < prev    next >
Text File  |  2005-11-11  |  7KB  |  210 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 = "clsZip"
  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. Public Enum EZPMsgLevel
  17.    ezpAllMessages = 0
  18.    ezpPartialMessages = 1
  19.    ezpNoMessages = 2
  20. End Enum
  21.  
  22. Public Event Cancel(ByVal sMsg As String, ByRef bCancel As Boolean)
  23. Public Event PasswordRequest(ByRef sPassword As String, ByVal lMaxPasswordLength As Long, ByVal bConfirm As Boolean, ByRef bCancel As Boolean)
  24. Public Event CommentRequest(ByRef sComment As String, ByRef bCancel As Boolean)
  25. Public Event Progress(ByVal lCount As Long, ByVal sMsg As String)
  26.  
  27.  
  28. Private m_tZPOPT As ZPOPT
  29. Private m_sFileName As String
  30. Private m_sFileSpecs() As String
  31. Private m_iCount As Long
  32. Private m_lR As Long
  33.  
  34.  
  35. Public Property Get ZipFile() As String
  36.    ZipFile = m_sFileName
  37. End Property
  38. Public Property Let ZipFile(ByVal sFileName As String)
  39.    m_sFileName = sFileName
  40. End Property
  41. Public Property Get BasePath() As String
  42.    BasePath = m_tZPOPT.szRootDir
  43. End Property
  44. Public Property Let BasePath(ByVal sBasePath As String)
  45.    m_tZPOPT.szRootDir = sBasePath
  46. End Property
  47. Public Property Get Encrypt() As Boolean
  48.    Encrypt = Not (m_tZPOPT.fEncrypt = 0)
  49. End Property
  50. Public Property Let Encrypt(ByVal bState As Boolean)
  51.    m_tZPOPT.fEncrypt = Abs(bState)
  52. End Property
  53. Public Property Get AddComment() As Boolean
  54.    Encrypt = Not (m_tZPOPT.fComment = 0)
  55. End Property
  56. Public Property Let AddComment(ByVal bState As Boolean)
  57.    m_tZPOPT.fComment = Abs(bState)
  58. End Property
  59. 'Public Property Get IncludeSystemAndHiddenFiles() As Boolean
  60.  '   IncludeSystemAndHiddenFiles = Not (m_tZPOPT.fSystem = 0)       ' 1 to include system/hidden files
  61. 'End Property
  62. Public Property Let IncludeSystemAndHiddenFiles(ByVal bState As Boolean)
  63.    m_tZPOPT.fSystem = Abs(bState)       ' 1 to include system/hidden files
  64. End Property
  65. 'Public Property Get StoreVolumeLabel() As Boolean
  66.  '   StoreVolumeLabel = Not (m_tZPOPT.fVolume = 0)       ' 1 if storing volume label
  67. 'End Property
  68. Public Property Let StoreVolumeLabel(ByVal bState As Boolean)
  69.    m_tZPOPT.fVolume = Abs(bState)
  70. End Property
  71. Public Property Get StoreDirectories() As Boolean
  72.    StoreDirectories = Not (m_tZPOPT.fNoDirEntries = 0) ' 1 if ignoring directory entries
  73. End Property
  74. Public Property Let StoreDirectories(ByVal bState As Boolean)   'needed
  75.    m_tZPOPT.fNoDirEntries = Abs(Not (bState))
  76. End Property
  77. Public Property Get StoreFolderNames() As Boolean
  78.    StoreFolderNames = (m_tZPOPT.fJunkDir = 0)
  79. End Property
  80. Public Property Let StoreFolderNames(ByVal bState As Boolean)
  81.    m_tZPOPT.fJunkDir = Abs(Not (bState))
  82. End Property
  83. Public Property Get RecurseSubDirs() As Boolean
  84.    RecurseSubDirs = Not (m_tZPOPT.fRecurse = 0) ' 1 if recursing into subdirectories
  85. End Property
  86. Public Property Let RecurseSubDirs(ByVal bState As Boolean)
  87.    If bState Then
  88.     m_tZPOPT.fRecurse = 2
  89.   Else
  90.      m_tZPOPT.fRecurse = 0
  91.   End If
  92. End Property
  93.  
  94. Public Property Get UpdateOnlyIfNewer() As Boolean
  95.     UpdateOnlyIfNewer = Not (m_tZPOPT.fUpdate = 0)   ' 1 if updating zip file--overwrite only if newer
  96. End Property
  97. Public Property Let UpdateOnlyIfNewer(ByVal bState As Boolean)
  98.     m_tZPOPT.fUpdate = Abs(bState)   ' 1 if updating zip file--overwrite only if newer
  99. End Property
  100. Public Property Get FreshenFiles() As Boolean
  101.     FreshenFiles = Not (m_tZPOPT.fFreshen = 0) ' 1 if freshening zip file--overwrite only
  102. End Property
  103. Public Property Let FreshenFiles(ByVal bState As Boolean)
  104.     m_tZPOPT.fUpdate = Abs(bState)   ' 1 if updating zip file--overwrite only if newer
  105. End Property
  106. Public Property Get MessageLevel() As EZPMsgLevel
  107.    If Not (m_tZPOPT.fVerbose = 0) Then
  108.       MessageLevel = ezpAllMessages
  109.    ElseIf Not (m_tZPOPT.fQuiet = 0) Then
  110.       MessageLevel = ezpPartialMessages
  111.    Else
  112.       MessageLevel = ezpNoMessages
  113.    End If
  114. End Property
  115. Public Property Let MessageLevel(ByVal eLevel As EZPMsgLevel)
  116.    Select Case eLevel
  117.    Case ezpPartialMessages
  118.       m_tZPOPT.fQuiet = 1
  119.       m_tZPOPT.fVerbose = 0
  120.    Case ezpNoMessages
  121.       m_tZPOPT.fQuiet = 0
  122.       m_tZPOPT.fVerbose = 0
  123.    Case ezpAllMessages
  124.       m_tZPOPT.fQuiet = 0
  125.       m_tZPOPT.fVerbose = 1
  126.    End Select
  127. End Property
  128. Public Property Get ConvertCRLFToLF() As Boolean
  129.    ConvertCRLFToLF = (m_tZPOPT.fCRLF_LF <> 0)
  130. End Property
  131. Public Property Let ConvertCRLFToLF(ByVal bState As Boolean)
  132.    m_tZPOPT.fCRLF_LF = Abs(bState)
  133. End Property
  134. Public Property Get ConvertLFToCRLF() As Boolean
  135.    ConvertLFToCRLF = (m_tZPOPT.fLF_CRLF <> 0)
  136. End Property
  137. Public Property Let ConvertLFToCRLF(ByVal bState As Boolean)
  138.    m_tZPOPT.fLF_CRLF = Abs(bState)
  139. End Property
  140.  
  141. Friend Sub ProgressReport( _
  142.       ByVal sMsg As String _
  143.    )
  144.    RaiseEvent Progress(1, sMsg)
  145. End Sub
  146. Friend Sub PasswordRequest( _
  147.       ByRef sPassword As String, _
  148.       ByVal lMaxPasswordLength As Long, _
  149.       ByVal bPasswordConfirm As Boolean, _
  150.       ByRef bCancel As Boolean _
  151.    )
  152.    RaiseEvent PasswordRequest(sPassword, lMaxPasswordLength, bPasswordConfirm, bCancel)
  153. End Sub
  154. 'Friend Sub CommentRequest( _
  155.  '     ByRef sComment As String, _
  156.  '     ByRef bCancel As Boolean _
  157.  '  )
  158.   ' RaiseEvent CommentRequest(sComment, bCancel)
  159. 'End Sub
  160.  
  161. Friend Sub Service( _
  162.       ByVal sMsg As String, _
  163.       ByRef bCancel As Boolean _
  164.    )
  165.    RaiseEvent Cancel(sMsg, bCancel)
  166. End Sub
  167. Public Sub ClearFileSpecs()
  168.    m_iCount = 0
  169.    Erase m_sFileSpecs()
  170. End Sub
  171. Public Function AddFileSpec(ByVal sSpec As String) As Long
  172.    m_iCount = m_iCount + 1
  173.    ReDim Preserve m_sFileSpecs(1 To m_iCount) As String
  174.    m_sFileSpecs(m_iCount) = sSpec
  175. End Function
  176. Public Property Get FileSpecCount() As Long
  177.    FileSpecCount = m_iCount
  178. End Property
  179. Public Property Get FileSpec(ByVal nIndex As Long)
  180.    FileSpec = m_sFileSpecs(nIndex)
  181. End Property
  182. Public Property Get AllowAppend() As Boolean
  183.    AllowAppend = (m_tZPOPT.fGrow = 1)
  184. End Property
  185. Public Property Let AllowAppend(ByVal bState As Boolean)
  186.    m_tZPOPT.fGrow = Abs(bState)
  187. End Property
  188. Public Sub Zip()
  189.    m_lR = 0
  190.    m_lR = mZip.VBZip(Me, m_tZPOPT, m_sFileSpecs(), m_iCount)
  191. End Sub
  192. Public Property Get Success() As Boolean
  193.    Success = (m_lR = 0)
  194. End Property
  195. 'not required code commented by sheena
  196. 'Public Sub Delete()
  197. '   ' Deletes the entries specified by the file specs:
  198. '   m_tZPOPT.fDeleteEntries = 1
  199. '   mZip.VBZip Me, m_tZPOPT, m_sFileSpecs(), m_iCount
  200. '   m_tZPOPT.fDeleteEntries = 0
  201. 'End Sub
  202.  
  203. Private Sub Class_Initialize()
  204.    StoreDirectories = False
  205.    StoreFolderNames = False
  206.    RecurseSubDirs = False
  207. End Sub
  208.  
  209.  
  210.