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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2008, 17:47   #1
Sanek_ntsk
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 91
По умолчанию Размер скачиваемого файла

Как узнать размер файла перед скачиванием в интернете в килобайтах. и как узнать сколько скачалось на данный момент?
Не мы такие, жизнь такая...
Sanek_ntsk вне форума Ответить с цитированием
Старый 02.03.2008, 17:59   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Все зависит от того каким способом вы скачиваете файл
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 02.03.2008, 18:06   #3
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Sanek_ntsk вы EI пользуетесь? В Opera есть такая возможность
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 02.03.2008, 18:08   #4
Sanek_ntsk
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 91
По умолчанию

Мне на делфи надо прогу написать.
У меня не получается получить размер файла в килобайтах и сколько килобайт этого файла скачано на данный момент.
Вот код:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var F: File;
    ResumePos,BufferLen,SumSize: DWORD;
    hSession, hURL: HInternet;
    Buffer: array[1..1024] of Byte;
    err: boolean;
begin
if (edit1.Text='') or (edit1.Text='') then
    messagebox(0,'Не введён адрес или место сохранения','Ошибка',$10*1*1)
else begin
SumSize:=0; ResumePos:=0;
AssignFile (F,Edit2.Text);
IF FileExists (Edit2.Text) then
  begin
   Reset(f,1);
   ResumePos:=FileSize(F);
   Seek(F, FileSize(F));
  end else ReWrite(f,1);
y:=TRUE;
hSession:= InternetOpen('X-Kachalka',PRE_CONFIG_INTERNET_ACCESS,nil,nil,0);
hURL := InternetOpenURL(hSession,PChar(Edit1.Text),nil,0,0,0);
if ResumePos>0 then
 begin
 InternetSetFilePointer(hURL,ResumePos,nil,0,0);
 end;
label3.Caption:='Состояние: Скачивается';
REPEAT
 err:= InternetReadFile(hURL, @Buffer,SizeOf(Buffer),BufferLen);
 IF err= false then
  begin
  messagebox(0,'При закачке произошла ошибка','Ошибка',$10*1*1);
  exit;
  end;
 BlockWrite(f, Buffer, BufferLen);
 Application.Processmessages;
UNTIL (BufferLen= 0) Or (y=FALSE);
  messagebox(0,'Файл успешно загружен!','Сообщение',$10*1*4);
  label3.Caption:='Состояние: Готов';
end;
end;
Короче: адрес считывается c edit1 место сохранения с edit2
Не мы такие, жизнь такая...

Последний раз редактировалось Sanek_ntsk; 02.03.2008 в 18:11.
Sanek_ntsk вне форума Ответить с цитированием
Старый 02.03.2008, 18:52   #5
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я знаю... Тоже сделал бесконечный цикл. Возвращает ерунду всякую обычно, не стал разбираться. И еще не по теме, как чувствует себя форма во время закачки ? Не думали такие вещи в поток отдельный пихать ?
BOBAH13 вне форума Ответить с цитированием
Старый 02.03.2008, 19:38   #6
Sanek_ntsk
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 91
По умолчанию

форма подтормаживает чуть-чуть
Не мы такие, жизнь такая...
Sanek_ntsk вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер файла eoln Общие вопросы Delphi 2 13.07.2008 01:44
Как извлечь имя скачиваемого файла Crazyman Работа с сетью в Delphi 0 01.07.2008 02:34
Как ограничить размер файла geronime PHP 8 20.02.2008 14:26
размер файла мандарин Общие вопросы Delphi 4 06.05.2007 17:22