DEjo un ejemplo que saquè de la pàgina de micro$oft de como descar un archivo de una url mediante el control Inet. Yo le agreguè una barra de progreso pero no usando el Progressbar , sino mediante 2 Shape.
Poner un command1 que comienza la descarga
Un Control Inet
2 Shapes, Shape1 y Shape2
Nota: El Shape1 se usa para mostar el contorno del total del progreso, y el shape2 es el que va aumentando, es decir el progreso.
Private Sub Command1_Click()
Inet1.AccessType = icUseDefault
Inet1.URL = "http://upx.sourceforge.net/download/upx124w.zip"
Inet1.Execute , "GET" 'Indicamos que vamos a descargar o recuperar un _
archivo desde una url
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant 'acá almacenamos los datos
Dim nomArchivo As String
'extraemos de la ruta entera solo el nombre del archivo
nomArchivo = Right(Inet1.URL, Len(Inet1.URL) - InStrRev(Inet1.URL, "/"))
Select Case State
Case icResponseCompleted
Dim bDone As Boolean: bDone = False
Dim tempArray() As Byte ' Un array para grabar los datos en un archivo
'Para saber el tamaño del fichero en bytes
filesize = Inet1.GetHeader("Content-length")
'Establecemos el Max del = a al tamaño del archivo
contenttype = Inet1.GetHeader("Content-type")
'Creamos y abrimos un nuevo archivo en modo binario
Open App.Path + "\" + nomArchivo For Binary As #1
' Leemos de a 1 Kbytes. El segundo parámetro indica _
el tipo de fichero. Tipo texto o tipo Binario, en este caso _
binario
vtData = Inet1.GetChunk(1024, icByteArray)
DoEvents
'Si el tamaño del fichero es 0 ponemos bDone en True para que no _
entre en el bucle
If Len(vtData) = 0 Then
bDone = True
End If
Shape2.Width = 0
Do While Not bDone
'Almacenamos en un array el contenido del archivo
tempArray = vtData
'Escribimos el archivo en disco
Put #1, , tempArray
'Aumentamos la barra
Shape2.Width = Shape2.Width + (Len(vtData) * 2) * Shape1.Width / filesize
' Leemos de pedazos de a 1 kb (1024 bytes)
vtData = Inet1.GetChunk(1024, icByteArray)
DoEvents
If Len(vtData) = 0 Then
bDone = True
End If
Loop
Close #1
End Select
End Sub
CitarYo le agreguè una barra de progreso pero no usando el Progressbar , sino mediante 2 Shape
tu se lo agregaste o MAS BIEN querras decir la copiaste de canal visual basic
copie el texto completamente de canal visual basic, sin embargo me parecio bueno ponerlo en este foro, porque podria ser de utilidad para alguien, o estoy ekivokado?
Cuando pongas algun codigo o alguna cosa k no es tuya, pon siempre la fuente de la que proviene y el autor, por respeto al autor que se lo a currao y por si nos apetece leer todo el articulo.
Porque copiar y pegar lo sabemos hacer todos.
Salu2
Cita de: yalosabes en 14 Febrero 2006, 04:58 AM
copie el texto completamente de canal visual basic, sin embargo me parecio bueno ponerlo en este foro, porque podria ser de utilidad para alguien, o estoy ekivokado?
Pues parecio que te quisieras ameritar los creditos porque primero lo dijiste que lo sacaste de una pagina de microsoft y despues k tu le agregaste los shapes