Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/08/2012, 19:12
wyrms
 
Fecha de Ingreso: agosto-2012
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Sonrisa Respuesta: ¿descargar un archivo al darle a un botón, y ver el progreso y velocidad d

Cita:
Iniciado por luis404 Ver Mensaje
debes usar un backgroundWorker y asignarle las propiedades sig.

en el

private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
//Todas las cosas de la descarga la url, obtienes el peso del archivo y etc
//en base a eso puedes ir asignando los valores al progressbar
}

en

private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//Voy avanzando la barrita
progressBar_Descargar.Value = e.ProgressPercentage;
}

private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//Cuando se haya acabado la descargo muestro el mensaje
}

esto en C# en VB.NET creo es algo parecido.

Saludos.
bien pues esto es lo que he echo hasta ahora, la barra y el % en el label funcionan bien, tambien consegui poner rl total del archivo a descargar y lo que se va descargado en MB.

Bueno si no es ya abusar de vuestra amabilidad, la opción de ver si existe ya el archivo para no descargarlo, y el abrir el archivo cuando concluya la descarga.

añado que puse este código para ver si existe el archivo, siendo positivo, como detendría el proceso para que no hiciese la descarga?
Cita:
If IO.File.Exists("C:\nombre del archivo.exe") Then
MsgBox("El archivo ya fue descargado!", MsgBoxStyle.Exclamation, "Descargado!")
If Err.Number = 0 Then
(que código pondría en este lugar para no proceder a la descarga?)
Else
MsgBox(Err.Description)
End If
Err.Clear()
End If
Mi código actual es este:
Cita:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim client As WebClient = New WebClient
AddHandler client.DownloadProgressChanged, AddressOf client_ProgressChanged
AddHandler client.DownloadFileCompleted, AddressOf client_DownloadCompleted
If IO.File.Exists("C:\archivo.rar") Then 'comprobamos si existe
MsgBox("El archivo ya esta descargado!", MsgBoxStyle.Exclamation, "Descargado!") 'si existe te salta una alerta
If Err.Number = 0 Then
( que pondríamos aquí para detener la descarga antes que la inicie si da error y la continué si no lo da( =0)?)
Else
MsgBox(Err.Description)
End If
Err.Clear()
client.DownloadFileAsync(New Uri("http://archivo a descargar.rar"), "C:\archivo a guardar.rar")
ProgressBar1.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Button1.Text = "Descargando..."
Button1.Enabled = False
Button2.Enabled = False
Button4.Enabled = False
Button5.Enabled = False
Button7.Enabled = False
muchas gracias por la ayuda prestada hasta el momento

saludos.

Última edición por wyrms; 07/08/2012 a las 23:57 Razón: añadir información