Страница: 1 |
Пробую ещё раз! ВОПРОС: Вот загружаю с нета текст с файла через MSINET.ocx а он весит много, как мне заменить его на API функции? НУЖЕН ОТВЕТ! Тебе все еще надо?? В смысле чё? тебе нада сохранить файл из инета на винт? если это то мыль - отвечу Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0 Private Const INTERNET_OPEN_TYPE_DIRECT = 1 Private Const INTERNET_OPEN_TYPE_PROXY = 3 Private Const scUserAgent = "VB Project" Private Const INTERNET_FLAG_RELOAD = &H80000000 Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer Private Function OpenURL(ByVal sUrl As String) As String Dim hOpen As Long Dim hOpenUrl As Long Dim bDoLoop As Boolean Dim bRet As Boolean Dim sReadBuffer As String * 2048 Dim lNumberOfBytesRead As Long Dim sBuffer As String hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0) hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, INTERNET_FLAG_RELOAD, 0) bDoLoop = True While bDoLoop sReadBuffer = vbNullString bRet = InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead) sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead) If Not CBool(lNumberOfBytesRead) Then bDoLoop = False Wend If hOpenUrl <> 0 Then InternetCloseHandle (hOpenUrl) If hOpen <> 0 Then InternetCloseHandle (hOpen) OpenURL = sBuffer End Function Private Sub Command1_Click() Text1 = OpenURL("http://vbnet.ru/faq/showall.asp") End Sub А дальше вперед и песней!! Фу,как грубо! Обявляешь сокет из wsock32.dll, WSAStartup (документацию по сокету можно найти почти везде), подаешь запросы типа "GET http://server.ru", а потом "GET /text.txt"... И через сокет все получаешь. Это, наверно, самый низкий уровень, доступный в Винде через API... Дак и так все понятно в коде - поставь на форму Text1 и Command1. Жми на Command1 и жди. У меня на P3-1000, WinXP чуть подвисла, но загрузила. Если файл маленький, то виснет меньше - если большой ... На wasm.ru есть статья Aquila, в которой ясно и доходчиво рассказывается, что куда посылается при общении броузер-вебсервер. Если тебе, конечно, текст надо с сайта скатать. Страница: 1 |
Вопрос: Надо Заменить Inet на API
Добавлено: 07.11.03 23:20
Автор вопроса:
HACKER
Воз загружаю с нета текст с файла через Inet.ocx а он весит зараза много, как мне заменить это на API функции?
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа: HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 08.11.03 14:28
Ну ошибся немного, MSINET.ocx но вы могли и догадатся. Жду недождусь пока мне кто-то поможет!
Номер ответа: 2
Автор ответа: HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 08.11.03 19:29
ТЮ!
Номер ответа: 3
Автор ответа: HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 09.11.03 15:46
Ну люди!!!!!!!!!!!!! НУ ПОЖАЙЛУСТА!!!!!!!!!! ПРОСТИТЕ МЕНЯ ЗА ВСЕ ГРеХИ! Я БОЛЬШЕ НЕБУДУ! МНЕ БЫ ТОЛЬКО ЗАГРУЗИТЬ ТЕКСТ ИЗ ФАЙЛА В ИНТЕРНЕТЕ API ФУНКЦИЯМИ!!!!
Номер ответа: 4
Автор ответа: HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 11.11.03 21:07
Номер ответа: 5
Автор ответа: Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #5
Добавлено: 11.12.03 19:23
Номер ответа: 6
Автор ответа: Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #6
Добавлено: 12.12.03 07:22
Номер ответа: 7
Автор ответа: Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #7
Добавлено: 12.12.03 15:40
Номер ответа: 8
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #8
Добавлено: 12.12.03 17:48
Номер ответа: 9
Автор ответа: HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #9
Добавлено: 12.12.03 20:40
А можно примерами?
Номер ответа: 10
Автор ответа: Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #10
Добавлено: 13.12.03 09:51
Номер ответа: 11
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #11
Добавлено: 14.12.03 05:12