Закачка файлов - Программирование - Рабочая Zona - Форум сисадминов
Понедельник
06-Фев-2012, 07:06:56
sadmin.org
Приветствую Вас Прохожий | RSS
Главная Форум сисадминов Регистрация Вход
[ Новые сообщения · Онлайн консультации · Участники · Правила форума · Поиск · RSS ]
 
Страница 1 из 11
Модератор форума: vip_777 
Форум сисадминов » Рабочая Zona » Программирование » Закачка файлов
Закачка файлов
БуддистДата: Среда, 11-Мар-2009, 22:23:53 | Сообщение # 1
Коллежский секретарь
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 1
Замечания: 0%
Cтрана: Украина
Город: Днепропетровск
Статус: Offline
Интересно было б реализовать функционал закачки файлов в приложении. Для этого я решил использовать URLDownloadToFile из urlmon.dll. Она почему то не отрабатывает. Для теста в этом же коде использовал и фунуцию OpenInternet. С интом вроде как коннектится, но файлы качать не хочет.
n.b. никаких предварительных настроек не делал . Пишу на VB 2008

вначале у меня

Code
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

     Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
     Private Const INTERNET_OPEN_TYPE_DIRECT = 1
     Private Const INTERNET_OPEN_TYPE_PROXY = 3
     Private Const scUserAgent = "VB Project"
     Private Const INTERNET_FLAG_RELOAD = &H80000000
     Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
     Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
     Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, ByVal lNumberOfBytesRead As Long) As Integer
     Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

ЗАТЕМ

Code
Private Sub OpenURL(ByVal sUrl As String)
         Dim hOpen As Long
         Dim hOpenUrl As Long
         Dim bDoLoop As Boolean

         'Dim sReadBuffer(2048) As String

         ' Dim sBuffer As String
         Dim DownLoadFile As Boolean
          
         hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
         hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
         bDoLoop = True

         If URLDownloadToFile(0, "http://www.myjulia.ru/data/cache/2008/11/11/14155_5000-150x0.jpg", "c:\image.jpg", 0, 0) = 0 Then
             DownLoadFile = True
         Else
             DownLoadFile = False
         End If
         MsgBox(DownLoadFile)
         If hOpenUrl <> 0 Then
             InternetCloseHandle(hOpenUrl)
         End If
         If hOpen <> 0 Then
             InternetCloseHandle(hOpen)
         End If

     End Sub

Подскажите пожалуйста в чем же может быть дело?...


Мы - не янки. Мы - славяне. Наши братья - россияне
 
pushkin42Дата: Среда, 11-Мар-2009, 22:46:56 | Сообщение # 2
Куровод, садист-укладчик
Группа: Администраторы
Сообщений: 1969
Награды: 9
Репутация: 36
Сеть: Гибридная
Количество машин:: 226
Cтрана: Российская Федерация
Город: Самара
Статус: Offline
Лучше б ты на С++ писал... Или на C# на крайняк...
Сликом много гемора с VB возникает
Зачем тебе внешние библиотеки, штатного функционала не хватает?

Работаю за плюсики в репутацию и за пиво.

Ремонт компьютеров в Самаре

 
БуддистДата: Четверг, 12-Мар-2009, 10:55:33 | Сообщение # 3
Коллежский секретарь
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 1
Замечания: 0%
Cтрана: Украина
Город: Днепропетровск
Статус: Offline
Благодарю. Вопрос закрыт! Проблема решена!

Мы - не янки. Мы - славяне. Наши братья - россияне
 
Форум сисадминов » Рабочая Zona » Программирование » Закачка файлов
Страница 1 из 11
Поиск:


Copyright sadmin.org © 2012
Хостинг от uCoz