我正在寻找一些教程/源代码来恢复暂停/中止的下载。我找到了一个源代码,但我收到了这个错误:
procedure TForm1.Download(url, pathLocal : String);
var
eFile : TFileStream;
IdHTTP : TIdHTTP;
begin
idHTTP := TIdHTTP.Create(nil);
if FileExists(pathLocal) then //Caso o arquivo já exista ele o abre, caso contrário cria um novo
eFile := TFileStream.Create(pathLocal,fmOpenReadWrite)
else
eFile := TFileStream.Create(pathLocal,fmCreate);
try
try
eFile.Seek(0,soFromEnd); //Colocando o ponteiro no final do arquivo
IdHTTP.Head(url); //Buscando informações do arquivo
if eFile.Position < IdHTTP.Response.ContentLength then //Somente se o arquivo já não foi totalmente baixado
begin
IdHTTP.Request.ContentRangeStart := eFile.Position; //Definindo onde deve inciar o download
IdHTTP.Request.ContentRangeEnd := IdHTTP.Response.ContentLength; //Verificando o tamanho do arquivo
if eFile.Position > 0 then
begin //É importante que o range seja definido com o tamanho inicial e o final
IdHTTP.Request.Range := Format('%d-%d',[eFile.Position,IdHTTP.Response.ContentLength]);
end;
IdHTTP.Get(url,eFile);
end;
except
ShowMessage('Conexão interrompida.');
end;
finally
eFile.Free;
IdHTTP.Disconnect;
IdHTTP.Free;
end;
end;
这是错误:
Undeclared identifier: 'Range'
我怎样才能解决这个问题?