Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

сохранение файла из интернета.

403
15 июля 2006 года
ace lighting
411 / / 05.05.2006
моя программа должна загружать обновления с моего сайта. фалы я закачиваю вот этим способом:
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://visual-basic.nm.ru/Banner.gif", "c:\Banner.gif")

End Sub

вот вопрос: как мне сделать этот процесс закачки зрительным, тоесть выразить его через Progress Bar?
282
17 июля 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ace lighting]как мне сделать этот процесс закачки зрительным, тоесть выразить его через Progress Bar?[/QUOTE]

Ето несовсем то, но оно показывает процес закачки. Ето полноценная интернет-качалка. Если не получиться витянуть из нее код, который отвечает за визуализацию процеса - она в хозяйстве обязательно пригодиться ;)

Теперь про файл :)
Ето вовсе не картинка :) Картинка только с верху, а архив ZIP начинаеться по здвигу 0286(Hex) в блокноте выглядит примерно так: PK н$¶q†X У VB6FR.DLL отрежеш все что до етой натписи, только не блокнотом, а какимто другим иструментом.

Или замути сам кокуюто простенькую прогу чтобы находила архив в картинке и резала автоматически.

Пришлось прибегнуть к таким способам передачи инфы - два в одном, из-за того что на сервере ограничение обьэема архива до 19~ килобайт, а картинки чпег до 190~.

Если чето с етим файлом неполучиться - спрашивай - всегда помогу.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
бррррр... если чесно, то ничё не понял. это как! видишь картинку, а на самом деле это ZIP. Поясни по подробнее, пожалуйста.
282
17 июля 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ace lighting]бррррр... если чесно, то ничё не понял. это как! видишь картинку, а на самом деле это ZIP. Поясни по подробнее, пожалуйста.[/QUOTE]

Понимаеш картинка ето двоичный файл, ZIP тоже. И если в один файл зашить сперва картинку, а внизу (за картинкой) поместить какойто левый файл, хоть и архив, то компьютер его не увидет, и будет думать что ето картинка, а про то, что размер файла не совпадает с ее натурально величиной - он даже недогадаеться (тупой сильно). Твоя задача не белим квадратом любоваться а.... А утебя вообще есть Hex-редактор, если нету - могу дать: незаменная штука! ....сохранить картинку на диск,выкинуть из етого файла картинку и сохранить то что получилось с расширением zip. Как резать - в предидущей мессаге писал.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
выложи hex, плиз:)
282
17 июля 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ace lighting]выложи hex, плиз:)[/QUOTE]

Архив 225 Кб весит. Давай я тебе по мылу вышлю.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
Давай! моё мыло - [email]ace--lighting@yandex.ru[/email]
282
17 июля 2006 года
Bard
481 / / 26.02.2006
Ну, пришло ???
282
17 июля 2006 года
Bard
481 / / 26.02.2006
Так выглядит начало архива в файле.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
так. пришло:) и чё? вот это начало удалять, да?
ааа... понял! так! отрезал... получилось!!!!! круто. а я и не знал что так можно. а научи, как так их склеить?
282
17 июля 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ace lighting]так. пришло:) и чё? вот это начало удалять, да?[/QUOTE]

Нее ни в коем случае! Удалить надо все что до него (собственно картинку)
282
17 июля 2006 года
Bard
481 / / 26.02.2006
Ето начало архива ZIP, и если ты его удалиш архив булет не читаемый.
282
17 июля 2006 года
Bard
481 / / 26.02.2006
Да, вообще я сильно стормозил, с етой картинко и архивом в ней. Можно было тебе файл сразу мылом перекинуть...
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
круто!!! одним словом. всё получилось!!!!! а как ты их так склеил? научишь, а? так даже лучше, а то с моим диалапом. научи, плиз!
282
17 июля 2006 года
Bard
481 / / 26.02.2006
Все очень просто!

 
Код:
Open "Image1.jpeg" For Append As 1
Open "dwn_plus_0075sc.zip" For Binary As 2
sod = Input(LOF(2), 2)
Print #1, sod
Close 2
Close 1
End
282
17 июля 2006 года
Bard
481 / / 26.02.2006
А зачем ето надо практически? Разве что админу душу потрепать?
Когда я снял свои мозги с ручного тормоза, я поня что существует мыло для жырных фалов.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
спасибо те большое! а менеджер закачек трудная прога, мне всего-то надо, чтоб прогресс бар отображал закачку, но наверное и сам разберусь:)
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
мыло! хаха! у меня нет со скоростью 28.8. он форум-то еле грузит. так что я лучше с Hex помучаюсь, чем качать...:)
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
слушай! сразу мысль возникла:) а как сделать на VB чтобы эта картинка сама отрезалась.
282
17 июля 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ace lighting]мыло! хаха! у меня нет со скоростью 28.8. он форум-то еле грузит. так что я лучше с Hex помучаюсь, чем качать...:)[/QUOTE]

Так качать картинку тебе всеравно прийдеться.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
то картинка, а то файл. знаешь она сколько у меня качалась. секунд 15.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
да и вообще: так интересней:)
282
17 июля 2006 года
Bard
481 / / 26.02.2006
Вот намутил код
 
Код:
Open "D:\Image.jpeg" For Binary As 1 'картинка с интернета
r = Input(LOF(1), 1)
e = InStr(1, r, "PK", vbBinaryCompare) 'ищем начало архива
If r = 0 Then Close 1: End
w = Right(r, LOF(1) - e) 'режем
Open "D:\Image.zip" For Output As 2 'пишем архив в файл
Print #2, w
Close 2
Close 1
End


Если за картинку будет взят етот белый квадрат - все получится. Но если будет какая то другая картинка - с екзекуцией могут быть проблемы. Т.к. в иной картинке байты "PK" могут совпасть, и программа найдет только первые байти, а они будут в теле картинки.
403
17 июля 2006 года
ace lighting
411 / / 05.05.2006
вцелом спасибо тебе ОГРОМНОЕ! во!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог