Purtroppo non ho il tempo di costruire un esempio concreto, ma credo che il componente adatto sia il TIdHTTP.
Questo componente ha un metodo Get che consente di ricevere il contenuto (restituito dal server Web) dato un indirizzo.
Il contenuto del file (di cui specifichi l'indirizzo) viene raccolto in un oggetto TStream (un discendente) che può successivamente salvarlo all'interno di un file su disco.
Il componente supporta alcuni eventi (OnStatus, OnWork, OnWorkBegin, OnWorkEnd) che restituiscono informazioni sullo stato dell'operazione (ad esempio, i byte scaricati).
Puoi sfruttare questi eventi per capire quanto del file è stato scaricato ed aggiornare in questo modo la tua interfaccia grafica (una ProgressBar) in modo appropriato.
Ciao!![]()