Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Как получить информацию из файла с инета   Найти похожие ветки 

 
Виталий09   (2005-10-08 17:40) [0]

Здравствуйте!

Уважаемые мастера, подскажите пожалуйста как можно (на программном уровне) скачать
текстовый фаил с моего интернета-сайта и открыть его в memo

Заранее, спасибо.


 
Zeqfreed ©   (2005-10-08 19:51) [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://delphimaster.net/view/2-1128778852/");



Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
2-1128843624
Proxytel
2005-10-09 11:40
2005.10.30
TStringGrid - поставить выделение


1-1129013418
Gorez
2005-10-11 10:50
2005.10.30
janXMLparser2


14-1128678431
__DATA__
2005-10-07 13:47
2005.10.30
Удаление через коммандную строку папки,содержащей пробелы в имени


1-1128767887
Antonn
2005-10-08 14:38
2005.10.30
Ширина выводимого текста на Canvas е


5-1107759708
h010d
2005-02-07 10:01
2005.10.30
TreeView с колонками