Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2008, 19:39   #1
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию Получение размера файла

Здравствуйте, уважаемые.
Мне в программе необходимо закачивать из интернета файлы (обновления), и соответственно нужно получить размер закачиваемого файла... я пытаюсь делать это так:
Код:
   sAppName := ExtractFileName(Application.ExeName);
   hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
   try
      hURL := InternetOpenURL(hSession, PChar(fileURL),nil,0,0,0);
      try
         dwIndex  := 0;
         dwBufferLen := 20;
         if HttpQueryInfo(hURL, HTTP_QUERY_CONTENT_LENGTH or HTTP_QUERY_FLAG_NUMBER,
                          @dwBuffer, dwBufferLen, dwIndex) then
            GetsSize :=PChar(@dwBuffer);
         Synchronize(SetCurrent);
         AssignFile(f, FileName);
         Rewrite(f,1);
         repeat
            InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
            BlockWrite(f, Buffer, BufferLen);
            downSize:=downSize+BufferLen;
            Synchronize(SetCurrent);
         until BufferLen = 0;
         CloseFile(f);
         Progress:=1;
         Synchronize(SetProgress);
      finally
      InternetCloseHandle(hURL)
      end
   finally
   InternetCloseHandle(hSession)
   end;
но в итоге в переменной GetsSize оказывается значение вроде такого: Я(и символ в виде квадрата)...
пробовал также так:
Код:
HttpQueryInfo(hURL, HTTP_QUERY_CONTENT_LENGTH,
                          @dwBuffer, dwBufferLen, dwIndex)
, но тогда в переменной оказывается нужное значение, но с символом (символ в виде квадрата) в конце (но не всегда)...

Подскажите, как правильно получить размер файла, чтоб его можно было перевести в числовой вид?

ЗЫ форум обрезал неизвестные символы....
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 27.10.2008 в 19:49.
Johnson вне форума Ответить с цитированием
Старый 27.10.2008, 20:17   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Извиняюсь, нашел ответ в разделе работы с сетью...
Тему можно удалить...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 27.10.2008, 20:19   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Johnson, во втором сообщении можно было бы и ссылку поставить на ту тему.
Alar вне форума Ответить с цитированием
Старый 27.10.2008, 22:19   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Извиняюсь, вот ссылка, в которой нашел ответ: http://programmersforum.ru/showthrea...=HttpQueryInfo
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C проверка размера строки challengerr Помощь студентам 2 04.08.2008 12:50
Два размера фаила Иллидан Безопасность, Шифрование 1 09.03.2008 00:13
Увеличение размера поля kayman Общие вопросы Delphi 6 16.10.2007 22:35
Фиксация размера ячейки Умелец Microsoft Office Excel 7 12.09.2007 16:29
Получение размера mp3 файла Mickle Общие вопросы Delphi 1 05.04.2007 00:32