Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить информацию из файла с инета [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');


Наверх

Титульная страница Поиск, карта сайта Написать письмо