Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 06-07-2011
NEG1414 NEG1414 is offline
Miembro
 
Registrado: mar 2007
Posts: 177
Poder: 20
NEG1414 Va por buen camino
...... He conseguido hacer lo que queria bajarme las carpetas y subcarpetas del Hosting, supongo qur habra una manera mucho mas facil de Hacerlo pero a mi me vale... la pongo por si a alguien le sirve
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{

  Ftp = new TIdFTP(NULL);

  AnsiString PathApp  = ExtractFilePath(Application->ExeName);
  AnsiString CTemp = PathApp + "Temp\\";
  mkdir(CTemp.c_str());

  Ftp->Host     = "host.com";
  Ftp->Username = "1234567";
  Ftp->Password = "*******";

  //Conecto con servidor
  try
  {
    Ftp->Connect();
    if(Ftp->Connected())
     {
       try
         {
           Ftp->ChangeDir("/Principal"); //Carpeta Principal
           //Actualizo//
           NewCarpeta(CTemp);
           //Desconecto
           Ftp->Disconnect();
         }
         catch (...)
         {
           if (MessageDlg("No se han podido actualizar los Datos",
           mtError,TMsgDlgButtons() << mbOK, 0) == mrOk){return;}
         }
     }
  }
  catch (...)
  {
     if (MessageDlg("No ha sido posible establecer la conexion",
     mtError,TMsgDlgButtons() << mbOK, 0) == mrOk){return;}
  }

  delete Ftp;Ftp = NULL;
}

//-----------------------------------------------------------------------//

void  TForm1::NewCarpeta(AnsiString Path)
{


     std::auto_ptr<TStringList> Elementos (new TStringList);
     Ftp->List(Elementos.get());
     int NumElemnt = Ftp->DirectoryListing->Count;
     bool *IsDir = new  bool[NumElemnt];

     //Conozco cuales son sus Subcarpetas
     for (int i=2;i<NumElemnt;i++)
      {
        TIdFTPListItem*  ListItem = Ftp->DirectoryListing->Items[i];
        Elementos->Strings[i] = ListItem->FileName;
        IsDir[i]=ListItem->ItemType == ditDirectory;
      }

     //Copio 
     for (int i=2;i<NumElemnt; i++)
        {
            //Si es una SubCarpeta
            if(IsDir[i])
              {
                Ftp->ChangeDir(Elementos->Strings[i]);
                mkdir((Path+Elementos->Strings[i] + "\\").c_str());
                NewCarpeta(Path+Elementos->Strings[i] + "\\");
              }
              else
              {
                 //Bajo Archivo
                AnsiString Copia = Path + Elementos->Strings[i];
                Ftp->Get(Elementos->Strings[i],Copia,true);  
              }
        }

   Ftp->ChangeDirUp();
}
Gracias
Responder Con Cita
 


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
Bajar un archivo de mi alojamiento desde delphi xio Internet 5 22-01-2008 20:14:20
Dónde puedo bajar el archivo BDE_ENT.Msm? Pikot Conexión con bases de datos 2 07-02-2007 19:38:21
Como puedo bajar un archivo de una pagina web ? Raptor Varios 5 22-09-2004 22:37:01
Bajar un archivo de www? kolokol Internet 6 12-02-2004 16:52:38


La franja horaria es GMT +2. Ahora son las 15:09:47.


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