Показать сообщение отдельно
  #11  
Старый 16.11.2008, 22:43
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

у тебя буфер равен 1024 байтов 1 КБ воемя за которое он закачет 1 кб за секунду сколько он КБ закачает такова и скорость

Вот получение размера файла

Код:
function THttpGet.getResourceSize(const AURL: String): Integer;
var
   hOpen, hConnect, hResource: HINTERNET;
   host, resource: string;
   buflen, tmp: DWORD;
begin
  hOpen := nil;
  hConnect := nil;
  hResource := nil;
  try
    ParseURL(AURL, host, resource);

    if not fError then begin
      hOpen := InternetOpen(fUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
      CheckError;
      if not fError then
        hConnect := InternetConnect(hOpen, PChar(host), INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
      CheckError;
      if not fError then
        hResource := HttpOpenRequest(hConnect, 'HEAD', PChar(resource), nil, nil, nil, 0, 0);
      CheckError;
      if not fError then
        HttpSendRequest(hResource, nil, 0, nil, 0);
      CheckError;
    end;

    if not fError then begin
      buflen := SizeOf(Result);
      tmp := 0;
      Result := 0;
      HttpQueryInfo(hResource, HTTP_QUERY_CONTENT_LENGTH or HTTP_QUERY_FLAG_NUMBER,
      @Result, buflen, tmp);
      CheckError;
    end else
      Result := 0;

      InternetCloseHandle(hConnect);
      InternetCloseHandle(hOpen);
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;

end;

Это я выдрал из своего класса, много у тебя нет, но основно смысл должен быть понять.
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.
Ответить с цитированием