Autore Topic: Download e Progress Bar  (Letto 785 volte)

Offline Teolino

  • Gamberetto
  • *
  • Post: 6
    • Mostra profilo
Download e Progress Bar
« il: 28 Agosto 2010, 22:05:04 »
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

Offline swsooue

  • Gamberetto
  • *
  • Post: 24
    • Mostra profilo
Re: Download e Progress Bar
« Risposta #1 il: 29 Agosto 2010, 01:21:31 »
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






Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Download e Progress Bar
« Risposta #2 il: 29 Agosto 2010, 01:28:59 »
Se per Holly E Benji il pallone è un amico per me la ricerca è un'amica: http://www.gambas-it.org/smf/index.php?topic=920.0

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Download e Progress Bar
« Risposta #3 il: 30 Agosto 2010, 01:45:28 »
Ti bannerei solo per la prima frase... per fortuna hai postato un link...  :rolleyes:

 ;D ;D ;D