Download e progressão

17/05/2003

1

[b:bbdf3effed]Olá[/b:bbdf3effed]

Como faço para [color=darkblue:bbdf3effed]pegar[/color:bbdf3effed] o tamanho de um arquivo de uma determinada URL, tipo tenho um programa q faz download à partir de uma URL especificada, daí gostaria de saber como faço p/ saber o tamanho desse arquivo...
Também gostaria de saber como fazer, já sabendo o tamanho do arquivo, uma barra de progressão q marque o quanto já foi [color=darkblue:bbdf3effed] puxado[/color:bbdf3effed] e o quanto ainda falta para terminar.

[b:bbdf3effed]VALEW....[/b:bbdf3effed] :wink: [/b]


Responder

Posts

17/05/2003

Dcport

Uma boa alternativa é utilizar a WinInet, que é um biblioteca do Windows para acesso a servidores HTTP, FTP e Gopher. Como o tópico é extenso para eu detalhar aqui, pegue um exemplo completo que deixei no meu servidor FTP:

ftp://dcport.cjb.net/delphi/delphi_wininet.zip

Sugiro também que os interessados procurem mais informações em http://msdn.microsoft.com (façam uma busca por wininet). Algumas das vantagens da WinInet são:

- A wininet.dll existe em qualquer computador com Windows, você não precisa redistribuir;
- Não aumenta o tamanho do programa redistribuindo componentes Indy ou semelhantes;
- Pode ser usada de outras ferramentas (MS Visual C++, VB, C++ Builder, etc).


-- dcport


Responder

18/05/2003

Celo-faveri

olá dcport...
valew pelo arquivo q me indicou, ele foi de grandiosíssima ajuda...

+ 1 vez valewwwwwwwwwwwww........ :D

só mais uma perguntinha...não teria como eu ver a taxa de transferência e o tanto q já foi baixado, c puder me ajudar (denovo) ficaria muito grato... :wink:


Responder

18/05/2003

Dcport

É só você modificar a função de download.

Para saber o que já foi recebido, crie um acumulador e some a ele os bytes que cada passagem do loop recebe. Para medir a taxa de transferência, use a função Time no início e no fim de cada passagem do loop e calcule a diferença de tempo.


-- dcport


Responder