![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить информацию из файла с инета [D5, WinXP]
Виталий09 © (2005-10-08 17:40:00)Здравствуйте!
Уважаемые мастера, подскажите пожалуйста как можно (на программном уровне) скачать
текстовый фаил с моего интернета-сайта и открыть его в memo
Заранее, спасибо.
Zeqfreed (2005-10-08 19:51:00) [1]Виталий09 (08.10.05 17:40)
Простейший вариант:
uses WinInet;
function InetGetPage(const Agent, Server, Path : String) : String;
var
hInet, hConnect, hReq : hInternet;
buf : array[1..1024] of Char;
read : Cardinal;
ReadFlag, ReqSent : boolean;
err : boolean;
errcode : Integer;
begin
err := false;
hInet := InternetOpen(PChar(Agent), INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
if hInet nil then begin
hConnect := InternetConnect(hInet, PChar(Server), INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
if hConnect nil then begin
hReq := HttpOpenRequest(hConnect, 'GET', PChar(Path), HTTP_VERSION, nil, 0, 0, 0);
if hReq nil then begin
ReqSent := HttpSendRequest(hReq, nil, 0, nil, 0);
if ReqSent then begin
repeat
ReadFlag := InternetReadFile(hReq, @buf, SizeOf(buf), read);
Result := Result + Copy(buf, 1, read);
until (not ReadFlag) or (read = 0);
end else begin
err := true;
errcode := GetLastError();
end;
end else begin
err := true;
errcode := GetLastError();
end;
end else begin
err := true;
errcode := GetLastError();
end;
end else begin
err := true;
errcode := GetLastError();
end;
if err then begin
MessageBox(0, PChar('Error #' + IntToStr(errcode) + ' has been occured'), 'Connection failed', MB_OK or MB_ICONWARNING);
end;
InternetCloseHandle(hReq);
InternetCloseHandle(hConnect);
InternetCloseHandle(hInet);
end;
Пример использования:
Memo1.Text := InetGetPage('123', 'www.delphimaster.ru', ' http://www.delphimaster.ru/cgi-bin/forum.pl?id=1128778852&n=18');