Newsgroup: it.comp.lang.visual-basic
Titolo: Copy e progress bar

Ciao a tutti,
ho creato un codice per copiare alcuni file :
Dim sorgentefilie1, destinazionefile1 As String
Dim sorgentefilie2, destinazionefile2 As String
Dim sorgentefilie3, destinazionefile3 As String
sorgentefile1 = "C:\"
destinazionefile1 = "J:\"
sorgentefile2 = "C:\windows"
destinazionefile2 = "J:\cartella"
sorgentefile3 = "C:\"
destinazionefile3 = "J:\"
FileCopy(sorgente1, destinazione1)
FileCopy(sorgente2, destinazione2)
FileCopy(sorgente3, destinazione3)
ecc... (ho molti file)
tutto ciò ora è impostato sul pulsante contenuto mia form ma vorrei
fare qualcosa di diverso e cioè:
si apre la form contenente l' etichetta "copia in corso" e sotto una
progressbar
al momento dell'apertura della form parte la copia e io vedo avanzare
la progressbar
alla fine magari metterò una msgbox con "100%" completato e chiudo
tutto.
si può fare? come?
grazie
Marco


Guarda l'altro post che ti ho risposto cose interessanti
per questa domanda
dipende dalla strategia di backup
Se i files sono tanti e piccoli......fai la copia ed incrementa la
progress di uno ad ogni file copiato
MA
se i files invece sono grossi e tanti...pensa di copiare c:\*.*
allra devi andare di api e la progress ci vuole
la api è SHFileOperation API
un esempio con progress
http://www.vbforums.com/showthread.php?t=388447
 è per il net 1.1
è una bae di partenza.....
cerca tutte le info della tua versione sulla guida premendo f1....per
una volta che la guida in linea è fatta bene....usiamola!

Dim sorgentefilie3, destinazionefile3 As String
cosě hai dimensionato 3 variant (source) e 3 stringhe (target).
ciao 

Marco
In un file di testo:
C:\"J:\
C:\windows"J:\cartella
C:\"J:\
dim i() as string,n as long
ff=freefile
open <file di testo> for binary as #ff
    i=split(input(lof(ff),#ff))
close #ff
if isarray(i) then
    if ubound(i)>0 then
        for n=0 to ubound(i)
            progressbar.value=(n*100)/ubound(i)
            FileCopy split(i(n),chr(34))(0), split(i(n),chr(34))(1)
        next n
    end if
end if
-- 
Ciao Fede
By Chicco Production
http://bcp.freetools.it

C:\"J:\
creo un file di testo con tutti i percorsi di partenza e arrivo dei
file tipo "C:\Cartella\File1.mdb" "J:\Cartella\File1.mdb" ecc...?
il codice dim i() as string..... dove lo metto? su load della mia
form, sulla progress bar all' interno della form?
scusa ma sono alle prime armi e mi servono descrizioni passo passo
grazie
Marco

 scusa ma sono alle prime armi e mi servono descrizioni passo passo
Se vuoi risposte chiare,
devi prima analizzare il problema
e poi esporlo il più chiaramente possibile.
'Contenuto file C:\Lista.txt
'C:\File01.mdb"J:\File01.mdb
'C:\File02.mdb"J:\File02.mdb
'C:\File99.mdb"J:\File99.mdb
Private Sub Command1_Click()
    Dim i() As String, n As Long
    ff = FreeFile
    Open "C:\Lista.txt" For Binary As #ff
        i = Split(Input(LOF(ff), #ff))
    Close #ff
    If IsArray(i) Then
        If UBound(i) > 0 Then
            For n = 0 To UBound(i)
                progressbar.Value = (n * 100) / UBound(i)
                FileCopy Split(i(n), Chr(34))(0), Split(i(n), Chr(34))(1)
            Next n
        End If
    End If
End Sub
Tieni conto che questa è solo una rudimentale base di partenza.
Ampliando la stessa puoi realizzare il progetto.
Questa è la rispota alla domanda che hai posto,
ma che secondo me ha bisogno di una analisi più approfondita.
