Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
1

Скачивание файлов с HTTP-ресурса

17.06.2014, 09:30. Просмотров 2004. Ответов 30
Метки нет (Все метки)

Всем Доброго Дня!

Подскажите пожалуйста как мне подключить к FileListBox
HTTP-ресурс: http://updates.nau.kiev.ua/nau9/ukr/?C=N;O=D

С уважением, Влад.
P.s. не уверен что с терминами все в порядке
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 09:30
Ответы с готовыми решениями:

Скачивание файла http
Здравствуйте. У меня файл не скачивается, не могу понять в чем дело. Option...

Скачивание с сайта через протокол http
Помогите. Эта программа напрочь отказывается скачивать этот файл. Она просто...

Скачивание файла с интернета через http прокол
Всем привет. Хотел найти в интернете файлообменник, с которого можно качать...

GetChunk и скачивание файлов с сервера.
Помогите! пожалуйста... никто не знает... Проблема: надо сделать программу,...

Загрузка html-файлов из интернета по протоколу HTTP
Исходный код всего проекта в виде архива: Участок исходного кода отвечающий...

30
Catstail
Модератор
23749 / 11829 / 2070
Регистрация: 12.02.2012
Сообщений: 19,235
17.06.2014, 10:45 2
Лучший ответ Сообщение было отмечено Vlad11 как решение

Решение

Вот код формы:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
 
Private Sub Command1_Click()
 
    HomeDir$ = App.Path
    
    HomeUrl$ = Me.Text1.Text
    
    p% = InStrRev(HomeUrl$, "/")
    
    HomeUrl$ = Left$(HomeUrl$, p% - 1)
    
    URLDownloadToFile 0, Me.Text1.Text, HomeDir$ + "\111.111", 0, 0
 
    Me.List1.Clear
    
    fi% = FreeFile
    
    Open HomeDir$ + "\111.111" For Binary Access Read As #fi%
    
    LF& = LOF(fi%)
    
    Buf$ = Space$(LF&)
    
    Get #fi%, , Buf$
    
    Close #fi%
    
    ppp& = InStr(Buf$, "alt=""[   ]""")
    
    Do
       
       b& = InStr(ppp&, Buf$, "<a href=")
       
       If b& = 0 Then Exit Do
              
       e& = InStr(b& + 1, Buf$, ">")
       
       fnam$ = Mid$(Buf$, b& + 9, e& - b& - 10)
              
       Me.List1.AddItem fnam$
        
       ppp& = e& + 1
        
    Loop
 
End Sub
 
Private Sub Command2_Click()
 
    HomeDir$ = App.Path
    
    HomeUrl$ = Me.Text1.Text
    
    p% = InStrRev(HomeUrl$, "/")
    
    HomeUrl$ = Left$(HomeUrl$, p% - 1)
    
    For i% = 0 To Me.List1.ListCount - 1
    
        If Me.List1.Selected(i%) Then
        
           fnam$ = Me.List1.List(i%)
           
           URLDownloadToFile 0, HomeUrl$ + "/" + fnam$, HomeDir$ + "/" + fnam$, 0, 0
        
           Me.List1.Selected(i%) = False
        
           DoEvents
        
        End If
        
    Next i%
 
    MsgBox "OK!"
 
End Sub
 
Private Sub Command3_Click()
    Unload Me
End Sub
5
Миниатюры
Скачивание файлов с HTTP-ресурса  
Вложения
Тип файла: zip t110.zip (1.9 Кб, 21 просмотров)
Антихакер32
Заблокирован
17.06.2014, 11:32 3
Я только что в соседней теме написал программу которая скачивает иконку и длл-ку
и сразу использует
0
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
17.06.2014, 12:29  [ТС] 4
Борис, Доброго Вам Дня!

Я сейчас как карась, которого вытащили на берег, хватаю воздух, а дышать нечем...
Спасибо ОГРОМНОЕ!
Нету слов - на вопрос - как подключить ресурс готовая задача.

"Вот код формы:" - да я там как - бы и не все понимаю.
Одним словом - "Борис - ты попал" -
сейчас попробую разобраться -
а потом достану глупыми вопросами.
P.S. Алексу - Сям,Сям- вот тебе и сям

