Como manejar bien el INET
Publicado por jorge (5 intervenciones) el 24/03/2009 06:22:18
bueno yo otraves ya arregle el otro problema que tenia el de leer el archivo y que se descarge respetando sub carpetas y todo eso el pequenio problema pero muy importante es que yo unso "INET" para poder descargar y tengo que hacer que esta parte sea como una funcion o un proceso al cual pueda llamarlo pero el problema esta ca miren....
Inet1.AccessType = icUseDefault
Inet1.URL = "http://miweb/archivo.txt
Inet1.Execute , "GET"
bueno esa parte seria laq ue tendraiq eu hacer que sea como funcion para pdoer llamarla
el problema esta que depeus de GET el proceso de descar de archivo se deriva a esto...
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant 'acá almacenamos los datos
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
ProgressBar1.Max = filesize
contenttype = Inet1.GetHeader("Content-type")
'Creamos y abrimos un nuevo archivo en modo binario
Open App.Path + "" + j(2) For Binary Access Write 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
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
ProgressBar1.Value = ProgressBar1.Value + Len(vtData) * 2
' 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
ProgressBar1.Value = 0
End Select
l = l + 1
If l > NR Then
Command2.Enabled = True
Else
descarga
End If
End Sub
bueno para hacerlo funcion y que se auto llame agrege esta ultimaparte que es
l = l + 1
If l > NR Then
Command2.Enabled = True
Else
descarga
End If
el problema es que al hacer esto me sale este error que no se como solucionar
Run-time erro '35764'
Still Executing last request
porfavor si me pueden desir como arreglar ese error pls
Inet1.AccessType = icUseDefault
Inet1.URL = "http://miweb/archivo.txt
Inet1.Execute , "GET"
bueno esa parte seria laq ue tendraiq eu hacer que sea como funcion para pdoer llamarla
el problema esta que depeus de GET el proceso de descar de archivo se deriva a esto...
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant 'acá almacenamos los datos
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
ProgressBar1.Max = filesize
contenttype = Inet1.GetHeader("Content-type")
'Creamos y abrimos un nuevo archivo en modo binario
Open App.Path + "" + j(2) For Binary Access Write 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
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
ProgressBar1.Value = ProgressBar1.Value + Len(vtData) * 2
' 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
ProgressBar1.Value = 0
End Select
l = l + 1
If l > NR Then
Command2.Enabled = True
Else
descarga
End If
End Sub
bueno para hacerlo funcion y que se auto llame agrege esta ultimaparte que es
l = l + 1
If l > NR Then
Command2.Enabled = True
Else
descarga
End If
el problema es que al hacer esto me sale este error que no se como solucionar
Run-time erro '35764'
Still Executing last request
porfavor si me pueden desir como arreglar ese error pls
Valora esta pregunta


0