опубликован 20-09-2001 00:30 MSK
Кто работал в Инете?
Тут вот какое дело: надо закачать файл, но попутно получать о ходе процесса информацию (сколько закачено, сколько осталось, скорость и т.д. и т.п.)Я знаю 3 варианта закачки
* Inet1.Execute "FTP://ftp.microsoft.com", "GET disclaimer.txt C:\Temp\Disclaimer.txt"
Использует MS Internet Transfer Control. Соответственно по FTP протоколу. С HTTP у меня возникли БОЛЬШИЕ проблемы. Кто знает как это переделать в работоспособную закачку по HTTP - Help, please !!!
* Inet1.URL = "http://northeurope.by.ru/norway.html"
b() = Inet1.OpenURL(, icByteArray)
Open "C:\norway.html" For Binary Access Write As #1
Put #1, , b()
Close #1
Использует MS Internet Transfer Control. Работает. Но пока не закачает не успокоится. Инфу получить нереально.
* С использованием API-функций: InternetOpen, InternetOpenURL и InternetReadFile. Самое интересное. В описании есть такая строчки
'Read the first 1000 bytes of the file
InternetReadFile hFile, sекBuffer, 1000, 0
Ну во-первых, как закачать НЕ "first" 1000 байтов, а, например, с 1001 по 2000?
Function InternetReadFile Lib "wininet" (..., ..., ByVal lNumBytesToRead As Long, [b]lNumberOfBytesRead As Long) As Integer[/b]
нутром чую, что это связанно с lNumberOfBytesRead. Во-вторых, этот прикол работает только с текстовыми файлами. На что-нибудь из серии мультимедиа или архива - глохнет (выдает сколько угодно (всегда меньше), но не 1000 байт). И наконец третье - как узнать сколько надо закачивать? Как узнать размер файла?
Кто хоть что-то знает о работе в Инет (в смысле DownLoad) - пишите (vartovsk@nptus.ru)
------------------
Летают тут всякие... Ангелы.