Добавлено через 56 минут
Цитата Сообщение от Catstail Посмотреть сообщение
Function URLDownloadToFile Lib "urlmon"
Как говорил советский классик :"Переведи..."
Я так понимаю что Function URLDownloadToFile внутренняя функция VB ( в моем "Полном руководстве для профффессиональных разработчиков " на 718 страниц такой нет.

А нет ли HELPa желательно русифицированного, а то мой VB посылает меня куда-то очень далеко...
0
Антихакер32
Заблокирован
17.06.2014, 12:34 5
Это не внутренняя функция VB, это функция системной DLL
0
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
17.06.2014, 12:49  [ТС] 6
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Это не внутренняя функция VB, это функция системной DLL
Совсем весело
0
Антихакер32
Заблокирован
17.06.2014, 13:06 7
Цитата Сообщение от Vlad11 Посмотреть сообщение
Совсем весело
вот глянь на этот код из первой моей версии использования удаленных файлов
может чтото прояснится, хотябы будет что у гугла спрашивать

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Option Explicit
'
'   © Антихакер32™ Нативная DLL создаваемая по необходимости +Стильная иконка
'   И пример использования модуля SubClass
'   P.S Ничего устанавливать не нужно, требуется пустая форма
'
Const HTCAPTION = 2
Const WM_MOVE = &H3
Const WM_SIZE = &H5
Const WM_LBUTTONDOWN = &H201
Const WM_NCLBUTTONDOWN = &HA1
Dim WithEvents tx1 As TextBox
Dim WithEvents cm1 As CommandButton
Dim WithEvents cm2 As CommandButton
 
Private Declare Function Hooks Lib "MHook.dll" () As Object
'Экспортируемые функции
'Function AddChildHook(Child As Object, ByVal ParentProcName$, ByVal Message&) As Long
'    'Добавление хука для отлова сообщений от дочернего контрола
'    'Арг: Дочерний объект// вызываемое имя отцовой процедуры // сообщения окна
'    '
'Function AddParentHook(Child As Object, ByVal ChildProcName$, ByVal Message&) As Long
'    'Добавление хука для отлова сообщений от родительского окна
'    'Арг: Дочерний объект// вызываемое имя дочерней процедуры // сообщения окна
'    '
'Function AddHook(Obj As Object, ByVal ProcName$, ByVal Message&) As Long
'    'Добавление хука для отлова сообщений от указанного окна
'    'Арг: Объект// вызываемое имя процедуры // сообщения окна
'    '
'Function CloseHook(ByVal hwnd&) As Long
'    'Закрывает все хуки связанные с этим окном
'    'После этого можно останавливать программу
'    '
'Function CloseAllHooks() As Long
'    'Закрывает все ранее открытые хуки, и возвращает их число
    '
 
Dim h&, h1&
Dim mHooks As Object
 
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef IpdwFlags As Long, ByVal dwReserved As Long) As Long
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
 
Function CheckFiles(ByVal ZipUrl$, ByVal Folder$, ParamArray ParseNames()) As Long
    'Проверяет наличие файлов, указанных в аргументах ParseNames
    'И при необходимости докачивает их в указанную папку Folder
    'Если папка не указанна, то отсутствующие файлы будут скопированны в текущую папку
    '© Антихакер32™  ...2014
    '
    Const Promt0 = "Отсутствуют необходимые компоненты" & vbCrLf
    Const Promt1 = Promt0 & "Отсутствует соединение с интернетом, для того чтоб их скачать"
    Const Promt2 = Promt0 & "Указанный URL не является ZIP-папкой с компонентами"
    Const Promt3 = Promt0 & "URL Zip-папки, указан неправильно"
    Dim vEach, OldDir$, ArcName$, f&, zExists As Boolean, s$, i&, b() As Byte
    Dim ShellApp As Object, Fso As Object, Zip As Object
    Set Fso = CreateObject("Scripting.FileSystemObject"): OldDir = CurDir$
    If Fso.FolderExists(Folder) Then ChDir Folder Else Folder = OldDir
    For Each vEach In ParseNames
        If Fso.FileExists(vEach) Or Fso.FolderExists(vEach) Then
            CheckFiles = CheckFiles + 1: GoTo NextEach
        ElseIf Len(ZipUrl) Then On Error Resume Next
            If Not zExists Then 'Обращение к интернету и закачка необходимых файлов
                i = Len(ZipUrl): ArcName = ZipUrl
                For f = 1 To i: If Mid$(ArcName, f, 1) Like "[!0-9!A-Z!a-z]" Then Mid$(ArcName, f, 1) = "_"
                Next: ArcName = ArcName & ".zip"
                If InternetGetConnectedState(0&, 0&) = 0 Then MsgBox Promt1, vbInformation: End
                If URLDownloadToFile(0, ZipUrl, ArcName, 0, 0) Then MsgBox Promt3, vbInformation: End
                Set ShellApp = CreateObject("Shell.Application")
                Set Zip = ShellApp.NameSpace(Fso.GetAbsolutePathName(ArcName)): zExists = Zip.Items.Count
                If Not zExists Then MsgBox Promt2, vbInformation: Kill ArcName: End
            End If: 'On Error GoTo 0
            If Zip.ParseName((vEach)) Is Nothing Then GoTo NextEach
            ShellApp.NameSpace((Folder)).CopyHere Zip.ParseName((vEach))
            f = FreeFile: Open CStr(vEach) For Binary As #f: ReDim b(LOF(f) - 1)
            Do: DoEvents: s = b: Get #f, 1, b: Loop While s <> CStr(b) 'пока есть разница данных
            Close #f: CheckFiles = CheckFiles + 1 'Файл из архива успешно скопирован, переход к следующему файлу
        Else: MsgBox Promt3, vbInformation: End
        End If
