Скачивание файлов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Скачивание файлов

Сообщение Sanya Z » 04.01.2004 (Вс) 16:32

Как организовать скачивание файлов из инета с помощью VB. Спасибо! :?
И пусть в моих поступках не было логики...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.01.2004 (Вс) 16:34

Заюзав апишку URLDownloadToFile.
Озадачившись Винсоком вообще и ftp через оный в частности.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 04.01.2004 (Вс) 16:38

А с примером можно, а то я не понимаю :oops:
И пусть в моих поступках не было логики...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.01.2004 (Вс) 16:39

Код: Выделить всё
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Form_Load()
    'example by Matthew Gates (Puff0rz@hotmail.com)
    DownloadFile "http://www.allapi.net", "c:\allapi.htm"
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 04.01.2004 (Вс) 16:40

Огромное спасибо :D
Есть одно маленькое но:

Ваш пример работает если туда подставлять конкретные значения, а если подставить х="http://www.vbstreets.ru",
у="c:\vbstreets.ru.html" , то выдается ошибка, хотя переменные я объявляю...И ещё вопрос, как можно узнать размер файла на сервере, пока его ещё не скачал?
И пусть в моих поступках не было логики...

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 05.01.2004 (Пн) 14:33

Если быть точнее то ошибка такая ByRef argument type mismatch. Посмотрите, пожалуста, почему так. (Даже если файл локальный). :?:
И пусть в моих поступках не было логики...

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 05.01.2004 (Пн) 15:05

Код такой?

Private Sub Form_Load()
Dim x As String
Dim y As String

x = "http://www.ya.ru"
y = "C:\allapi.html"
DownloadFile x, y
End Sub

У меня всё ок, попробуй так:
DownloadFile ByVal x, ByVal y

А узнать размер файла можно, посылая серверу ftp-команду... Поищи на форуме или в Яндексе, такая тема была, по-моему...

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 06.01.2004 (Вт) 0:13

Спасибо! Теперь все работает :P Если не найдется кода для подсчитывания размера файла в инете, то тему можно закрывать
И пусть в моих поступках не было логики...


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

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

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 9

    TopList  
cron