когда мы сможем увидеть легкую симблирующую молнию на dll для vb6 - PullRequest
0 голосов
/ 22 февраля 2019

Мне снится код, подобный этому

Объявить функцию ZipFolder Lib "zipeasy.dll"

(SourceFolder,DistZipeName)
Private sub Command1_Click()
ZipFolder "C:\MyFolder\", "C:\MyZipdeFolder.zip")
End Sub

Многие годы я пытаюсь это сделать, но ничего подобного не происходит, все подобные решения очень сложныпочему, почему и почему нет простого решения, подобного тому, которое я предлагаю здесь?

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете попробовать проект ZipArchive - Одноклассная библиотека VB6 для zip со скоростью ASM

Сначала загрузите и добавьте cZipArchive.cls вваш проект VB6, тогда вы можете использовать эту ZipFolder функцию

Private Function ZipFolder( _
            SourceFolder As String, _
            DistZipeName As String, _
            Optional LastError As String) As Boolean
    On Error GoTo EH
    With New cZipArchive
        If Not .AddFromFolder(SourceFolder & IIf(Right$(SourceFolder, 1) <> "\", _
                "\", vbNullString) & "*.*", Recursive:=True) Then
            LastError = .LastError
            GoTo QH
        End If
        If Not .CompressArchive(DistZipeName) Then
            LastError = .LastError
            GoTo QH
        End If
    End With
    '--- success
    ZipFolder = True
QH:
    Exit Function
EH:
    LastError = Err.Description
    Resume QH
End Function

Конечно, вы можете сделать гораздо больше вещей с этим классом (например, перечисление файлов в zip-архиве, извлечение файлов, отображение хода выполнения операции, сжатие только в память, уровни шифрования AES), и вы можете найти больше образцов в README.md в корне репозитория или в исходном коде vbzip утилиты командной строкикоторые могут сжимать / извлекать почтовые архивы и многое другое

VbZip 0.2.3 (c) 2017-2018 by wqweto@gmail.com (12.1.2018 17:15:52)

Usage: vbzip.exe <command> [-options...] <archive_file> [files]...
e.g. vbzip.exe a backup.zip doc1.txt reports*.xls

Commands:
  a           add files to archive
  l           list archive contents
  t           test archive integrity
  x           extract files from archive

Options:
  -r          recurse subfolders
  -e          include empty folders
  -m LEVEL    compression level [default: 6]
  -o OUTPUT   output folder to extract to
  -i          no percentage indicator
  -y          assume yes to all questions
  -p PASSWORD password used to encrypt/decrypt files
  -mem METHOD encryption method
  -so         output to stdout
  -si NAME    input from stdin zip to NAME in archive
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...