NextEach:
    Next: If Folder <> OldDir Then ChDir OldDir 'Если папка была изменена, то возврат в прежнюю папку
    
    If Len(ArcName) Then Kill ArcName
End Function
 
Private Sub Form_Load()
    Dim c(1) As CommandButton, f&
    Call CheckFiles( _
    "http://www.cyberforum.ru/blog_attachment.php?attachmentid=2468&d=1402890085" _
    , "", "MHook.dll", "PlasticFantastic Icon 13.ico")
    '-------------------------------------------------------------
    Me.Icon = LoadPicture("PlasticFantastic Icon 13.ico")
    Set mHooks = Hooks 'Загружаем класс
    
    Set tx1 = Controls.Add("vb.TextBox", "tx1")
    tx1.Move 100, 100, 4000, 500: tx1.Text = "Сдвинь меня !, и посмотри на стильную иконку"
    tx1.Visible = 1
    Set c(0) = Controls.Add("vb.CommandButton", "cm1")
    Set c(1) = Controls.Add("vb.CommandButton", "cm2")
    For f = 0 To 1: c(f).Move 100, 100 + (500 * f), 1500, 500
        c(f).Visible = 1: c(f).Caption = Choose(f + 1, "Закрыть хук", "Активировать хук")
    Next
    Set cm1 = c(0): Set cm2 = c(1)
    h1 = mHooks.AddHook(Me, "WMove", WM_MOVE)
End Sub
 
Private Sub cm2_Click()
    h1 = mHooks.AddChildHook(tx1, "TXMove", WM_LBUTTONDOWN)
End Sub
 
Private Sub cm1_Click()
    mHooks.CloseHook h1
End Sub
 
Public Function WMove(ParamArray Arg())
    Debug.Print Me.Left, Me.Top
End Function
 
Public Function TXMove(ParamArray Arg())
    Arg(2) = WM_NCLBUTTONDOWN
    Arg(3) = HTCAPTION
    TXMove = 1
End Function
Добавлено через 5 минут
километровая портянка, да?...
это еще что.. я по началу вообще хотел использовать массив 16-ричных данных
тогда бы меня опять забанили, по причине использование форума не по назначению
0
Catstail
Модератор
23749 / 11829 / 2070
Регистрация: 12.02.2012
Сообщений: 19,235
17.06.2014, 13:12 8
Цитата Сообщение от Vlad11 Посмотреть сообщение
Как говорил советский классик :"Переведи..."
- это функция загрузки, которая импортируется из внешней библиотеки urlmon.dll.

Использованию в VB функций API Windows посвящены несколько хороших книг:

1) Д.Эпплман "Программирование Win32 API в VB" - Библия...
2) Стивен Роман - название примерно такое же...
3) Брюс МакКини "VB - крепкий орешек"

Ну, и много хелпов можно найти в Сети. Обращаю внимание на сайт "Русский проект".
0
Антихакер32
Заблокирован
17.06.2014, 13:19 9
...

Добавлено через 3 минуты
Цитата Сообщение от Catstail Посмотреть сообщение
Ну, и много хелпов можно найти в Сети.
я обычно составляю продвинутый запрос

