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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Exclamation

Gracias por la Ayuda escafandra

Pero el código me detecta todos los ficheros aunque estén dentro de otro subdirectorio pero no me muestra las carpetas que son las que quiero excluir algunas,
Responder Con Cita
  #2  
Antiguo 24-11-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código:
void Folders(String Dir, TStrings* Salida)
{
    TSearchRec sr;
    if(!FindFirst(Dir + "\\*.*", faAnyFile, sr))
    do{
      Salida->Add(Dir + "\\" + sr.Name);
    } while (!FindNext(sr));
    FindClose(sr);
}
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Folders("C:\\Documents and Settings", Memo1->Lines);
}
Saludos.
Responder Con Cita
  #3  
Antiguo 24-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Gracias escafandra;

El código me funciona bien pero me saca unas carpetas con puntos que no se que son y no existen, te muestro lo que sale en el Memo

--------------------------------------
C:\Documents and Settings\.
C:\Documents and Settings\..
C:\Documents and Settings\Administrador
C:\Documents and Settings\Administrador.IPIMTZAG
C:\Documents and Settings\All Users
C:\Documents and Settings\amartinez
C:\Documents and Settings\Default User
C:\Documents and Settings\LocalService
C:\Documents and Settings\NetworkService
C:\Documents and Settings\yrodriguez

-----------------------------------------------------

Las dos primeras no se que son, como se pudieran quitar y también como pudiera darles las exclusiones que yo quisiera.

Yo lo que trato de hacer es paserle esta lista a la función de eliminar Carpetas completas

Muchas gracias por la ayuda brindada
Responder Con Cita
  #4  
Antiguo 24-11-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Viene desde la época del DOS:
\. es la carpeta actual
\.. es la carpeta anterior (padre)

Saludos.
Responder Con Cita
  #5  
Antiguo 26-11-2009
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

Muchas Gracias escafandra como siempre.

Bueno para el que a ya tenido el mismo problema que yo y no sepa como borrar todo los subdirectorios de una carpeta incluyendo los archivos, aqui les dejo el código que e utilizado para el mismo.

Primero que nada debemos de declarar estas dos funciones.



Codigo Funcion1
//--------------------------------------------------------

void __fastcall TForm1:eleteFolder(String Folder)
{
SHFILEOPSTRUCT FileOpInfo;
setmem(&FileOpInfo, sizeof(FileOpInfo), 0);
FileOpInfo.wFunc = FO_DELETE;
FileOpInfo.pFrom = Folder.c_str();
FileOpInfo.fFlags = FOF_NOCONFIRMATION;
SHFileOperation(&FileOpInfo);
}

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

Codigo Funcion2
//--------------------------------------------------------

void __fastcall TForm1::ListarEliminarFolders(String Dir, TStrings* Salida)
{
TSearchRec sr;
if(!FindFirst(Dir + "\\*.*", faAnyFile, sr))
do{
Salida->Add(Dir + "\\" + sr.Name);
if (sr.Name=="." || sr.Name=="..") NULL;
else DeleteFolder(Dir + "\\" + sr.Name);
} while (!FindNext(sr));
FindClose(sr);
}

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

-En la primera Funcion es para eliminar la carpeta completa que se le pase,

-En la Segunda Función es para listar todos los Archivos y Carpetas dentro de un directorio y Eliminarlos con la Primera Función Declarada,

Le puse un IF para que cuando mande a borrar la lista de Archivos y Carpetas encontrados no me de Error a la hora de borrar estos dos "." y "..", que como escafandra me decía viene de la época del DOS.

Bueno y Como ultimo como se Llama a la Función para eliminar todo el contenido dentro de una Carpeta dejándola a ella intacta.

Código Acción

//------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListarEliminarFolders("C:\\Documents and Settings", Memo1->Lines);
}

Se inserta un Memo1 para ver todos los archivos con las carpeta que existian en el Directorio seleccionado "C:\Documents and Settings".


Bueno cuando encuentre como pudiera ponerles mas carpetas a Excluir lo pasteo, para como ya dije le sirva a alguien que tenga la misma duda que yo, los archivos a Excluir deben de estar en un Fichero aparte...


Bueno Saludos y Muchas gracias a todos.
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
Ayuda con onexion a sql server 2000 con ado por codigo desde delphi 6 FAGD Conexión con bases de datos 2 26-02-2008 17:24:08
Porfavor algo de ayuda con un poco de codigo en delphi!! N4ota Varios 6 10-06-2007 22:40:54
Ayuda para completar código:Traducción de Delphi a Builder Pernorak C++ Builder 3 30-05-2007 12:45:16
Pasar codigo C a delphi Mr.Vaka Varios 1 24-12-2005 11:38:02
Pasar Código VBSCRIPT a Delphi.net mamen .NET 2 03-06-2005 14:52:43


La franja horaria es GMT +2. Ahora son las 19:54:37.


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