Hola a todos, e estado mirando en el foro y encontre una forma bastante limpia y curiosa para descargar archivos.Se comenta en el
siguiente hilo .
El caso es que lo he intentado implementar en mi codigo pero no me funciona, el error que da es el siguiente:
[Hint] Unit1.pas(49): Value assigned to 'GetInetFile' never used
El codigo es el siguiente:
Código Delphi
[-]
function GetInetFile(const fileURL, FileName: String): boolean;
const
BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName),
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL), nil,0,INTERNET_FLAG_RELOAD,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer,
SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
procedure TForm1.FormCreate(Sender: TObject);
var
aver:TStringList;
Almacen:String;
FileOnNet, LocalFileName: string;
begin
Sleep(3000);
FileOnNet:='http://www.loquesea.com/actualizar.txt';
LocalFileName:='actualizar.txt';
if GetInetFile(FileOnNet,LocalFileName)=True then
ShowMessage('Descargado Correctamente');
else
ShowMessage('No descargado correctamente');
aver:=TStringList.Create;
aver.Clear;
aver.LoadFromFile('actualizar.txt');
Almacen:=aver.GetText;
aver.Free;
ProgressBar1.Destroy;
Label7.Caption:='Aplicacion cargada con exito';
Label7.Caption:=Almacen;
end;
end.