PDA

Ver la Versión Completa : Descargar con ProgressBar


MAXIUM
10-09-2008, 17:53:13
Quisiera saber como le meto un progressbar o en su defecto saber el tamaño del archivo antes de descargar. Gracias :)

Usando solo WinINet
function DescargarArchivo( sURL, sArchivoLocal: String ): boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
LongitudBuffer: DWORD;
F: File;
sMiPrograma: String;
begin
sMiPrograma := ExtractFileName( Application.ExeName );
hSession := InternetOpen( PChar( sMiPrograma ), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0 );

try
hURL := InternetOpenURL( hSession, PChar( sURL ), nil, 0, 0, 0 );

try
AssignFile( F, sArchivoLocal );
Rewrite( F, 1 );

repeat
InternetReadFile( hURL, @Buffer, SizeOf( Buffer ), LongitudBuffer );
BlockWrite( F, Buffer, LongitudBuffer );
until LongitudBuffer = 0;

CloseFile( F );
Result := True;
finally
InternetCloseHandle( hURL );
end
finally
InternetCloseHandle( hSession );
end
end;

Parametro
DescargarArchivo( 'http:\\miweb.com\imagen.jpg', 'C:\Mis documentos\imagen.jpg' );


http://delphiallimite.blogspot.com/2007/07/descargar-un-archivo-de-internet-sin.html

dec
10-09-2008, 18:04:15
Hola,

Podrías leer los artículos que sobre el API WinInet se encuentran en la Web de JM (http://www.lawebdejm.com/prog/delphi/index.html). ;)

MAXIUM
10-09-2008, 19:00:50
Muchisimas gracias DEC, ya encontre la solución donde dijiste ;)