FTP(vfpconnection)

1,210 views
Skip to first unread message

Edwin Duran

unread,
Dec 6, 2016, 2:50:54 PM12/6/16
to Comunidad de Visual Foxpro en Español
Buenas Tardes

Estoy probando la librería vfpconnection y no he podido ponerlo a funcionar bajando un archivo con el siguiente ejemplo, el usuario y clave lo coloco bien por que con filezilla trabaja. podrian darme alguna orientacion

SET LIBRARY TO (LOCFILE("vfpconnection.fll","FLL"))
=SetConnectTimeout(60000)
=SetResponseTimeout(60000)
?FTPPut("E:\C\hydexpedientep.exe", "FTP://usuario:cl...@files.000webhost.com/update/hydexpedientep.exe.zip", "MyCommand()")
SET LIBRARY TO

FUNCTION MyCommand()
  ? nConnectTotalBytes
  ? nConnectBytesSoFar                                           
ENDFUNC

FUNCTION MyProgress(ccFile)
     nRest = (m.nConnectBytesSoFar * 100) / m.nConnectTotalBytes
     WAIT 'Bajando ' + ccFile + ': ' + TRANSFORM(nRest, 
'999%') WINDOW NOWAIT
ENDFUNC

Edwin Duran

unread,
Dec 6, 2016, 2:55:21 PM12/6/16
to Comunidad de Visual Foxpro en Español
con esta tampoco ? FTPGet("FTP://usuario:clave@files.000webhost.com/update/hydexpedientep.exe.zip", "E:\C\hydexpedientep.exe.txt", "MyCommand()")


El martes, 6 de diciembre de 2016, 15:50:54 (UTC-4), Edwin Duran escribió:
Buenas Tardes

Estoy probando la librería vfpconnection y no he podido ponerlo a funcionar bajando un archivo con el siguiente ejemplo, el usuario y clave lo coloco bien por que con filezilla trabaja. podrian darme alguna orientacion

SET LIBRARY TO (LOCFILE("vfpconnection.fll","FLL"))
=SetConnectTimeout(60000)
=SetResponseTimeout(60000)
?FTPPut("E:\C\hydexpedientep.exe", "FTP://usuario:clave@files.000webhost.com/update/hydexpedientep.exe.zip", "MyCommand()")

Daniel Sánchez

unread,
Dec 7, 2016, 4:33:02 PM12/7/16
to Comunidad de Visual Foxpro en Español
Ya que tocan el tema vfpconnnection, la librería trabaja perfectamente enviando y descargando archivos, mi pregunta sería si es posible borrar un archivo que ya ha sido subido, hay algún comando o algo similar para indicar que deseamos eliminar un archivo almacenado en alguna carpeta a la que fue enviado el archivo anteriormente subido.

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047 RPM #948615385
Trujillo - Perú

P  Sugerimos no imprimir este e-mail a menos que sea absolutamente necesario. Protejamos el medio ambiente.

Douglas Sánchez

unread,
Dec 7, 2016, 4:52:24 PM12/7/16
to publice...@googlegroups.com
Hola Daniel yo uso esta libreria,

Te refieres a que despues de un Dowload, xArchivo.exe.zip, sea eliminado?

Slds

Douglas

Daniel Sánchez

unread,
Dec 8, 2016, 12:32:55 AM12/8/16
to Comunidad de Visual Foxpro en Español
Suponiendo que subo un archivo, pero después deciden que ese archivo no es, así que hay  que eliminarlo, cual seria el comando para proceder a eliminar el documento que se encuentra ya subido en el servidor en la nube, si es con vfpconnection.fll seria excelente.

Saludos

Alfonso Arias Lemas

unread,
Dec 8, 2016, 4:56:44 AM12/8/16
to publice...@googlegroups.com

Hola Daniel, yo uso este procedimiento adaptado para mi….

 

PROCEDURE ELIMINAR_FTP

      LPARAMETERS FICHERO,S_FTP

      LOCAL LL

      LOCAL ARRAY aryFTPCommands(1)

      aryFTPCommands(1) = "DELE "+LOWER(FICHERO)

      SetConnectTimeout(9999999)

      SetResponseTimeout(9999999)

      LL=FTPCommands(S_FTP,@aryFTPCommands,"MyTrace()")

      RETURN LL

