Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Библиотека сжатия файлов LZ32.DLL


Автор: klen 5.1.2006, 14:05
С новым годом!
Кто-нибудь использовал LZ32.DLL для работы с файлами.
Поделитесь пожалуйста небольшим примеромsmile

Автор: Gannibal 7.1.2006, 15:46
Функция LZOpenFile


Код

Private Type OFSTRUCT
    cBytes As Byte
    fFixedDisk As Byte
    nErrCode As Integer
    Reserved1 As Integer
    Reserved2 As Integer
    szPathName As String * 128
End Type

Private Declare Function LZOpenFile Lib "Lz32.dll" _
            Alias "LZOpenFileA" _
            (ByVal lpszFile As String, _
            lpOf As OFSTRUCT, _
            ByVal style As Long) As Long
            
Private Declare Function LZCopy Lib "Lz32.dll" _
            (ByVal hfSource As Long, _
            ByVal hfDest As Long) As Long
            
Private Declare Sub LZClose Lib "Lz32.dll" _
            (ByVal hfFile As Long)

Const OF_READ = &H0
Const OF_CREATE = &H1000
Const LZERROR_BADINHANDLE = (-1)
Const LZERROR_BADOUTHANDLE = (-2)
Const LZERROR_BADVALUE = (-7)
Const LZERROR_GLOBLOCK = (-6)
Const LZERROR_PUBLICLOC = (-5)
Const LZERROR_READ = (-3)
Const LZERROR_UNKNOWNALG = (-8)
Const LZERROR_WRITE = (-4)
Private Sub Form_Load()

    Dim SourceStruct As OFSTRUCT, DestStruct As OFSTRUCT
    Dim hSource As Long, hDest As Long, lResults As Long
    'Open the source- and the destination-files
    hSource = LZOpenFile("c:\myfile.tx_", SourceStruct, OF_READ)
    hDest = LZOpenFile("c:\myfile.tx", DestStruct, OF_CREATE)

    'Copy the files
    lResults = LZCopy(hSource, hDest)

    'Close the files
    LZClose hSource
    LZClose hDest

    'Check for errors
    Select Case lResults
        Case LZERROR_BADINHANDLE
            MsgBox "LZERROR_BADINHANDLE"
        Case LZERROR_BADOUTHANDLE
            MsgBox "LZERROR_BADOUTHANDLE"
        Case LZERROR_BADVALUE
            MsgBox "LZERROR_BADVALUE"
        Case LZERROR_GLOBLOCK
            MsgBox "LZERROR_GLOBLOCK"
        Case LZERROR_PUBLICLOC
            MsgBox "LZERROR_PUBLICLOC"
        Case LZERROR_READ
            MsgBox "LZERROR_READ"
        Case LZERROR_UNKNOWNALG
            MsgBox "LZERROR_UNKNOWNALG"
        Case LZERROR_WRITE
            MsgBox "LZERROR_WRITE"
    End Select
End Sub

Добавлено @ 15:32
Функция LZClose

Код

Private Type OFSTRUCT
    cBytes As Byte
    fFixedDisk As Byte
    nErrCode As Integer
    Reserved1 As Integer
    Reserved2 As Integer
    szPathName As String * 128
End Type

Private Declare Function LZOpenFile Lib "Lz32.dll" _
            Alias "LZOpenFileA" _
            (ByVal lpszFile As String, _
            lpOf As OFSTRUCT, _
            ByVal style As Long) As Long
            
Private Declare Function LZCopy Lib "Lz32.dll" _
            (ByVal hfSource As Long, _
            ByVal hfDest As Long) As Long
            
Private Declare Sub LZClose Lib "Lz32.dll" _
            (ByVal hfFile As Long)

