Inicie um novo projeto e coloque um Button, um Edit, um Progressbar, um Label e um idHTTP (paleta Indy Clients);
No evento onClick do Button coloque o seguinte código:
varNo evento onWork do idHTTP1:
arquivo,caminho : string;
MyFile: TFileStream;begin
// definir o link
caminho:= 'http://www.arquivojuridico.com/'; // aqui defini um caminho pardão pro download , pode ser trocado por um edit, etc
arquivo:= edit1.text; // nome do arquivo para download
MyFile := TFileStream.Create('C:'+arquivo, fmCreate); // local no hd e nome do arquivo com a extensão, onde vai salvar.
try
IdHTTP1.Get('http://www.arquivojuridico.com/'+arquivo, MyFile); // fazendo o download do arquivo
finally
MyFile.Free;end;
ProgressBar1.Position := AWorkCount;No evento onWorkBegin do idHTTP1:
ProgressBar1.Position := 0;No evento onWorkEnd do idHTTP1:
ProgressBar1.Max := AWorkCountMax;
Label1.caption := "Download em andamente, espere!";
ProgressBar1.Position := ProgressBar1.Max;
Label1.caption := "Download Concluído!";
Agora aperte F9 e teste o código.
Lembrando que este é um exemplo bastante simples e que durante o download a aplicação fica "travada". Em uma aplicação este código deve estar implementado em uma thread, dessa forma evitasse que o usuário pense que o aplicativo parou de responder e feche o mesmo.
1 comentários:
Não funciona. O download fica incompleto!
Postar um comentário