ENDPROC    

FUNCTION MyTrace()

**********

ENDFUNC

 

 

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:cl...@dominio.com

Suerte.

 

Saludos,

   Alfonso

Edwin Duran

unread,
Dec 8, 2016, 6:40:21 AM12/8/16
to Comunidad de Visual Foxpro en Español
Buen dia 
Veo que a ustedes le funciona, esta librería. no se si es el servidor  .000webhost.com que me esta dando problema. y me urge. conocen algun servidor ftp gratuito. pueden probar el codigo que coloque aqui talvez hay algo que no estoy mirando.



El martes, 6 de diciembre de 2016, 15:50:54 (UTC-4), Edwin Duran escribió:
Buenas Tardes

Estoy probando la librería vfpconnection y no he podido ponerlo a funcionar bajando un archivo con el siguiente ejemplo, el usuario y clave lo coloco bien por que con filezilla trabaja. podrian darme alguna orientacion

SET LIBRARY TO (LOCFILE("vfpconnection.fll","FLL"))
=SetConnectTimeout(60000)
=SetResponseTimeout(60000)
?FTPPut("E:\C\hydexpedientep.exe", "FTP://usuario:clave@files.000webhost.com/update/hydexpedientep.exe.zip", "MyCommand()")

Daniel Sánchez

unread,
Dec 8, 2016, 7:08:59 AM12/8/16
to Comunidad de Visual Foxpro en Español
En el ejemplo se ve que se puede enviar comandos, mi pregunta es el ejemplo envia comandos para un servidor linux o me equivoco, en mi caso es un servidor windows el comando debe ser de acuerdo al tipo de servidor, aqui el ejemplo:

*****************************************************************
*!* FTP Commands Example
********************************************************************
*!* Rename FTP Directory

SET LIBRARY TO (LOCFILE(“vfpconnection.fll”,“FLL”))
LOCAL ARRAY aryFTPCommands(4)
aryFTPCommands(1) = “CWD /”
aryFTPCommands(2) = “PWD”
aryFTPCommands(3) = “RNFR MyDir”
aryFTPCommands(4) = “RNTO RenamedMyDir”
?FTPCommands(FTP://username:pass...@somedomain.com/, @aryFTPCommands, “MyTrace()”)
*!* ?FTPSCommands(“FTPS://username:pass...@somedomain.com/, @aryFTPCommands, “MyTrace()”)
SET LIBRARY TO

Alfonso usas el  mismo funcion que el ejemplo.

El 8 de diciembre de 2016, 4:56, Alfonso Arias Lemas <alfonsoa...@gmail.com> escribió:

Hola Daniel, yo uso este procedimiento adaptado para mi….

 

PROCEDURE ELIMINAR_FTP

      LPARAMETERS FICHERO,S_FTP

      LOCAL LL

      LOCAL ARRAY aryFTPCommands(1)

      aryFTPCommands(1) = "DELE "+LOWER(FICHERO)

      SetConnectTimeout(9999999)

      SetResponseTimeout(9999999)

      LL=FTPCommands(S_FTP,@aryFTPCommands,"MyTrace()")

      RETURN LL

ENDPROC    

FUNCTION MyTrace()

**********

ENDFUNC

 

 

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:clave@dominio.com

Suerte.

 

Saludos,

   Alfonso

Alfonso Arias Lemas

unread,
Dec 8, 2016, 7:41:46 AM12/8/16
to publice...@googlegroups.com

Hola Daniel.

Esse ejemplo que temandé trabaja en mi servidor, montado por mi en Windows com FileZilla.

Como nombre lo indica “ELIMINAR_FTP “ lo que hace esse procedimento es eliminar archivos del FTP. Eso no era lo que buscabas???

Saludos.

 

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] Em nome de Daniel Sánchez
Enviada: 8 de dezembro de 2016 11:09
Para: Comunidad de Visual Foxpro en Español
Assunto: Re: [vfp] FTP(vfpconnection)

 

En el ejemplo se ve que se puede enviar comandos, mi pregunta es el ejemplo envia comandos para un servidor linux o me equivoco, en mi caso es un servidor windows el comando debe ser de acuerdo al tipo de servidor, aqui el ejemplo:

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:cl...@dominio.com

Suerte.

 

Saludos,

   Alfonso

Daniel Sánchez

unread,
Dec 8, 2016, 10:16:38 AM12/8/16
to Comunidad de Visual Foxpro en Español
Si mi duda era si era un comando para windows o linux, por lo demás lo voy a implementar.

Saludos

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:clave@dominio.com

Suerte.

 

Saludos,

   Alfonso

Alfonso Arias Lemas

unread,
Dec 8, 2016, 10:27:46 AM12/8/16
to publice...@googlegroups.com

Hola Daniel.

El protocolo FTP es un estándar e incluso el FileZilla tiene su versión para Linux creo.

Saludos.

 

 

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] Em nome de Daniel Sánchez
Enviada: 8 de dezembro de 2016 14:17
Para: Comunidad de Visual Foxpro en Español
Assunto: Re: [vfp] FTP(vfpconnection)

 

