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

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

Artexoid

aaa.png

═════════════════════════════════════════════════════════════════
Помогите пожалуйста. Мне нужно организовать загрузку файла с интернет сервера (как показано на рисунке). Подскажите:
-Как проверить есть ли файл на сервере?
-Какой процедурой надо пользоваться для загрузки самого файла?
-Как сделать так чтобы ProgressBar показывала % загрузки файла?
-Как сделать чтобы Label показывал в байтах скалько байт загружено и сколько всего?
Зарание огромное спасибо!!!
 
Artexoid
тынц - для начала
 
Воспользоваться компонентом 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;
 
Спасибо большое это мне помогло!!!!!
 
Это радует <_<
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab