• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Delphi-Загрузка файлов с интернет сервера

  • Автор темы Artexoid
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Artexoid

aaa.png

═════════════════════════════════════════════════════════════════
Помогите пожалуйста. Мне нужно организовать загрузку файла с интернет сервера (как показано на рисунке). Подскажите:
-Как проверить есть ли файл на сервере?
-Какой процедурой надо пользоваться для загрузки самого файла?
-Как сделать так чтобы ProgressBar показывала % загрузки файла?
-Как сделать чтобы Label показывал в байтах скалько байт загружено и сколько всего?
Зарание огромное спасибо!!!
 
?

????

Artexoid
- для начала
 
B

Barmutik

Воспользоваться компонентом TIndyHTTP.

Мелкий пример использования .. откачка в потоке. В потом вызываются в Synchronize секции функции которые обновляют содерджимое на форме. У вас есть общее количество байт для скачки и сколько уже скачано... отсюда элементарно делаются проценты:

Код:
procedure TDownloadThread.Execute;
var
Response: TFileStream;
begin
try
 Response := TFileStream.Create('Ваш файл на диске', fmCreate);
 FDownloadHTTP := TIdHTTP.Create(nil);
 try
  FDownloadHTTP.Request.Referer := 'xxx';
  FDownloadHTTP.OnWorkBegin := WorkBegin;
  FDownloadHTTP.OnWork := Work;
  FDownloadHTTP.Get('Ваш урл', Response);
 finally
  FDownloadHTTP.Free;
  Response.Free;
 end;
except
end;
end;

procedure TDownloadThread.WorkBegin(Sender: TObject;
AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
FMaxProgress := AWorkCountMax;
Synchronize(FSetMaxProgress);
end;

procedure TDownloadThread.Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
FProgress := AWorkCount;
Synchronize(FSetProgress);
end;
 
A

Artexoid

Спасибо большое это мне помогло!!!!!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!