Si mi duda era si era un comando para windows o linux, por lo demás lo voy a implementar.

 

Saludos

 

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:cl...@dominio.com

Suerte.

 

Saludos,

   Alfonso

Edwin Duran

unread,
Dec 8, 2016, 1:45:11 PM12/8/16
to Comunidad de Visual Foxpro en Español
Ya encontre mi problema, sucede que el el servidor la carpeta update la tengo con al "U" en mayúscula y en la parte del código en minúscula.


? FTPGet("FTP://usuario:clave@files.000webhost.com/update/hydexpedientep.exe.zip", "E:\C\hydexpedientep.exe.txt", "MyCommand()")

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:clave@dominio.com

Daniel Sánchez

unread,
Dec 8, 2016, 10:38:53 PM12/8/16
to Comunidad de Visual Foxpro en Español
Amigo estoy usando el comando ftpcommands de la libreria vfpconnection.fll, al ejecutar la linea de envió del comando, me indica que no hay memoria para ejecutar dicho comando, a que se debe dicho mensaje. Aquí parte del código de donde se envió al servido.

LOCAL ARRAY aryFTPCommands(2)
aryFTPCommands(1) = [DEL "]+cfileNameXML+["]
aryFTPCommands(2) = [DEL "]+cfileNamePDF+["]
SetConnectTimeout(9999999)
SetResponseTimeout(9999999)

  LL=FTPCommands(cFTP,@aryFTPCommands)

Deseo eliminar 2 archivos un xml y un pdf

Saludos

El 8 de diciembre de 2016, 4:56, Alfonso Arias Lemas <alfonsoa...@gmail.com> escribió:

Hola Daniel, yo uso este procedimiento adaptado para mi….

 

PROCEDURE ELIMINAR_FTP

      LPARAMETERS FICHERO,S_FTP

      LOCAL LL

      LOCAL ARRAY aryFTPCommands(1)

      aryFTPCommands(1) = "DELE "+LOWER(FICHERO)

      SetConnectTimeout(9999999)

      SetResponseTimeout(9999999)

      LL=FTPCommands(S_FTP,@aryFTPCommands,"MyTrace()")

      RETURN LL

ENDPROC    

FUNCTION MyTrace()

**********

ENDFUNC

 

 

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:clave@dominio.com

Suerte.

 

Saludos,

   Alfonso

Daniel Sánchez

unread,
Dec 9, 2016, 9:27:10 AM12/9/16
to Comunidad de Visual Foxpro en Español
Este mensaje me muestra

Imágenes integradas 1

El 8 de diciembre de 2016, 22:38, Daniel Sánchez <resets...@gmail.com> escribió:
Amigo estoy usando el comando ftpcommands de la libreria vfpconnection.fll, al ejecutar la linea de envió del comando, me indica que no hay memoria para ejecutar dicho comando, a que se debe dicho mensaje. Aquí parte del código de donde se envió al servido.

LOCAL ARRAY aryFTPCommands(2)
aryFTPCommands(1) = [DEL "]+cfileNameXML+["]
aryFTPCommands(2) = [DEL "]+cfileNamePDF+["]
SetConnectTimeout(9999999)
SetResponseTimeout(9999999)

  LL=FTPCommands(cFTP,@aryFTPCommands)

Deseo eliminar 2 archivos un xml y un pdf

Saludos
El 8 de diciembre de 2016, 4:56, Alfonso Arias Lemas <alfonsoa...@gmail.com> escribió:

