Ejemplo de Microsoft Transfer Control; Cliente FTP en VB

Ejemplo que permite descargar y subir archivos a un Ftp utilizando el control Microsoft Transfer controlEl ejemplo es como muestra el gráfico:

vista del formulario de ejemplo para bajar y subir archivos de un servidor ftp

Para agregar el Control Inet, seleccionar desde la ficha componentes Microsoft Internet Transfer control

vista de la ventana de componentes de visual basic para insertar al proyecto el control Inet

También agregar los siguiente controles:

  • Un control commonDialog llamado CommonDialog1 para seleccionar la ruta del archivo a subir y también para descargar
  • Cinco controles TextBox: txt_servidor, txt_Usuario, txt_Pass, txt_local y txt_Remoto: Esto es para el nombre del servidor ftp, para el nombre de Usuario y contraseña del Login y para las rutas de los archivos.
  • Un control ListBox llamado List1 para ver el estado.
  • Cuatro CommandButton: El Command1 para Subir un fichero, Command2 para descargar, Command3 para seleccionar un fichero del disco a subir, y Command4 para seleccionar ruta y nombre del archivo a descargar a disco.

Código fuente en un formulario:

Option Explicit

Private Sub Mostrar_Estado_FTP(ByVal estado As String)

    List1.AddItem estado

    List1.ListIndex = List1.ListCount - 1

End Sub

Private Sub Command2_Click()

Dim El_Host As String

If txt_Remoto = "" Then

       MsgBox " No hay archivo para descargar", vbInformation

      Exit Sub

    End If

List1.AddItem " ..Descargando "

        'Asigna la Url, es decir el nombre del Host FTP

        El_Host = "ftp://" & txt_servidor

With Inet1

.URL = El_Host

'nombre de usuario y password de la cuanta FTP

        .UserName = txt_Usuario

        .Password = txt_Pass

'DEscarga el archivo indicado con el comando Get

        Call .Execute(, "Get " & txt_Remoto & " " & txt_local)

        DoEvents

End With

End Sub

Private Sub Command1_Click()

Dim El_Host As String

If txt_local = "" Then

       MsgBox " No hay archivo pra subir", vbInformation

      Exit Sub

    End If

List1.AddItem " ..Subiendo archivo "

El_Host = "ftp://" & txt_servidor

With Inet1

'Asigna la Url, es decir el nombre del Host FTP

        .URL = El_Host

'nombre de usuario y password de la cuanta FTP

        .UserName = txt_Usuario

        .Password = txt_Pass

'Escribe el fichero en el servidor con el comando Put

        Call .Execute(, "Put " & txt_local & " " & txt_Remoto)

DoEvents

End With

End Sub

'botón para seleccionar fichero a subir al Ftp

Private Sub Command3_Click()

With CommonDialog1

.DialogTitle = " Seleccione el archivo a subir"

     .ShowOpen

If .FileName = "" Then

        txt_local = ""

        Exit Sub

     Else

        txt_local = .FileName

     End If

End With

End Sub

'botón para seleccionar la ruta y nombre de archivo a descargar

Private Sub Command4_Click()

With CommonDialog1

.DialogTitle = " Seleccione ruta y nombre del archivo a descargar"

     .ShowSave

If .FileName = "" Then

        txt_Remoto = ""

        Exit Sub

     Else

        txt_Remoto = .FileName

     End If

End With

End Sub

Private Sub Inet1_StateChanged(ByVal State As Integer)

Select Case State

'Dependiendo del valor recibido de State _

         muestra en el List1 la información de estado

Case 0: Mostrar_Estado_FTP " Nothing "

        Case 1: Mostrar_Estado_FTP " Resolviendo Host "

        Case 2: Mostrar_Estado_FTP " Host Resuelto "

        Case 3: Mostrar_Estado_FTP " ..Conectando a: " & txt_servidor

        Case 4: Mostrar_Estado_FTP ".. Conectado a " & txt_servidor

        Case 5: Mostrar_Estado_FTP " Petición"

        Case 6: Mostrar_Estado_FTP " ..enviando petición"

        Case 7: Mostrar_Estado_FTP " Recibiendo Respuesta "

        Case 8: Mostrar_Estado_FTP " Respuesta recibida "

        Case 9: Mostrar_Estado_FTP " ..Desconectando "

        Case 10: Mostrar_Estado_FTP " Estado : Desconectado"

        Case 11: Mostrar_Estado_FTP " Error: " & Inet1.ResponseInfo

        Case 12: Mostrar_Estado_FTP Inet1.ResponseInfo

Case Else: Mostrar_Estado_FTP " Estado -> " & Format$(State)

    End Select

DoEvents

End Sub

Private Sub Form_Load()

Command1.Caption = "Subir archivo "

Command2.Caption = " Descargar archivo "

Me.Caption = "Ejemplo del control Inet para descargar y subir ficheros"

End Sub
Escrito en Visual Basic. Etiquetas: . No hay comentarios »