Страница: 1 |
Вопрос: Помогите перевести кусок Sub'a с Delphi 6 | Добавлено: 05.11.04 14:11 |
Автор вопроса: ![]() |
1) Вот код на шестом дельфине. Особенно интересует как перевести функцию BlockWrite
Buffer: array[1..1024] of Byte; ... REPEAT err:= InternetReadFile(hURL, @Buffer,SizeOf(Buffer),BufferLen); IF err= false then begin ShowMessage ('Ошибка :('); exit; end; BlockWrite(f, Buffer, BufferLen); Application.Processmessages; UNTIL (BufferLen= 0) Or (NADO= FALSE); ShowMessage ('Успешно загружено!'); end; Помогите, плиз. Очень надо! 2) Не дадите функцию/суб для бинарной записи в файл? |
Ответы | Всего ответов: 8 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 30 Ответов: 683 |
Профиль | Цитата | #1 | Добавлено: 05.11.04 14:29 |
2)
Private Sub BinaryWrite(path As String, data As String)
Open path For Binary Access Write As #1 Put #1, 1, data Close #1 End Sub ' path - Путь файла ' data - Че пишем... |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Разработчик Offline Client ICQ: 204034 Вопросов: 106 Ответов: 1919 |
Профиль | Цитата | #2 | Добавлено: 05.11.04 15:15 |
1) а что за blockwrite не знаешь?
2) Пасиба |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 05.11.04 15:43 |
Если тебе пример по InternetReadFile нужен то его можно и на VB найти ![]() BlockWrite записывает в конец переменной f кажется, сейчас Дельфи под рукой нет, точно сказать не могу ![]() |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 05.11.04 17:19 |
Кстати, вот сейчас сижу инет часть пытаюсь сваять для клиента форума, вот что получается, кажется как раз по твоей теме ![]() Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal lpszAgent As String, ByVal dwAccessType As Long, ByVal lpszProxy As String, ByVal lpszProxyBypass As String, ByVal dwFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternet As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Long Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByRef lpBuffer As Any, ByVal dwNumberOfBytesToRead As Long, ByRef lpdwNumberOfBytesRead As Long) As Integer Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternet As Long, ByVal lpszServerName As String, ByVal nServerPort As Long, ByVal lpszUserName As String, ByVal lpszPassword As String, ByVal dwService As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Long Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInternet As Long) As Boolean Private Declare Function HttpOpenRequest Lib "wininet.dll" Alias "HttpOpenRequestA" (ByVal hConnect As Long, ByVal lpszVerb As String, ByVal lpszObjectName As String, ByVal lpszVersion As String, ByVal lpszReferrer As String, ByVal lplpszAcceptTypes As String, ByVal dwFlags As Long, ByRef dwContext As Long) As Long Private Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (ByVal hRequest As Long, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByRef lpOptional As Any, ByVal dwOptionalLength As Long) As Long Private Const INTERNET_OPEN_TYPE_PRECONFIG As Long = 0& Private Const INTERNET_SERVICE_HTTP As Long = 3& Private Const INTERNET_DEFAULT_HTTP_PORT As Long = 80& Private hInternet As Long, hConnect As Long, hRequest As Long Public Function GetAllForums(ByRef outData As String) As Boolean Dim szBuffer As String * 1024, _ dwBytesRead As Long hInternet = InternetOpen(sInetName, INTERNET_OPEN_TYPE_PRECONFIG, cNull, cNull, cNull) If Not hInternet = cNull Then ' Îòêðûâàåì HTTP ñåññèþ hConnect = InternetConnect(hInternet, sOfflineHost, INTERNET_DEFAULT_HTTP_PORT, cNull, cNull, INTERNET_SERVICE_HTTP, cNull, cNull) If Not hConnect = cNull Then ' Îòêðûâàåì çàïðîñ hRequest = HttpOpenRequest(hConnect, "GET", sURLGetForums, cNull, cNull, cNull, cNull, vbNull) If Not hRequest = cNull Then ' Ïîñûëàåì çàïðîñ GetAllForums = Not (HttpSendRequest(hRequest, vbNullString, cNull, ByVal cNull, cNull) = cNull) If GetAllForums Then Do While InternetReadFile(hRequest, ByVal szBuffer, Len(szBuffer), dwBytesRead) outData = outData & Left(szBuffer, dwBytesRead) DoEvents If dwBytesRead = cNull Then Exit Do Loop End If Call InternetCloseHandle(hRequest) End If Call InternetCloseHandle(hConnect) End If Call InternetCloseHandle(hInternet) End If End Function |
Номер ответа: 5 Автор ответа: ![]() ![]() Вопросов: 5 Ответов: 139 |
Профиль | Цитата | #5 | Добавлено: 05.11.04 18:52 |
там лучше юзать не wininet.dll, а MSXML library.
Все равно ее придется использовать для парсера хмл. |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() Разработчик Offline Client ICQ: 204034 Вопросов: 106 Ответов: 1919 |
Профиль | Цитата | #6 | Добавлено: 05.11.04 19:24 |
там лучше юзать не wininet.dll, а MSXML library.
Все равно ее придется использовать для парсера хмл. Это ты к чему?? Ты похоже промахнулся топиком... |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 05.11.04 23:45 |
это он про клиента мне ![]() А код я тебе вполне рабочий дал... |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 30 Ответов: 683 |
Профиль | Цитата | #8 | Добавлено: 06.11.04 07:32 |
а что за blockwrite не знаешь?
Я в дельфях вообще чайник |
Страница: 1 |
|