Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2015
Mystery Mystery is offline
Miembro
 
Registrado: jul 2007
Ubicación: Santiago de Cuba
Posts: 69
Poder: 17
Mystery Va por buen camino
Indy con servidor FTP en linux

Hola a todos, desde hace algún tiempo no había entrado al sitio y bueno realmente he extrañado relacionarme en estos medios (me he ausentado por problemas de enfermedad, ya estoy OK).
En fin les informo de mi problema a ver si Uds. me brindan una ayuda pues no alcanzo a dar pie en este asunto…
No puedo listar los objetos de un ftp en Linux sin embargo con la misma función en un ftp en Windows todo bien… a que se deberá este problema me quedo sin una explicación creo que el asunto debe estar en los problemas de Windows y Linux y sistema de ficheros. Pero debe existir alguna forma. Bueno bien tal vez alguno de Uds. ha incursionado en este tema y le agradecería si pudiese iluminarme en este tema.
Bueno muchas gracias de antemano sin mas
Mystery
Responder Con Cita
  #2  
Antiguo 14-05-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, nos alegramos de que estés ya bien de salud

En cuanto a tu duda, sería necesario que dieras alguna información para poder ayudarte.
Responder Con Cita
  #3  
Antiguo 15-05-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Lo mismo digo sobre tu salud

No se a que te refieres con objetos, pero hice una pequeña prueba con Delphi 7 e Indy 9 y lista archivos y carpetas sin problemas en un servidor Linux:
Código Delphi [-]
uses  IdFTPList;

procedure TForm1.btnListClick(Sender: TObject);
begin
  with TidFTP.Create(nil) do
  try
    Username := 'anonymous';
    Password := EmptyStr;
    Host     := 'ftp.freebsd.org';
    try
      Connect;
    except
      raise Exception.Create( 'Error conectando con ' + Host );
    end;
    ChangeDir( 'pub/FreeBSD/development' );
    List( ListBox1.Items );
  finally
    Free;
  end;
end;

Resultado:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 15-05-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
He hecho un copy de tu código y lo he pegado en lazarus con linux.

Responder Con Cita
  #5  
Antiguo 15-05-2015
Mystery Mystery is offline
Miembro
 
Registrado: jul 2007
Ubicación: Santiago de Cuba
Posts: 69
Poder: 17
Mystery Va por buen camino
Hola a todos...

Muchas gracias a todos....
Que sucede para la próxima doy todos los detalles a pesar de que crea que no son importantes esta vez me equivoque en eso.
Bueno resulta que estoy haciendo una pequeña app que inscribo tareas en mi aplicación y todos los documentos, ficheros y demás respetando la organización jerárquica de los directorios en la PC se copian idénticamente a un servidor FTP.
La parte de copiar esta resuelta con buena rapidez logro realizar esta tarea.
Ahora bien cuando el usuario elimine una de estas tareas de la aplicación, esta debe ser capaz de eliminar el directorio en el FTP asociado a ella, con todo el árbol de directorios dentro del directorio principal. En fin eliminar todo lo asociado a la tarea en el FTP.
Trate de hacerlo con:

Código Delphi [-]
  IdFTP.RemoveDir(IdFTP.DirectoryListing[idx].FileName);
pero esto me dice que si el directorio no esta vacío no puede realizarlo. Busque en este foro sin éxito alguna alternativa y no encontré, tal vez exista pero no lo encontré…entonces me dije una función recursiva que resuelva esto y ya... en este momento estaba trabajando con el FileZilla como servidor ftp en windows.
y salio esta función:
Código Delphi [-]
begin
  IdLeeFTP:=TidFTP.Create(nil);
  IdLeeFTP.Username := 'user';
  IdLeeFTP.Password := 'pass';
  IdLeeFTP.Host := '127.0.0.1';  
  try
    IdLeeFTP.Connect;
  except
  end;
  flist:=TStringList.Create;
  IdLeeFTP.ChangeDir(aURL); 
  IdLeeFTP.List(flist,'*.*',true); 
  for i:=0 to IdLeeFTP.DirectoryListing.count-1 do
    if not delFTP(i) then //esta funcion me borra lo que sea... directorio o archivo
      BorraR(aurl+'/'+IdLeeFTP.DirectoryListing[i].FileName, IdLeeFTP.DirectoryListing[i].FileName);
  IdLeeFTP.ChangeDirUp;
  IdLeeFTP.RemoveDir(dname);
  flist.free;
  IdLeeFTP.free;
end;
esto en windows me trabajo bien pero ahora cuando me pase a servidor de mi aplicación en Linux (ambiente real)
cuando el compilador llega a
Código Delphi [-]
IdLeeFTP.DirectoryListing[i].FileName
me devuelve 0... Busque en súper google y bueno ahí encontré que los indy vienen configurados por defectos para que esta función trabaje en servidores FTP windows que para todos los demás están implementados pero debe habilitarse en la unit principal en el uses... por difícil que parezca he abierto todas las unit de los indy (por cierto trabajo en delphi7) y no he encontrado a lo que se refieren. Ofuscado con esta solución me decidí a poner un breve o casi nada explicación de mi problema.
En el código de ecfisa que por cierto muy bueno pues con el ya solucione el problema. No utiliza la dichosa función y bueno todo resulta OK.
Muchas gracias una vez mas y bueno toda esta extensa explicación es la que debía haber dado al principio jejejee
sorry
sin mas
Mystery
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Que versión de Linux usar como servidor para firebird si soy novato en linux Tcmn Firebird e Interbase 27 19-05-2013 18:45:28
servidor tcp indy JULIPO Internet 1 18-04-2010 02:48:29
Indy Servidor Multihilos dekae Internet 0 03-09-2005 01:26:01
Nuevamente.... Servidor a Cliente INDY 10 m@kio Internet 1 18-08-2005 18:34:56
Como hacer un shares en un Servidos Linux para que otro Servidor Linux .... FernandoFAI Linux 0 15-04-2004 09:33:07


La franja horaria es GMT +2. Ahora son las 18:15:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi