Meu gerenciador de download está quase pronto...

1. Meu gerenciador de download está quase pronto...

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/11/2014 - 21:38h

Meu programa está quase pronto,porém ele não salva o arquivo em lugar nenhum,li que preciso utilizar o GetEnviromentVariable,gostaria de saber:

Como utilizo o GetEnviromentVariable no meu código-fonte?

veja como está o meu código-fonte:


procedure TForm1.Button1Click(Sender: TObject);
var
URL, Arq : string;
MyFile: TFileStream;
begin
// Definir o link
URL := Edit1.Text; // Aqui fica o caminho de onde ira fazer o download , pode ser trocado por um edit, etc..
Arq := ExtractFileName(StringReplace(URL,'/','\',[rfReplaceAll]));
try // Nome do arquivo para download
MyFile := TFileStream.Create('Desktop',fmCreate); //Local no hd e nome do arquivo com a extensão, onde vai salvar.
try
IdHTTP1.Get(URL, MyFile); // Fazendo o download do arquivo
finally
MyFile.Free;
end;
finally
end;
end;
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
begin
ProgressBar1.Position := AWorkCount;
end;
procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Int64);
BEGIN
ProgressBar1.Position:=10;
Sleep(150);
ProgressBar1.Position:=20;
Sleep(150);
ProgressBar1.Position:=30;
Sleep(150);
ProgressBar1.Position:=40;
Sleep(150);
ProgressBar1.Position:=50;
Sleep(150);
ProgressBar1.Position:=60;
Sleep(150);
ProgressBar1.Position:=75;
Sleep(150);
ProgressBar1.Position:=90;
Sleep(150);
ProgressBar1.Position:=100;
Sleep(150);
Showmessage('Terminou!');
ProgressBar1.Position := 0;
ProgressBar1.Max := AWorkCountMax;
Label1.caption := 'Download em andamento, espere!';
end;
procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position := ProgressBar1.Max;
Label1.caption := 'Download Concluído!';
end;
end.



  


2. Re: Meu gerenciador de download está quase pronto...

Brian Chalega da Silva
brian_ch

(usa Arch Linux)

Enviado em 06/12/2014 - 20:29h

Você não está usando o endereço que você salvou na variável "arq", veja que no tutorial ele passa esse valor para o TFileStream.

E acho que não precisa desse StringReplace substituindo,os "/" por "\", ele deve fazer isso porque está no windows, onde se usa a barra invertida para os endereços.

Porque você não coloca um breakpoint nesse método pra "debugar" ele e ver o que está acontecendo?

----
E, você conseguiu solucionar aquela sua outra dúvida? A sobre a instalação do Indy? Se conseguiu marque aquele tópico como resolvido.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts