Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Proyecto De Cliente FTP
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Proyecto De Cliente FTP 
 
Dadas las necesidades de acceso amplio a FTP del programa que estoy desarrollando, me he visto obligado a profundizar en el uso del FTPClient de Gambas3.
El resultado es el programa que os ofrezco hoy. Está calentito, calentito, en fase pre-pre-pre-Alfa, en esa fase en la que si alguien se implica en probarlo e informar de los errores la cosa anda mucho más rápido.
Me he divertido mucho aprendiendo a manejar treeviews y otros controles de los que no suelo ser usuario habitual.

No es el filezilla, que digamos... pero poco a poco, poco a poco.

Os presento a GB-FTP, tóma originalidad para un gambas ftp...

 gbftp_inicial
 gbftp_principal

Disfrutadlo (o sufridlo, quien sabe)

gbftp.tar.gz
Descripción: Con memoria para la conexión (gb.settings) 
Descargar
Nombre del archivo: gbftp.tar.gz
Tamaño: 103.54 KB
Descargado: 48 veces
gbftp.tar.gz
Descripción: Con memoria para la conexión (gb.settings) 
Descargar
Nombre del archivo: gbftp.tar.gz
Tamaño: 103.54 KB
Descargado: 48 veces
gbftp.tar.gz
Descripción: Con memoria para la conexión (gb.settings) 
Descargar
Nombre del archivo: gbftp.tar.gz
Tamaño: 103.54 KB
Descargado: 48 veces

 



 
última edición por shordi el Martes, 16 Abril 2013, 20:54; editado 4 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
No funciona cuando intento conectar al servidor. Salen unas carpetas raras en el servidor remoto que realmente no existen. No sé que está pasando, cuando tenga un ratillo lo miro más detenidamente.

Por cierto, ¿cómo es que comparas una variable string si es mayor que 0? Basta con decir "if string then", porque si la cadena está vacía es false y true en caso contrario. ¿Son costumbres de otro lenguaje, quizaś?

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Citar:

No funciona cuando intento conectar al servidor. Salen unas carpetas raras en el servidor remoto que realmente no existen. No sé que está pasando, cuando tenga un ratillo lo miro más detenidamente.

A mí me va perfectamente en mi servidor, pero no lo he probado en otro. No sé cómo se comporta con servidores ftp que manejen ssh (creo que no funcionaría) ni sé muy bien qué tipo de comandos FTP utiliza el control ftpClient.
Si me pasas los parámetros de tu servidor puedo intentar depurar más pero, de momento, no tengo acceso a más servidor FTP que el mío y ahí si funciona sin problemas.


Citar:
Por cierto, ¿cómo es que comparas una variable string si es mayor que 0? Basta con decir "if string then", porque si la cadena está vacía es false y true en caso contrario. ¿Son costumbres de otro lenguaje, quizaś?


Jeje, estoy lleno de vicios y malas costumbres... No me llega a gustar esa forma moderna del if, porque añade su propia interpretación que, a veces, olvido y ya me ha llevado a algún que otro error. Por ejemplo Si un número es 0 es false, pero ¿si es -1 qué es? porque hay funciones que devuelven 0 y otras -1 y hay bases de datos que almacenan 0 falso 1 verdadero y otras -1 verdadero, según hayan definido el campo boolean o el integer como unsigned, etc.
La comprobación "artesanal" me es más cómoda. Vicios de viejo dinosaurio, supongo.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Al hilo de las precisiones de Jesús (que de entrada puede no funcionar en algunos servidores) me gustaría que alguien pudiese aportar algo a ciertas cosas que no he sabido/podido conseguir:

-¿Cómo se edita un TreeView?, pues veo que tiene la propiedad Editable para determinar si se puede editar, pero luego no he visto por ningún lado el método Edit. TreeView hereda de GridView y un GridView no es editable ¿o es de TableView y entonces sí lo es? No he encontrado ninguna información al respecto, por lo que he solucionado el tema con un rodeo que simula la edición a la hora de añadir una carpeta remota.

-¿Cómo recuperar la información de consola de FTP? Cuando la conexión está en modo debug, en la consola de gambas aparece perfectamente, pero en tiempo de ejecución no he encontrado la manera de hacer eso.

-¿De dónde se pueden sacar los iconos de los tipos de documento? El control fileview te saca un iconito junto al nombre del archivo según sea un pdf, una carpeta, un documento de office, etc. La carpeta la he podido sacar del stock, pero el resto de iconos no sé dónde los tiene el sistema y cómo los puedo recuperar.

