Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/10/2009, 14:52
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Enviar archivo a FTP

No lo voy a probar por que no tengo anda que enviar pero se supone que funciona así:

Ejm: Creas un formulario con un botón "Command1" y 5 textbox llamados
Direccion, Nombre, Password, Fichero, NuevoFichero

y pegas este código:

Código :
Ver original
  1. 'Declaraciones
  2. Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
  3. Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
  4. Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hConnect As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
  5. Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
  6. Private Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
  7. Const INTERNET_OPEN_TYPE_PRECONFIG = 0
  8. Const INTERNET_DEFAULT_FTP_PORT = 21
  9. Const INTERNET_SERVICE_FTP = 1
  10. Const PassiveConnection As Boolean = True
  11. Const INTERNET_FLAG_PASSIVE = &H8000000
  12. Const FTP_TRANSFER_TYPE_UNKNOWN = &H0
  13.  
  14. Dim hConnection, hOpen, Num As Long
  15.  
  16.  
  17. Private Sub Command1_Click()
  18.  
  19.   SubirArchivo Direccion.text, Nombre.text, Password.text, Fichero.text, NuevoFichero.text
  20.  
  21. End Sub
  22.  
  23. Private Sub SubirArchivo(ByVal strDireccion As String, ByVal strNombre As String, ByVal strPassword As String, ByVal strFichero As String, ByVal strNuevoFichero As String)
  24.   hOpen = InternetOpen("IE", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
  25.   DoEvents
  26.   hConnection = InternetConnect(hOpen, strDireccion, INTERNET_DEFAULT_FTP_PORT, strNombre, strPassword, INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0)
  27.   DoEvents
  28.   FtpSetCurrentDirectory hConnection, "\"
  29.   DoEvents
  30.   FtpPutFile hConnection, strFichero, strNuevoFichero, FTP_TRANSFER_TYPE_UNKNOWN, 0
  31.   DoEvents
  32.   InternetCloseHandle hConnection
  33.   InternetCloseHandle hOpen
  34. End Sub

Lo ejecutas, rellenas los textbox con los valores que indican sus nombres y pinchas en el botón.