Thread obsoleto [vb.net]Copia file con progress bar

bivio

Nuovo utente
Autore del topic
27 Giugno 2010
8
41
Miglior risposta
0
Problema risolto[vb.net]Copia file con progress bar

Salve, sto cercando di realizzare un piccolo eseguibile in vb.net, per la copia di backup di una determinata cartella.Al momento sono riuscito a creare il programma che mi copia la cartella, ora vorrei perfezionare un po il tutto. Vorrei aggiungere le seguenti cose:
- Una progress bar che mi indichi lo stato di avanzamento della copia
- La possibilità di impostare la cartella di destinazione del salvataggio.(cosa che attualmente e stabilità nel programma)

Il codice che utilizzo è questo:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Qualcuno potrebbe darmi una mano?


Grazie mille
 
Ultima modifica:
Riferimento: [vb.net]Copia file con progress bar

Il codice non posso/possiamo scrivetelo ( o meglio, si può però tu non impareresti nulla, faresti solo copia/incolla ), ma posso dirti cosa studiare :

- FolderBrowserDialog

- Eventi ProgressBar

Ciao.
 
Riferimento: [vb.net]Copia file con progress bar

Ciao, hai pienamente ragione, forse, mi sono espresso io male, non cercavo il codice bello e pronto, cercavo un input per poi proseguire (cosa che mi hai dato). Ho fatto alcune prove aiutandomi con google ma non sono riuscito a concludere, sto seguendo questa guida di msdn
Perfavore, Entra oppure Registrati per vedere i Link!
ma non riesco a fare funzionare la progressbar, questo il codice che sto provando:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
My.Computer.FileSystem.CopyDirectory("C:\1", "C:\2", True)


End Sub
Private Sub CopyWithProgress(ByVal ParamArray filenames As String())
' Display the ProgressBar control.
pBar1.Visible = True
' Set Minimum to 1 to represent the first file being copied.
pBar1.Minimum = 1
' Set Maximum to the total number of files to copy.
pBar1.Maximum = filenames.Length
' Set the initial value of the ProgressBar.
pBar1.Value = 1
' Set the Step property to a value of 1 to represent each file being copied.
pBar1.Step = 1

' Loop through all files to copy.
Dim x As Integer
For x = 1 To filenames.Length - 1
' Copy the file and increment the ProgressBar if successful.
If CopyFile(filenames(x - 1)) = True Then
' Perform the increment on the ProgressBar.
pBar1.PerformStep()
End If
Next x
End Sub

Private Function CopyFile(ByVal filenames As String) As Boolean
Throw New NotImplementedException
End Function

Private Sub overwrite(ByVal p1 As Object)
Throw New NotImplementedException
End Sub

End Class

Secondo te dove sbaglio?
 
Riferimento: [vb.net]Copia file con progress bar

Ho visto come hai letto la guida msdn: copiare un codice ed incollarlo su visual studio non farà miracoli,capisco che tu sia nuovissimo del vb.net però sarebbe opportuno che cercassi di leggere ciò che sta scritto sul documento e dopo provassi almeno a leggere il codice,sarebbe una buona cosa che dessi una letta ad una guida gratuita come questa
Perfavore, Entra oppure Registrati per vedere i Link!
.
In ogni caso io ti linko semplicemente un articolo che fà al caso tuo:
Perfavore, Entra oppure Registrati per vedere i Link!


Comunque il progetto in sè è piuttosto inutile,cioè copiare dei files è una cosa che richiede meno di un secondo (certo,magari con qualche gigabyte la cosa è differente) ma è davvero sciocco cercare di implementare una progress bar per una cosa del genere.
Dovresti semplicemente definire uno standard secondo ogni quale aggiornare il valore del controllo che sia 1B come 1k come 1gb e così via; inutile dirti che l'operazione rallenterà la copia del file.
 
Riferimento: [vb.net]Copia file con progress bar

Ciao, hai ragione, purtroppo e un vizio comune a chi vuole qualcosa subito senza avere delle conoscenze, io non sono aspirante programmatore, il mio lavoro e tutt'altro qualche anno fa mi dilettavo con vb6 facendo dei semplici programmi seguendo le guide dei forum, ora che mi serviva questo programmino ho deciso di tentare di realizzarlo, alle fine cercando un po di qua e un po di la sono riuscito a realizzare quello che volevo e ne sono anche soddisfatto, non sarà il programma del secolo ma nel mio utilizzo mi fa molto comodo.

Grazie