VB: скачать ZIP-файл из Интернета (и извлечь) - PullRequest
0 голосов
/ 21 июня 2011

Мне нужно каким-то образом загрузить ZIP-файл из Интернета с помощью Visual Basic.Вот что у меня сейчас есть:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim NewAppData As String
    NewAppData = Environment.ExpandEnvironmentVariables("%AppData%/.minecraft.zip")
    Call DownloadFile("http://blahblahbacksheep.co.cc/.minecraft.zip", NewAppData)
End Sub

Когда я отлаживаю программу, она дает мне следующее:

Function 'DownloadFile' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.

Что я хочу сделать, это загрузить ZIP-файл, а затем извлечьЭто.И, если возможно, покажите метки с процентами, например:

Downloaded: 100%
Extracting: 35%....

Может ли кто-нибудь дать мне какие-либо ресурсы или написать немного кода для выполнения некоторых / всего этого?

Спасибо

1 Ответ

1 голос
/ 22 июня 2011

Для распаковки части вашего вопроса: 7-Zip - это действительно отличная утилита архивирования файлов с открытым исходным кодом, которая имеет приятный интерфейс командной строки.Вот пример того, как вызвать 7-Zip из VB (после его установки):

Set WshShell = VBA.CreateObject("WScript.Shell")
WshShell.Run "c:\Program Files\7-Zip\7z.exe " & _
    "a -tzip myarchive.zip file.dat file2.txt file3.png", 1, True

В этом примере сжимаются три файла в архив, а вы хотите извлечь файлы из архива ... простонайдите соответствующую команду для этого в документации.

Обратите внимание, что окно команд появится во время выполнения 7-Zip, и там вы увидите индикатор% прогресса.Если вы хотите, чтобы этот индикатор появлялся где-то еще, то, проявив немного изобретательности, вы, вероятно, можете перенаправить стандартный вывод в другое релевантное место.

...