Hola Daniel, yo uso este procedimiento adaptado para mi….

 

PROCEDURE ELIMINAR_FTP

      LPARAMETERS FICHERO,S_FTP

      LOCAL LL

      LOCAL ARRAY aryFTPCommands(1)

      aryFTPCommands(1) = "DELE "+LOWER(FICHERO)

      SetConnectTimeout(9999999)

      SetResponseTimeout(9999999)

      LL=FTPCommands(S_FTP,@aryFTPCommands,"MyTrace()")

      RETURN LL

ENDPROC    

FUNCTION MyTrace()

**********

ENDFUNC

 

 

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:cl...@dominio.com

Alfonso Arias Lemas

unread,
Dec 9, 2016, 5:29:42 PM12/9/16
to publice...@googlegroups.com

Hola Daniel.

¿Por qué no usas el comando como te lo mando?

 

aryFTPCommands(1) = "DELE "+LOWER(cfileNameXML)

 

No se si tiene algo que ver pero experimenta e además a modo de teste coloca solo un elemento del arreglo. Cuando yo voy a eliminar archivos yo lo hago uno por uno. Otra cosa crea un procedimiento vacío llamado MyTrace() y colocalo como parámetro en el comando FTPCommands que te falta.

 

Otra cosa cada ves que yo gravo un fichero en un FTP lo coloco sin caracteres especiales y sin dejar espacios, no se si esto influye pero yo lo hago para no corres riesgo de posibles errores.

Saludos.

 

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] Em nome de Daniel Sánchez
Enviada: 9 de dezembro de 2016 02:39
Para: Comunidad de Visual Foxpro en Español
Assunto: Re: [vfp] FTP(vfpconnection)

 

Amigo estoy usando el comando ftpcommands de la libreria vfpconnection.fll, al ejecutar la linea de envió del comando, me indica que no hay memoria para ejecutar dicho comando, a que se debe dicho mensaje. Aquí parte del código de donde se envió al servido.

Donde FICHERO seria el nombre del fichero a eliminar y S_FTP seria las credenciales para acceder al FTP como ftp://usuario:cl...@dominio.com

Suerte.

 

Saludos,

   Alfonso

Esteban H.

unread,
Dec 12, 2016, 7:39:54 PM12/12/16
to publice...@googlegroups.com

Hola Alfonso.

No sabía de un comando p borrar en FTP con la librería VFPConnection.fll.

Probé tu rutina y me funcionó perfecto. Yo utilizo un sito de Ftp p actualizar algunos programas, no había tenido la necesidad de borrar, pero esta bueno saber cómo hacerlo.

 

Gracias x compartirla.

 

Esteban.

Alfonso Arias Lemas

unread,
Dec 13, 2016, 5:09:29 AM12/13/16
to publice...@googlegroups.com

Hola Esteban.

Ademas de este comando DELETE existen muchos otros tales como:

 

Comandos FTP

Comando y argumentos

Acción que realiza

open servidor

Inicia una conexión con un servidor FTP.

close o disconnect

Finaliza una conexión FTP sin cerrar el programa cliente.

bye o quit

Finaliza una conexión FTP y la sesión de trabajo con el programa cliente.

cd directorio

Cambia el directorio de trabajo en el servidor.

delete archivo

Borra un archivo en el servidor

mdelete patrón

Borra múltiples archivos basado en un patrón que se aplica al nombre.

dir

Muestra el contenido del directorio en el que estamos en el servidor.

get archivo

Obtiene un archivo

noop No Operation

Se le comunica al servidor que el cliente está en modo de no operación, el servidor usualmente responde con un «ZZZ» y refresca el contador de tiempo inactivo del usuario.

mget archivos

Obtiene múltiples archivos

hash

Activa la impresión de caracteres # a medida que se transfieren archivos, a modo de barra de progreso.

lcd directorio

Cambia el directorio de trabajo local.

ls

Muestra el contenido del directorio en el servidor.

prompt

Activa/desactiva la confirmación por parte del usuario de la ejecución de comandos. Por ejemplo al borrar múltiples archivos.

put archivo

Envía un archivo al directorio activo del servidor.

mput archivos

Envía múltiples archivos.

pwd

Muestra el directorio activo en el servidor.

rename archivo