Const OF_READ = &H0
Const OF_CREATE = &H1000
Const LZERROR_BADINHANDLE = (-1)
Const LZERROR_BADOUTHANDLE = (-2)
Const LZERROR_BADVALUE = (-7)
Const LZERROR_GLOBLOCK = (-6)
Const LZERROR_PUBLICLOC = (-5)
Const LZERROR_READ = (-3)
Const LZERROR_UNKNOWNALG = (-8)
Const LZERROR_WRITE = (-4)
Private Sub Form_Load()

    Dim SourceStruct As OFSTRUCT, DestStruct As OFSTRUCT
    Dim hSource As Long, hDest As Long, lResults As Long
    'Open the source- and the destination-files
    hSource = LZOpenFile("c:\myfile.tx_", SourceStruct, OF_READ)
    hDest = LZOpenFile("c:\myfile.tx", DestStruct, OF_CREATE)

    'Copy the files
    lResults = LZCopy(hSource, hDest)

    'Close the files
    LZClose hSource
    LZClose hDest

    'Check for errors
    Select Case lResults
        Case LZERROR_BADINHANDLE
            MsgBox "LZERROR_BADINHANDLE"
        Case LZERROR_BADOUTHANDLE
            MsgBox "LZERROR_BADOUTHANDLE"
        Case LZERROR_BADVALUE
            MsgBox "LZERROR_BADVALUE"
        Case LZERROR_GLOBLOCK
            MsgBox "LZERROR_GLOBLOCK"
        Case LZERROR_PUBLICLOC
            MsgBox "LZERROR_PUBLICLOC"
        Case LZERROR_READ
            MsgBox "LZERROR_READ"
        Case LZERROR_UNKNOWNALG
            MsgBox "LZERROR_UNKNOWNALG"
        Case LZERROR_WRITE
            MsgBox "LZERROR_WRITE"
    End Select
End Sub

Добавлено @ 15:33
Функция LZCopy

Описание : Функция LZCopy function copies a source file to a destination file. If the source file is compressed with the Microsoft File Compression Utility (COMPRESS.EXE), this function creates a decompressed destination file.

Код

Private Type OFSTRUCT
    cBytes As Byte
    fFixedDisk As Byte
    nErrCode As Integer
    Reserved1 As Integer
    Reserved2 As Integer
    szPathName As String * 128
End Type

Private Declare Function LZOpenFile Lib "Lz32.dll" _
            Alias "LZOpenFileA" _
            (ByVal lpszFile As String, _
            lpOf As OFSTRUCT, _
            ByVal style As Long) As Long
            
Private Declare Function LZCopy Lib "Lz32.dll" _
            (ByVal hfSource As Long, _
            ByVal hfDest As Long) As Long
            
Private Declare Sub LZClose Lib "Lz32.dll" _
            (ByVal hfFile As Long)

Const OF_READ = &H0
Const OF_CREATE = &H1000
Const LZERROR_BADINHANDLE = (-1)
Const LZERROR_BADOUTHANDLE = (-2)
Const LZERROR_BADVALUE = (-7)
Const LZERROR_GLOBLOCK = (-6)
Const LZERROR_PUBLICLOC = (-5)
Const LZERROR_READ = (-3)
Const LZERROR_UNKNOWNALG = (-8)
Const LZERROR_WRITE = (-4)
Private Sub Form_Load()

    Dim SourceStruct As OFSTRUCT, DestStruct As OFSTRUCT
    Dim hSource As Long, hDest As Long, lResults As Long
    'Open the source- and the destination-files
    hSource = LZOpenFile("c:\myfile.tx_", SourceStruct, OF_READ)
    hDest = LZOpenFile("c:\myfile.tx", DestStruct, OF_CREATE)

    'Copy the files
    lResults = LZCopy(hSource, hDest)

    'Close the files
    LZClose hSource
    LZClose hDest

    'Check for errors
    Select Case lResults
        Case LZERROR_BADINHANDLE
            MsgBox "LZERROR_BADINHANDLE"
        Case LZERROR_BADOUTHANDLE
            MsgBox "LZERROR_BADOUTHANDLE"
        Case LZERROR_BADVALUE
            MsgBox "LZERROR_BADVALUE"
        Case LZERROR_GLOBLOCK
            MsgBox "LZERROR_GLOBLOCK"
        Case LZERROR_PUBLICLOC
            MsgBox "LZERROR_PUBLICLOC"
        Case LZERROR_READ
            MsgBox "LZERROR_READ"
        Case LZERROR_UNKNOWNALG
            MsgBox "LZERROR_UNKNOWNALG"
        Case LZERROR_WRITE
            MsgBox "LZERROR_WRITE"
    End Select
End Sub

Добавлено @ 15:34
взято с сайта http://www.vb.kiev.ua/
Добавлено @ 15:46
вот ещё ссылочка может интерестно будет http://www.zlib.net/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)