Как распаковать ZIP на VB6

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
HackerVlad
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 23.02.2025 (Вс) 18:40

Как распаковать ZIP на VB6

Сообщение HackerVlad » 23.02.2025 (Вс) 18:51

Это не вопрос. Это будет сразу ответ.

Код: Выделить всё
Option Explicit
Private Declare Function SHFileOperation Lib "shell32" Alias "SHFileOperationW" (ByVal lpFileOp As Long) As Long

Private Const FO_COPY = &H2
Private Const FOF_SILENT = &H4
Private Const FOF_NOCONFIRMATION = &H10

Private Type SHFILEOPSTRUCT
   hwnd        As Long
   wFunc       As Long
   pFrom       As String
   pTo         As String
   fFlags      As Integer
   fAborted    As Boolean
   hNameMaps   As Long
   sProgress   As String
End Type

Public Function UnpackingZIP(ByVal Source As String, ByVal DestinationFolder As String, Optional ShowProgress As Boolean) As Boolean
    Dim SHF As SHFILEOPSTRUCT
    Dim pFrom As String
   
    pFrom = Source & "\*.*" & vbNullChar
   
    SHF.hwnd = hwnd
    SHF.wFunc = FO_COPY
    If Not ShowProgress Then
        SHF.fFlags = FOF_SILENT Or FOF_NOCONFIRMATION
    Else
        SHF.fFlags = FOF_NOCONFIRMATION
    End If
    SHF.pFrom = pFrom & vbNullChar
    SHF.pTo = DestinationFolder
   
    If SHFileOperation(VarPtr(SHF)) = 0 Then UnpackingZIP = True
End Function

Private Sub Command1_Click()
    Screen.MousePointer = 13
   
    If UnpackingZIP(Text1.Text, Text2.Text) = True Then
        Screen.MousePointer = 0
        MsgBox "All files have been successfully copied!", vbInformation
    Else
        Screen.MousePointer = 0
        MsgBox "File copying error, 0 files were copied.", vbCritical
    End If
End Sub

Private Sub Form_Load()
    Text1.Text = AppPath & "\TestSource.zip"
    Text2.Text = AppPath & "\TestDestination"
End Sub

hclubmk
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 241
Зарегистрирован: 19.06.2009 (Пт) 14:23
Откуда: От-туда

Re: Как распаковать ZIP на VB6

Сообщение hclubmk » 17.03.2025 (Пн) 23:31

[offtop]Редко посещаю, но возник вопрос: один я напрягся?[/offtop]
Научились ли Вы радоваться трудностям?

Vova_2581
Постоялец
Постоялец
 
Сообщения: 384
Зарегистрирован: 10.01.2010 (Вс) 18:08

Re: Как распаковать ZIP на VB6

Сообщение Vova_2581 » 18.03.2025 (Вт) 19:40

hclubmk писал(а):Редко посещаю, но возник вопрос: один я напрягся?

Оно та как бы да... но в тоже время как бы нет... Ну, если коротко: то можно сказать так: вы напряглись, чтобы все другие (кому это надо!) расслабились. :D Не знаю, где это может пригодиться, но было интересно. Спасибо!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList