Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Shrick en 1 Enero 2007, 02:35 am



Título: Ayuda Seleccionar Directorios
Publicado por: Shrick en 1 Enero 2007, 02:35 am
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


Título: Re: Ayuda Seleccionar Directorios
Publicado por: Sancho.Mazorka en 1 Enero 2007, 06:24 am
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


Título: Re: Ayuda Seleccionar Directorios
Publicado por: Syphroot en 1 Enero 2007, 08:26 am
La otra forma, si la quieres hacer transparente es utilizando un array y lo vas recorriendo de la misma forma que el ListBox


Título: Re: Ayuda Seleccionar Directorios
Publicado por: byebye en 1 Enero 2007, 14:09 pm
o con findfirstfile y findnextfile te pasaran todos los archivos por la correspondiente variable. cada uno por ciclo del bucle.


Título: Re: Ayuda Seleccionar Directorios
Publicado por: Shrick en 1 Enero 2007, 20:33 pm
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 :-(
Código:
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