ProgressBar no download
Olá... Estou usando a função:
//////////////
function DownloadFile(Source, Dest: string): Boolean;
begin
try
Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0;
except
Result:= False;
end;
end;
//////////////
para fazer download de arquivo pelo Delphi... Gostária de saber, como implementar um ProgressBar para mostrar a quantidade que ja foi baixada do arquivo... Se possível tambem, a porcentagem...
//////////////
function DownloadFile(Source, Dest: string): Boolean;
begin
try
Result:= UrlDownloadToFile(nil, PChar(source),PChar(Dest), 0, nil) = 0;
except
Result:= False;
end;
end;
//////////////
para fazer download de arquivo pelo Delphi... Gostária de saber, como implementar um ProgressBar para mostrar a quantidade que ja foi baixada do arquivo... Se possível tambem, a porcentagem...
Doctor-x
Curtidas 0
Respostas
Rafael Heise
14/11/2003
Tente pegar o tamanho do arquivo no servidor.
Caso consiga (não sei como pois nunca fiz nada desse tipo), sete como o Max do progress bar. Depois vá verificando em que tamanho está o seu arquivo destino, e vá atribuindo ao progressbar o tamanho do arquivo!
acho que isso pode funcionar!
valeu
Caso consiga (não sei como pois nunca fiz nada desse tipo), sete como o Max do progress bar. Depois vá verificando em que tamanho está o seu arquivo destino, e vá atribuindo ao progressbar o tamanho do arquivo!
acho que isso pode funcionar!
valeu
GOSTEI 0
Luizfernando777
14/11/2003
no evento do WebBrowser
procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
ProgressBar1.Max := ProgressMax;
ProgressBar1.Position := Progress;
end
procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
ProgressBar1.Max := ProgressMax;
ProgressBar1.Position := Progress;
end
GOSTEI 0
Cebikyn
14/11/2003
Com a função URLDownloadToFile, que nada tem a ver com TWebBrowser, isso não é possível, pelo menos não que eu saiba.
GOSTEI 0
Doctor-x
14/11/2003
Com a função URLDownloadToFile, que nada tem a ver com TWebBrowser, isso não é possível, pelo menos não que eu saiba.
O que posso usar para substituir... Uso delphi 7, tem algo do Indy que possa substituir... Eu irei fazer download sempre de 1 arquivo .zip somente... Qualquer componente ou funcao para download que de para usar ProgressBar, seria bem-vinda...
GOSTEI 0
Analyst
14/11/2003
[b:76d6f3ab8e]Amigo fiz isso a pouco tempo, faça como eu pegue já o componente WebCopy...que está no site do ClubeDelphi...é muito bom e facil de usar e tem tudo e mais sobre download pela net...
Abraços.[/b:76d6f3ab8e]
Abraços.[/b:76d6f3ab8e]
GOSTEI 0
Felipe Z
14/11/2003
Download com idHTTP e ProgressBar.
1- Inicie um novo projeto : File / New / VCL Form Aplication;
2- Coloque um Button, um Edit, um Progressbar e um Label, e um idHTTP (Paleta Indy Clients);
3- No evento OnClick do Button coloque o código abaixo:
var
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;
4- No evento OnWork do idHTTP1:
ProgressBar1.Position := AWorkCount;
5- No evento OnWorkBegin do idHTTP1:
ProgressBar1.Position := 0;
ProgressBar1.Max := AWorkCountMax;
Label1.caption := "Download em andamente, espere!";
6- No evento OnWorkEnd do idHTTP1:
ProgressBar1.Position := ProgressBar1.Max;
Label1.caption := "Download Concluído!";
7- Agora dê F9, e teste a aplicação.
1- Inicie um novo projeto : File / New / VCL Form Aplication;
2- Coloque um Button, um Edit, um Progressbar e um Label, e um idHTTP (Paleta Indy Clients);
3- No evento OnClick do Button coloque o código abaixo:
var
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;
4- No evento OnWork do idHTTP1:
ProgressBar1.Position := AWorkCount;
5- No evento OnWorkBegin do idHTTP1:
ProgressBar1.Position := 0;
ProgressBar1.Max := AWorkCountMax;
Label1.caption := "Download em andamente, espere!";
6- No evento OnWorkEnd do idHTTP1:
ProgressBar1.Position := ProgressBar1.Max;
Label1.caption := "Download Concluído!";
7- Agora dê F9, e teste a aplicação.
GOSTEI 0