Показать сообщение отдельно
  #2  
Старый 20.08.2008, 17:04
Merch7 Merch7 вне форума
Прохожий
 
Регистрация: 25.12.2007
Сообщения: 24
Репутация: 5
По умолчанию

Код:
uses WinInet;

function TWinForm2.GetInetFile (const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: Cardinal;
  f: FileStream;
  sAppName: String;
begin
  Result:=False;
  sAppName := ExtractFileName(Application.ExecutablePath);
  hSession:=InternetOpen(sAppName, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, fileURL, nil, 0, 0, 0);
    try
      f:=FileStream.Create(t2.Text,FileMode.CreateNew,FileAccess.Write);
      repeat
        InternetReadFile(hURL, Buffer, SizeOf(Buffer), BufferLen);
        f.Write(Buffer,0,BufferLen);
      until BufferLen = 0;
      MessageBox.Show(f.Length.ToString+' байтов');
      f.Close;
      Result:=True;
    finally
      InternetCloseHandle(hURL)
    end
  finally
    InternetCloseHandle(hSession)
  end
end;
Admin: Учимся правильно оформлять код.
Ответить с цитированием