Показать полную графическую версию : [решено] Как качать файлы с интернета на Visual Basic 6?
Alex.sys
23-11-2008, 22:18
Здраствуйте, дорогие форумчане. У меня возник вопрос. Как у среде програмирования Visual Basic 6 можно создать приминивную качалку. Тоесть Textbox1 - URL, Textbox2 - путь хранения файла, Command1 - "скачать", Label1 - счетчик в байтах. Вот пожалуй і всё. В самого на это дело не хватает мозгов, прошу вашей помощи.
Сомневаюсь что VB 6 может с чем то подобным справиться.
Alex.sys
23-11-2008, 23:26
есть пример создания такого приложения, только он в среде пятого бейса.
Ой, поэксперементируй с компонентами, я VB на эту винду не устанавливал, так что щас не могу сказать какие точно компоненты надо использовать, посмотри есть ли там компонент от IE или что то подобное. Вообще лучше для таких целей использовать С++ к примеру Borland C++ Builder или MS Visual C++ с помощью библиотеки MFC.
Alex.sys
23-11-2008, 23:50
Да мне друзья тоже говорят что надо использовать типа Microsoft Visual Studio к примеру, а вот предподаватель)))))))))) по программированию говорит что надо сделать это задание именно в Microsoft Visual Basic 6. Я сам в шоке как тут можно это сделать. Да вот весь интерес в примере создания приложения такого типа в Visual Basic 5. Как туда такого можно было запихать я незнаю. Короче нада програмку эту сделать както. Приложения относящееся к интернету ещё не писал...(((((((((. Помогите программеры...
Да мне друзья тоже говорят что надо использовать типа Microsoft Visual Studio к примеру, а вот предподаватель)))))))))) по программированию говорит что надо сделать это задание именно в Microsoft Visual Basic 6. »
Да за такие задания сделать с этим преподавателем надо ... Джае говорить не стану говорить что. Ищи в компонентах Internet Explorer потом в его свойствах покапайся, может что и придумаеш. :)
Alex.sys
24-11-2008, 00:22
Спасибо, сейчас что то придумаю :)
Кстатии можеш выложить, исходник из этой прораммы сделанной на VB5?
Alex.sys
24-11-2008, 00:32
Исходника самого нет. - Только листинг программы в книге
Так сделай скрин шот в чём проблема? :)
Alex.sys
24-11-2008, 00:38
книга не в электронном варианте :dont-know
Да ну, а я сразу и не понял.
Alex.sys доброй ночи.
Примитивную, что называется прямо из коробки(кроме установленного VB6 ничего не надо) можно организовать применив компонент Microsoft Internet Transfer Control 6.0. По умолчанию он не присутствует на палитре компонентов, так что необходимо его добавить (размещен в ActiveX компоненте msinet.ocx, на тот случай если его не будет в списке добавляемых компонентов).
Далее, бросаем этот компонент на форму добавляем два TextBox, одну кнопку CommandButton и три лейблы (в одной в свойстве Caption пишем Откуда, во второй Куда, третья будет отображать статус) Label в перёд коддить.
Вот примеры
http://msdn.microsoft.com/en-us/library/aa227495(VS.60).aspx
http://www.vbnet.ru/forum/show.aspx?id=176637
вот небольшой микс
Dim DownloadWorking As Boolean
Private Sub Command1_Click()
Call Downloads
End Sub
Public Function Downloads()
If DownloadWorking = False Then
DownloadWorking = True
Dim b() As Byte
Form1.Inet1.Protocol = icHTTP
Form1.Inet1.URL = Text1.Text
b() = Form1.Inet1.OpenURL(Form1.Inet1.URL, icByteArray)
FileNumber = FreeFile()
Open Text2.Text For Binary Access Write As #FileNumber
Put #FileNumber, , b()
Close #FileNumber
DownloadWorking = False
End If
End Function
Private Sub Inet1_StateChanged(ByVal State As Integer)
Label3.Caption = GetState(State)
End Sub
Private Function GetState(s As Integer) As String
Select Case s
Case 0
GetState = "No state information is available."
Case 1
GetState = "Looking up the IP address for the remote server."
Case 2
GetState = "Found the IP address for the remote server."
Case 3
GetState = "Connecting to the remote server."
Case 4
GetState = "Connected to the remote server."
Case 5
GetState = "Requesting information from the remote server."
Case 6
GetState = "The request was sent successfully to the remote server."
Case 7
GetState = "Receiving a response from the remote server."
Case 8
GetState = "The response was received successfully from the " & _
"remote server."
Case 9
GetState = "Disconnecting from the remote server."
Case 10
GetState = "Disconnected from the remote server."
Case 11
GetState = "An error has occurred while communicating with the " & _
"remote server."
Case 12
GetState = "The request was completed, all data has been received."
Case Else
GetState = "Unknown state: " & FormatNumber(State, 0)
End Select
End Function
Указание скачанного размера файла не реализовано, в примере на msdn там указанно как.
И ещё, VB входит в Visual Studio и противопоставить их нереально, а то и безграмотно. Возможно, друзья имели ввиду Visual C++.
Durson, не все возможности VB6 были исчерпаны, а в новых ОС - MS будет избавляется от поддержки приложений написанных на VB6, тем самым агитируя переход на .NET.
C++ IMHO очень громоздкий для таких целей, если не требуется рекордная скорость приложения (не путать со скоростью скачивания). А использования MFC ещё и отяжелит приложение.
Про компоненты IE мышление в правильном направлении. :)
Alex.sys
24-11-2008, 01:20
Спасибо большое. Вобще респект :yahoo:
Alex.sys, рад что смог помочь. :) Хотелось бы узнать, если можно, и какая была реакция препода.
Про компоненты IE мышление в правильном направлении. »
Спасибо знаем :)
Хотелось бы узнать, если можно, и какая была реакция препода. »
Наверное глаза на лоб полезли, иной реакции не у одного программиста не может быть :biggrin:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.