Cambia el nombre a un archivo en el servidor.

rmdir directorio

Elimina un directorio en el servidor si ese directorio está vacío.

status

Muestra el estado actual de la conexión.

bin o binary

Activa el modo de transferencia binario.

ascii

Activa el modo de transferencia en modo texto ASCII.

!

Permite salir a línea de comandos temporalmente sin cortar la conexión. Para volver, teclear exit en la línea de comandos.

? nombre de comando

Muestra la información relativa al comando.

? o help

Muestra una lista de los comandos disponibles.

append nombre del archivo

Continua una descarga que se ha cortado previamente.

bell

Activa/desactiva la reproducción de un sonido cuando ha terminado cualquier proceso de transferencia de archivos.

glob

Activa/desactiva la visualización de nombres largos de nuestro PC.

literal

Con esta orden se pueden ejecutar comandos del servidor de forma remota. Para saber los disponibles se utiliza: literal help.

mkdir

Crea el directorio indicado de forma remota.

quote

Hace la misma función que literal.

send nombre del archivo

Envía el archivo indicado al directorio activo del servidor.

user

Para cambiar nuestro nombre de usuario y contraseña sin necesidad de salir de la sesión ftp.

 

 

Saludos,

   Alfonso

Esteban H.

unread,
Dec 13, 2016, 2:28:50 PM12/13/16
to publice...@googlegroups.com

Muchas Gracias!!!!

 

Saludos

Esteban Bastida

unread,
Mar 25, 2025, 5:49:36 PM3/25/25
to Comunidad de Visual Foxpro en Español
Buenas Tardes Alfonso, como estas. He utilizado FTPGet y FTPPut de vfpconnection.fll sin problemas y funcionó bien. Ahora intento usar tu rutina para eliminar archivos subidos y me arroja el error : File 'ftpcommands.prg' does not exist. Sabes decirme porque no encuentra la función dentro de  vfpconnection.fll.  Raro ya que a vos y otra gente del grupo les anduvo, muchas gracias. Te adjunto el código:

PROCEDURE ELIMINAR_FTP

      LPARAMETERS FICHERO,S_FTP

      *Subo el Archivo por FTP FileZilla al Servidor en Hostinger

      SET LIBRARY TO (LOCFILE("vfpconnection.fll","FLL"))

      LOCAL LL

      LOCAL ARRAY aryFTPCommands(1)

      aryFTPCommands(1) = "DELE "+LOWER(FICHERO)

      SetConnectTimeout(9999999)

      SetResponseTimeout(9999999)

      LL=FTPCommands(S_FTP,@aryFTPCommands,"MyTrace()")

      RETURN LL

ENDPROC    

FUNCTION MyTrace()

**********

ENDFUNC


El mismo error ocurre con SetConnectTimeout y SetResponseTimeout , no los encuentra.

Saludos.
Esteban Bastida.   

nkris...@gmail.com

unread,
Mar 26, 2025, 11:28:27 AM3/26/25
to Comunidad de Visual Foxpro en Español
parece que fuera por la versión del  vfpconnection.fll, envió el link para que descargues y realices tus pruebas.


saludos.

Esteban Bastida

unread,
Mar 29, 2025, 7:18:01 PM3/29/25
to publice...@googlegroups.com

Buenas tardes nKris. Muchas gracias, con el Link que me enviaste logré ejecutar FTPCommands; tenías razón era un tema de la versión de la fll. Te pido una última ayuda, sabes que ejecuta el comando DELE pero no lo elimina del servidor, devuelve .F., me aseguré de tener bien asignada S_FTP y también el nombre en FICHERO con el archivo a borrar. Podrá ser que el nombre de archivo tiene 23 caracteres y es muy grande, aunque no creo que sea eso, o que el archivo se encuentra en una subcarpeta y no en el directorio raíz, aunque uso el mismo path que cuando grabo con FTPPut.

No sé como poder tracear cual es el error por el cual no encuentra el archivo y no lo borra o cual otro error puede ser ya que es solo ejecutar el comando.

Desde ya te agradezco mucho por tu atención.

Saludos.

Esteban.  

--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/cac47e03-562d-4621-b773-4e171f67eb84n%40googlegroups.com.


Libre de virus.www.avast.com
Reply all
Reply to author
Forward
0 new messages