Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-11-2007, 12:33   #1
Therock2709
Senior Member
 
L'Avatar di Therock2709
 
Iscritto dal: Jul 2003
Messaggi: 3251
[Visual basic 2005] Tempo residuo copia di un file e/o velocità copia

Ciao a tutti,
sto facendo un programma per la copia dei file.
Vorrei creare un CountDown che faccia la stima del tempo rimanente della copia (come quando in win si fa una copia di un file).
In particolare dovrei crearlo per una serie di file messi in un array...

Cmq il mio problema è che non saprei come conoscere la velocità di copia, per il resto poi mi arrangio...

Qualche dritta?

Ultima modifica di Therock2709 : 01-11-2007 alle 19:59.
Therock2709 è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 11:41   #2
CwNd
Senior Member
 
L'Avatar di CwNd
 
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
Prova a dare un occhiata qui:

http://msdn2.microsoft.com/en-us/lib...yf(VS.80).aspx

Nota in particolar modo che vi è un parametro che è showUI che è quello che dovrebbe fare al caso tuo


CwNd è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 12:24   #3
Z3R0`c00l
Senior Member
 
L'Avatar di Z3R0`c00l
 
Iscritto dal: Apr 2003
Città: Teggiano (SA)
Messaggi: 705
Quote:
Originariamente inviato da Therock2709 Guarda i messaggi
Ciao a tutti,
sto facendo un programma per la copia dei file.
Vorrei creare un CountDown che faccia la stima del tempo rimanente della copia (come quando in win si fa una copia di un file).
In particolare dovrei crearlo per una serie di file messi in un array...

Cmq il mio problema è che non saprei come conoscere la velocità di copia, per il resto poi mi arrangio...

Qualche dritta?
allora... se non ricordo male usando gli stream (writestream e readstream) dovresti poter sapere quanto è stato scritto o letto fino a quel momento... di conseguenza conoscendo la dimensione totale, e impostando un evento temporale che aggiorna la progress bar ogni 500ms o 1000ms dovresti facilmente poter calcolare il tempo rimamente.
__________________
Le foto degli eventi della provincia di Salerno su ENJOYVALLO.COM (www.enjoyvallo.com)
Z3R0`c00l è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 14:07   #4
CwNd
Senior Member
 
L'Avatar di CwNd
 
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
Quote:
Originariamente inviato da Z3R0`c00l Guarda i messaggi
allora... se non ricordo male usando gli stream (writestream e readstream) dovresti poter sapere quanto è stato scritto o letto fino a quel momento... di conseguenza conoscendo la dimensione totale, e impostando un evento temporale che aggiorna la progress bar ogni 500ms o 1000ms dovresti facilmente poter calcolare il tempo rimamente.
Con quello che gli ho likato *dovrebbe* uscirti direttamente la fienstra come quando copi un file con windows
CwNd è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 14:27   #5
Z3R0`c00l
Senior Member
 
L'Avatar di Z3R0`c00l
 
Iscritto dal: Apr 2003
Città: Teggiano (SA)
Messaggi: 705
Quote:
Originariamente inviato da CwNd Guarda i messaggi
Con quello che gli ho likato *dovrebbe* uscirti direttamente la fienstra come quando copi un file con windows
lo so, ma lui non ha chiesto come copiare un file... ma come ricostruire il calcolo del tempo residuo in una copia di file....
__________________
Le foto degli eventi della provincia di Salerno su ENJOYVALLO.COM (www.enjoyvallo.com)
Z3R0`c00l è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 14:51   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Il calcolo della velocità lo fai secondo stime successive...
Inizialmente non presenti velocità e tempo...dopo che hai trasferito una certa quantità di dati (ad esempio il 5% o 100 KByte in caso il 5% sia troppo grande) calci la velocità di trasferimento ed il tempo rimanente. La velocità puoi ad esempio aggiornarla ogni secondo e di conseguenza il tempo rimanente.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 15:12   #7
Z3R0`c00l
Senior Member
 
L'Avatar di Z3R0`c00l
 
Iscritto dal: Apr 2003
Città: Teggiano (SA)
Messaggi: 705
Quote:
Originariamente inviato da cionci Guarda i messaggi
Il calcolo della velocità lo fai secondo stime successive...
Inizialmente non presenti velocità e tempo...dopo che hai trasferito una certa quantità di dati (ad esempio il 5% o 100 KByte in caso il 5% sia troppo grande) calci la velocità di trasferimento ed il tempo rimanente. La velocità puoi ad esempio aggiornarla ogni secondo e di conseguenza il tempo rimanente.
in realtà potrebbe iniziare a presentare la velocità al primo aggiornamento della quantità di dati trasferiti (conoscerebbe sia la qnt di dati che il tempo impiegato), ma è da considerare che è tutto molto approssimato... l'unica velocità attentidibile è quella calcolata a traferimento effettuato... quindi il tempo rimamente sarebbe molto fluttuante...... un po come fa winrar se tenete presente...
__________________
Le foto degli eventi della provincia di Salerno su ENJOYVALLO.COM (www.enjoyvallo.com)
Z3R0`c00l è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 15:18   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Certo, è chiaro, ma minore è la quantità di dati minore è la precisione della stima, soprattutto perché all'inizio entrano in gioco le varie bufferizzazioni del SO.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 16:16   #9
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da Therock2709 Guarda i messaggi
...Vorrei creare un CountDown che faccia la stima del tempo rimanente della copia...
tuo vuoi la stima del tempo alla fine della copia e il tempo rimanente alla fine della copia

Quote:
...è che non saprei come conoscere la velocità di copia, per il resto poi mi arrangio...
La velocità (si calcola in Byte per Secondi) della copia non è altro che i byte scritti diviso i secondi trascorsi stessa cosa del download di un file dal web che non sono altro che byte scritti/salvati sul pc.


Fai il tutto con quello che ti offre l'api oppure manualmente così:

1. Calcolo dei byte scritti (trasferiti)
2. Tempo impiegato (i secondi che passano)
3. Tempo stimato alla fine (che cambia a seconda della velocità di download)
4. Byte per secondo trasferiti

pseudo code
tempo = Timer - iTime
TotBytes = TotBytes + ByteScritti
TempoStimato= tempo/ TotBytes * ByteTotali (ByteTotali=Lunghezza del file)
BytePerSec = TotBytes / tempo
iTime=Timer

stampa ByteTotali
stampa TotBytes
stampa tempo
stampa TempoStimato
stampa BytePerSec


Quote:
...In particolare dovrei crearlo per una serie di file messi in un array...
fatto l'algoritmo poi lo usi per il tuo array di file modificandolo con variabili (i).

Ultima modifica di okay : 03-11-2007 alle 16:56.
okay è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 18:04   #10
Therock2709
Senior Member
 
L'Avatar di Therock2709
 
Iscritto dal: Jul 2003
Messaggi: 3251
Ok grazie dei consigli.

In realtà il mio attuale programmino usa proprio l'opzione ShowUI di windows (quello che usa sempre per la copia di un file). Il problema è che apre-chiude una finestrella per ogni file che copia ed è abbastanza fastidioso.

Per l'uso degli stream reader/writer ci avevo pensato, ma volevo implementarlo usando i metodi FileCopy del System.IO. Quindi attualmente non ho traccia dei byte scritti fino a un certo punto

Vabbe' vedrò di implementare la copia come un flusso di byte...
Therock2709 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v