Alex.sys доброй ночи.
Примитивную, что называется прямо из коробки(кроме установленного VB6 ничего не надо) можно организовать применив компонент
Microsoft Internet Transfer Control 6.0. По умолчанию он не присутствует на палитре компонентов, так что необходимо его добавить (размещен в ActiveX компоненте msinet.ocx, на тот случай если его не будет в списке добавляемых компонентов).
Далее, бросаем этот компонент на форму добавляем два TextBox, одну кнопку CommandButton и три лейблы (в одной в свойстве Caption пишем Откуда, во второй Куда, третья будет отображать статус) Label в перёд коддить.
Вот примеры
http://msdn.microsoft.com/en-us/libr...95(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 мышление в правильном направлении. :)