Necesito saber como hacer para seleccionar los archivos de una carpeta y que pasen uno por uno en un bucle por una variable, para subir al FTP ;D , es decir, crear una cola de archivos que subiran uno por uno a un servidor FTP
Utiliza un List, ese contiene todos los archivos de un directorio, tons con un bucle lees el primero, cuando lo terminas de subir lee el 2º, y asi hasta llegar al ultimo de la lista! aca ya se hablo cientos de veces para subir archivos al FTP, asi que busca un poco, si lo sabes avisame y te ayudare en lo que no puedas (postea aca).
Sancho.Mazorka :P
La otra forma, si la quieres hacer transparente es utilizando un array y lo vas recorriendo de la misma forma que el ListBox
o con findfirstfile y findnextfile te pasaran todos los archivos por la correspondiente variable. cada uno por ciclo del bucle.
Os dejo Algo de code que he hecho, que es para descargar, pero tengo fallos como por ejemplo para que me descargue bien, he estado buscando y rebuscando pero no he encontrado nada :-(
Option Explicit
Dim dir As String
Dim num As Integer
Private Sub Command1_Click()
num = 0
Do While num <> List1.ListCount - 1
ProgressBar1.Value = 0
Inet1.AccessType = icUseDefault
Inet1.URL = List1.List(List1.ListIndex)
Inet1.Execute , "GET" 'Indicamos que vamos a descargar o recuperar un _
archivo desde una url
num = num + 1
Loop
End Sub
Private Sub Command2_Click()
Form2.Show
Form1.Hide
End Sub
Private Sub Command3_Click()
Open "subidas.dz!" For Input As 1
Do While Not EOF(1)
Input #1, dir
If dir = "[FIN]" Then
Exit Sub
End If
List1.AddItem (dir)
Loop
Close #1
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant 'acá almacenamos los datos
Dim filesize As Long
Dim contenttype As String
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 + "\Downloads\" + Text2.Text 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
End Sub
Ponga algo similar a esto, y no cosas raras plis, gracias por vuestra ayuda ;D