-En las bajadas he podido implementar una barra de progreso gracias Touch, que me da el tamaño del fichero bajado y cómo va creciendo, pero no he conseguido implementar una barra de progreso en las subidas (como no sea una basada en el número de ficheros subidos y pendientes, que no tiene mucho sentido) ¿Alguien sabe cómo detectar, aunque sea de modo aproximado, la cantidad de datos enviados?

-¿A qué huelen las nubes?

-Si un pato se come un saco de serrín ¿Cúanto tarda en cagar un tablón de aglomerado de 2 metros?

Preguntas, preguntas...

Dado el poco interés despertado, 3 descargas de momento, de las cuales una la hice yo por probar, no confío mucho en que salgan muchos probadores (la experiencia dice que ninguno, que nadie tiene tiempo... jejeje) por lo que saco las preguntas aquí y que sea lo que dios quiera.

Saludos.
 



 
última edición por shordi el Domingo, 14 Abril 2013, 07:37; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Hola de nuevo

A la pregunta del pato no creo que pueda contestar, pero si aún viviera Rodríguez de la Fuente, él era buen candidato para contestar.

Bueno, todavía no sé por qué con el directorio por defecto "/" se ven unas carpetas muy raras al conectar, carpetas que ni por asomo existen en la raíz de ftp.

Sin embargo, si le doy la ruta a uno de los directorios que cuelgan de / entonces la cosa parece que funciona pero... peta. Te envío una captura del IDE en el momento del error con la vista de depuración del array "ar" (muy original el nombre, por cierto) que contiene las rutas de cada fichero o directorio que recupera del servidor.

Evidentemente es un problema de análisis de los datos obtenidos, pues parece que no todos los servidores devuelven el mismo esquema de información de ficheros. De modo que la función Mid en la línea 75:

size = ctamanio(Mid(cad, 37, 12))


...devuelve una porción de cadena que no corresponde al tamaño del fichero. Hay trabajo por hacer, desde luego  

Te envío por MP la captura del error porque puede contener información sensible del servidor.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Jesus:
¿Me podrías mandar el fichero que devuelve la consulta? lo tendrás en /tmp/gambas... etc Se le asigna ubicación en la línea 62. Es que con la imagen tal como me la envías no puedo contar bien caracteres y demás para hacer comparativas.

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Corregido el bug de la recuperación de nombres.
Le he añadido la posibilidad de guardar los datos de la conexión vía gb.settings para futuras conexiones.
Poco a poco...


Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Ahora sí va, jejeje.

Bueno, pues ahora hay que darle el toque profesional... a ver si puedo mejorar algo o implementar el progreso en las subidas... también he notado que es bastante lento para navegar carpetas, esto no tengo claro si es porque cada vez que realizas una operación se cierra la conexión  y hay que volver a abrirla o qué? Tengo que mirarlo más despacio.

Saludos y gracias por las correcciones
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
La lentitud la da el propio ftpClient, que no permite comandos list  o mlsd (o yo no he sabido ejecutarlos). La única manera que he encontrado es hacer un get sobre la carpeta en sí misma y luego extraer los datos del fichero generado. Es un poco peñazo... pero funciona.
Si la conexión se cierra o abre en cada ocasión...¿Quién sabe? yo, por lo menos, no la cierro.
Por lo demás... todo tuyo, compañero. Si lo mejoras ponte en los créditos... jejeje

Saludos
 



 
última edición por shordi el Miercoles, 17 Abril 2013, 08:58; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Proyecto De Cliente FTP 
 
Por cierto, buen candidato para el SVN... creo.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Cliente De Correo shordi General 2 Miercoles, 27 Noviembre 2013, 13:49 Ver último mensaje
shordi
No hay nuevos mensajes Proyecto Cliente FTP Actualizado shordi Aplicaciones/Fragmentos de Código 20 Sabado, 05 Abril 2014, 19:31 Ver último mensaje
shordi
No hay nuevos mensajes El Mejor Cliente Torrent tincho Mundo Linux 5 Lunes, 21 Noviembre 2016, 20:21 Ver último mensaje
tincho
No hay nuevos mensajes Aplicaciones Cliente-Servidor Con XML-RPC tincho Aplicaciones/Fragmentos de Código 10 Miercoles, 28 Agosto 2019, 12:36 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron