Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Загрузка файла


Автор: maximliss 13.7.2008, 18:28
Загружаю рисунок из интернета:
Код

Option Explicit 

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 Event ErrorDownload(FromPathName As String, ToPathName As String) 
Public Event DownloadComplete(FromPathName As String, ToPathName As String) 
  
Public Function DownloadFile(FromPathName As String, ToPathName As String) 
If URLDownloadToFile(0, FromPathName, ToPathName, 0, 0) = 0 Then 
DownloadFile = True 
RaiseEvent DownloadComplete(FromPathName, ToPathName) 
Else 
DownloadFile = False 
RaiseEvent ErrorDownload(FromPathName, ToPathName) 
End If 
End Function 
  
Private Sub Command1_Click() 
Call DownloadFile("http://blabla.gif.333", "c:\foto.gif") 
End Sub



Подскажите что делать,как его загрузить если в след раз его путь поменялся и стал такой:(http://blabla.gif.444.)
 smile 

Автор: Akina 14.7.2008, 08:40
Суть проблемы непонятна.

Автор: JusTalionis 15.7.2008, 13:16
Вариант только один - анализировать сылки, которые указывают на этот рисунок.

Добавлено через 4 минуты и 40 секунд
Акине:
ну, очевидно чел собирается скачивать с сайта типа новостного, в котором постоянно добавляются страницы, и страница с искомым рисунком постепенно "уплывает", увеличивая свой номер.

Автор: Akina 15.7.2008, 13:27
Цитата(JusTalionis @  15.7.2008,  14:16 Найти цитируемый пост)
чел собирается скачивать с сайта типа новостного, в котором постоянно добавляются страницы

Любой новостной сайт имеет скрипт получения с него новостей. Надо только озаботиться...

Автор: mb78 31.7.2008, 15:25
Это же просто :вместо кавычек с именем файла пишем переменную с типом String
А потом меняем содержимое этой переменной и используем ту же самую функцию.

Код

Option Explicit 
Dim namefile As String , internadress As String

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 Event ErrorDownload(FromPathName As String, ToPathName As String) 
Public Event DownloadComplete(FromPathName As String, ToPathName As String) 
  
Public Function DownloadFile(FromPathName As String, ToPathName As String) 
If URLDownloadToFile(0, FromPathName, ToPathName, 0, 0) = 0 Then 
DownloadFile = True 
RaiseEvent DownloadComplete(FromPathName, ToPathName) 
Else 
DownloadFile = False 
RaiseEvent ErrorDownload(FromPathName, ToPathName) 
End If 
End Function 
  
Private Sub Command1_Click() 
Call DownloadFile(internadress, namefile) 
End Sub

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

Если вам программа нужна,чтобы самому скачивать файлы,то можно в случае если обычный путь не
найден проверялись еще несколько вариантов путей и если безуспешно ,выдавался звуковой сигнал и
открывалась страница на которой произошли изменения , чтобы можно было посмотреть новый путь.
Хотя лучше поискать API поиска файлов и папок в Интернете.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)