например:
"URLDownloadToFile" or vb6 or VisualBasic or 6 -net -delphy -64

и получаю очень точный ответ... вот...
1
Catstail
Модератор
23749 / 11829 / 2070
Регистрация: 12.02.2012
Сообщений: 19,235
17.06.2014, 13:48 10
Когда знаешь название функции, это работает... А если не знаешь?

Добавлено через 32 секунды
Цитата Сообщение от Антихакер32 Посмотреть сообщение
-delphy
- delphi.
0
Антихакер32
Заблокирован
17.06.2014, 13:54 11
Цитата Сообщение от Catstail Посмотреть сообщение
- delphi.
..это означает минус делфи, так-как от програмистов с делфи очень много ссылок
0
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
17.06.2014, 13:54  [ТС] 12
Цитата Сообщение от Антихакер32 Посмотреть сообщение
"URLDownloadToFile" or vb6 or VisualBasic or 6 -net -delphy -64
А что - Правилами форума - нецензурная лексика не запрещена

Борис - еще раз огромное спасибо, и прошу разрешения на изменение Вашей проги- хочу что-бы видел каталог приемник файлов на предмет уже закачаных файлов
0
Антихакер32
Заблокирован
17.06.2014, 14:33 13
Цитата Сообщение от Catstail Посмотреть сообщение
Когда знаешь название функции, это работает... А если не знаешь?
с другой стороны, я ведь привел пример, вместо слова в кавычках ставится
"как скачать файл?" or vb6 or VisualBasic or 6 or 32 -net -delphI -64
"загрузить файл с помощью" or vb6 or VisualBasic or 6 or 32 -net -delphi -64
и тд
получаем первые ссылки на публикации, обычно движок гугла
составляет списки по ревалентности
и делаем следующий запрос если ответ не устроит...

правда гугл может страницу теста отправить с кривыми цифрами, чтобы убедиться что вы человек
2
Catstail
Модератор
23749 / 11829 / 2070
Регистрация: 12.02.2012
Сообщений: 19,235
17.06.2014, 14:41 14
Цитата Сообщение от Vlad11 Посмотреть сообщение
прошу разрешения на изменение Вашей проги
- эта Ваша программа... Бога ради!
1
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
17.06.2014, 16:42  [ТС] 15
Catstail,
Будьте добры, подскажите пожалуйста:
у Вас какой-то левый ListBox ( c возможностью выбора)
а у меня не выбирается ( нету квандратика)
0
Catstail
Модератор
23749 / 11829 / 2070
Регистрация: 12.02.2012
Сообщений: 19,235
17.06.2014, 16:45 16
ListBox обычный - из VB6. Выберите свойство Style=1.
1
Антихакер32
Заблокирован
17.06.2014, 16:56 17
в свойствах <Property> <Style = 1 (CheckBox) >
0
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
17.06.2014, 16:57  [ТС] 18
Цитата Сообщение от Catstail Посмотреть сообщение
Выберите свойство Style=1.
Так это же совсем другая песня!
Спасибо!
0
Антихакер32
Заблокирован
17.06.2014, 17:02 19
у меня есть свой, мною разработанный компонент
http://www.cyberforum.ru/blogs/445967/blog2297.html

Добавлено через 4 минуты
опять не успел ответить... письмо с вопросом получил, а пока набирал текст
за меня ответили.. ладно пойду еще куданибудь, а то меня уже перестали замечать
с моими "быстрыми ответами"
1
Vlad11
9 / 9 / 2
Регистрация: 12.05.2014
Сообщений: 225
17.06.2014, 17:16  [ТС] 20
Catstail,

А как тут вставить Print Screen?

Добавлено через 8 минут
Цитата Сообщение от Антихакер32 Посмотреть сообщение
а то меня уже перестали замечать
с моими "быстрыми ответами"
Извини - дело не в "быстрых ответах" , а в уровне - чайник то без ручки
0
17.06.2014, 17:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 17:16

Считывание ресурса из интернет....
Пожалуйста, подскажите: как сделать одновременное скачивание русурса из...

Извлечение строк из ресурса
Не могу понять как вытащить из файла ресурсов строку из таблицы...

Загрузка иконки из файла ресурса
Добрый день всем! Вот такой вопрос: Помещаю иконку в файл ресурса. Про...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru