Salve a tutti, avrei bisogni di un'informazione, quale sarebbe il comando per ritrovare la velocità di un file in download da http client e quale sarebbe il comando per la % di download in progress bar?
per la velocità di download credo sia
HttpClient1.Headers.Data
Ciao, io uso Gambas da pochi giorni, per cui sicuramente non sono la persona corretta per darti le indicazioni precise, però posso provare ad aiutarti.
Alla pagina
http://gambasdoc.org/help/comp/gb.net.curl/httpclient puoi trovare un esempio di come scaricare un file in modo Asincrono (perchè è questo il metodo che devi utilizzare), ma devi sapere prima la dimensione del file da scaricare, altrimenti non potrai fare il calcolo della percentuale di dove sei arrivato.
La logica che devi seguire è questa:
Quando il download parte, ti devi memorizzare l'orario (tramite la funzione Timer).
Poi, dentro l'evento _Download_Read, devi aggiungere alla fine del codice, che deve:
1) rileggere l'orario con la funzione Timer e calcolare con la lettura precedente quanto tempo è passato (chiameremo questo tempo sTempo)
2) ricavarsi la lunghezza della variabile buffer e dividerla per sTempo ti ricavi quanti byte al secondo stai trasferendo
3) ricavarsi la lunghezza della variabile downloadBuffer, dividerla per la lunghezza totale del file che stai trasferendo, moltiplicarla per 100 e tenere solo la parte intera. Così ti sei calcolato a che percentuale sei arrivato nel trasferimento.
Se poi ti vuoi sbizzarrire (come ho fatto io), puoi anche calcolare quanti byte devi ancora trasferire, e usando la variabile che contiene quanti byte al secondo stai trasferendo, ti calcoli quanti secondi ti mancano al completamento. Leggi l'orario corrente, gli aggiungi i secondi previsti per il completamento, e lo mostri a video, che indica l'orario previsto di scaricamento (questo lo fai solo se il file da trasferire è abbastanza grande, altrimenti non ha senso).
Spero di esserti stato utile.
Ciao
Gigi