Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
26/06/08 17:59
TSP
ho il seguente codice in una copia di files che lavora in un backgroundworker , come ricavo il progresso

private void CopyDirectory(string SourceDirectory, string TargetDirectory)
        {
            DirectoryInfo source = new DirectoryInfo(SourceDirectory);
            DirectoryInfo target = new DirectoryInfo(TargetDirectory);
            int currfile;
            if (!source.Exists)
                return;
            if (!target.Exists)
                target.Create();
            FileInfo[] sourceFiles = source.GetFiles();
            //progressBar1.Maximum = sourceFiles.Length;
            currfile = sourceFiles.Length;
            for (int i = 0; i < sourceFiles.Length; ++i)
            {
                if (File.GetLastWriteTime(sourceFiles[i].FullName) > File.GetLastWriteTime(target.FullName + "\" + sourceFiles[i].Name))
                    //toolStripStatusLabel2.Text = "Copiando: " + sourceFiles[i].Name;
                //toolStripStatusLabel1.Text = currfile + "\" + sourceFiles.Length;
                File.Copy(sourceFiles[i].FullName, target.FullName + "\" + sourceFiles[i].Name, true);
                
                currfile = currfile - 1;
                //progressBar1.Increment(1);
            }
            DirectoryInfo[] sourceDirectories = source.GetDirectories();
            for (int j = 0; j < sourceDirectories.Length; ++j)
            {

                CopyDirectory(sourceDirectories[j].FullName, target.FullName + "\" + sourceDirectories[j].Name);
                
            }

        }
aaa
27/06/08 7:14
Il Totem
Calcola in anticipo la dimensioni della cartella, poi fai il rapporto tra la dimensione dei file copiati e quella della cartella per ottenere la percentuale.
aaa
27/06/08 16:24
TSP
perfetto!
tante grazie:k:
aaa