Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    [C#] Una progress bar per lo zipping di un file

    ciao, ci stò sbatendo ma non riesco a creare una progress bar che mi indichi lo stato di progressione del file che si stà zipando
    uso la libreria free sharpziplib per zippare un unico file, ma non riesco ad inserirci una progress bar, vi faccio vedere come zippo il file:
    codice:
    Crc32 crc = new Crc32();
    ZipOutputStream s = new ZipOutputStream(File.Create(@pathlocale+output));
    s.SetLevel(6); 
    lblmessage.Text="Localizzazione file..";
    FileStream fs = File.OpenRead(@pathlocale+input);
    if(File.Exists(@pathlocale+input))
    {
    lblmessage.Text="File localizzato..";
    }
    lblmessage.Text="Compressione in corso..";	
    byte[] buffer = new byte[fs.Length];
    fs.Read(buffer, 0, buffer.Length);
    ZipEntry entry = new ZipEntry(input);            
    entry.DateTime = DateTime.Now;
    entry.Size = fs.Length;
    fs.Close();
    crc.Reset();
    crc.Update(buffer);
    entry.Crc  = crc.Value;
    s.PutNextEntry(entry);            
    s.Write(buffer, 0, buffer.Length);
    if(File.Exists(@pathlocale+output))
    {
    lblmessage.Text="File scritto correttamente";
    }
    s.Finish();
    s.Close();
    qualcuno potrebbe indicarmi come implementare una progress bar? anche solo concettualmente ovviamente
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    dovresti scrivere il file byte per byte in un ciclo, in questo modo dovresti poter implementare una progress bar, e non scrivere il file in blocco.
    Ans.

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    eh ci avevo pensato.. ma cavolo c'è un metodo:
    s.Write(buffer, 0, buffer.Length);
    che lo scrive tutto insieme
    Voglio l'alt+s anche per FF

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    non credo, sei tu se non sbaglio che gli dici quanti byte scrivere, il valore di buffer.Length
    Ans.

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da ans
    non credo, sei tu se non sbaglio che gli dici quanti byte scrivere, il valore di buffer.Length
    scusa e allora tu come faresti?
    cavolo questa progressbar non riesco a farla proprio funzionare.. stò usando la classe ftpClient.cs (non sò se conosci) per uppare un file e manco riesco ad inserirgli una progressbar
    Voglio l'alt+s anche per FF

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.