Si, ho già visto quel link tempo fa ed è stato il punto di partenza per lo sviluppo del mio progretto. Peccato che sia un pò troppo limitato in fatto di nozioni... cercavo qualcosa in più.
Ho guardato molti link e scaricato numerosi esempi (anche in spagnolo
, poi arrivando alle pagine in tedesco ho rinunciato
), ma avrei voluto l'opinione di qualcuno che ha già fatto qualcosa del genere.
Provando e riprovando, però, sono arrivato a questo risultato:
codice:
Private Sub UserControl_AsyncReadComplete (AsyncProp As AsyncProperty)
If AsyncProp.StatusCode=vbStatusCodeError Then 'Controlla se si è verificato un errore
Msgbox "Il download è fallito"
Else
hFile=FreeFile
Open <nome file> For Binary As #hFile
Get #hFile, ,AsyncProp.Value
Close #hFile
End If
End Sub
ma così non so quale tipo di errore si è verificato.
Per calcolare il tempo stimato del download invece faccio così (volevo sapere se il ragionamento è corretto ed avere suggerimenti su come migliorare):
codice:
Private Sub UserControl_AsyncReadProgress (AsyncProp As AsyncProperty)
Static LastBytesRead As Long
If AsyncProp.BytesRead > 0 Then
dwTime = (AsyncProp.BytesMax - LastBytesRead) / (AsyncProp.BytesRead - LastBytesRead)
LastBytesRead = AsyncProp.BytesRead
End If
End Sub
e così dwTime diminuisce man mano che il download procede ma sarà un risultato attendibile??
L'ultima cosa è la velocità del download che proprio non riesco a calcolare.
Sei la mia ultima speranza perchè non so proprio che fare