1-Eliminar un directorio con subcarpetas y ficheros dentro, aun intento hacer una funcion, lo que me dio como resultado
2-Sabe si el elemento obtenido es carpeta o fichero. Si es carpeta buscar dentro de esta, si es fichero eliminar
para eso busque informacion y encontre lo siguiente.
cpp
//Añadimos la cabecera: #include<memory> IdFTP1->Host = "ftp.rediris.es"; IdFTP1->Connect(); if (IdFTP1->Connected()) { std::auto_ptr<TStringList> sl(new TStringList); IdFTP1->List(sl.get()); for (int i = 0; i < IdFTP1->DirectoryListing->Count; ++i) { TIdFTPListItem* listItem = IdFTP1->DirectoryListing->Items[i]; String FileName = listItem->FileName; int Size = listItem->Size; TDate Date = listItem->ModifiedDate; //String Attr = listItem->PermissionDisplay; //bool IsDir = listItem->ItemType == ditDirectory; //... } IdFTP1->Disconnect(); }
pero no me funciona , asi que hice el siguiete cambio:
remplace esta linea:
cpp
std::auto_ptr<TStringList> sl(new TStringList); IdFTP1->List(sl.get());
por esta
cpp
TStringList *sl = new TStringList(); IdFTP1->List(sl, "*", false);
y todo anda sin problemas, pero cuando me lista y trato de obtener el tipo, es decir fichero o directorio me dice siempre que 1 es decir fichero y eso no es cierto , alguna ayuda me podrian brindar por favor gracias