Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

toooodos los archivos
Ir a página 1, 2  Siguiente
 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: toooodos los archivos Responder citando

De que manera puedo ver todos los archivo de una unidad?
Lo estoy intentando con DriveListBox, DirectoryListBox y FileListBox, pero no se me ocurre como hacer para recorrer todos los directorios y subdirectorios del DirectoryListBox.
Alguien se le ocurre algo?
PD: No busco un archivo en concreto, sini una lista de todos los archivos...
gracias de antemano!!!
_________________
Saludetes
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Cita:
...No busco un archivo en concreto, sini una lista de todos los archivos...

Si lo que necesitas es una lista de todos los archivos de un disco o directorio puedes usar la siguiente función:
Código:
void ListarDir(String dir, TStrings* sl)
{
    TSearchRec sr;
    bool finalizado = FindFirst(dir + "\\*.*", faAnyFile, sr);
    while (!finalizado)
    {
        if(sr.Name != "." && sr.Name != "..")
        {
            if (sr.Attr & faDirectory)
                ListarDir(dir + "\\" + sr.Name, sl);
            else
                sl->Add(dir + "\\" + sr.Name);
        }
        finalizado = FindNext(sr);
    }
    FindClose(sr);
}


Y un ejemplo de uso con un TMemo:
    ListarDir("c:\\windows", Memo1->Lines);
o
    ListarDir("c:", Memo1->Lines);
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Gracias Leo!!
Lo pruebo ya mismo!!
_________________
Saludetes
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

hola
he estado observado varios de los ejemlo que hay en el foro sobre TSearchRec pero no se como implmentarlos me podrian ayudar
por ejemplo en este mismo post
la linea de codigo comienza con
void ListarDir(String dir, TStrings* sl)
y yo que no se me pregunto y donde debo poner todo eso en .h .cpp o en otro lugar (dentro de un boton pr ejemplo) porque la verdad los ejemplos estan muy buenos pero no se como llevarlos a la practica
me podrian ayudar por favor
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

www.proyecsis.com/jerry/files/ListasArchivos.rar
aqui te dejo un ejemplo funcional del codigo expuesto x Leo..
saludos!

cualkier duda x aqui nos leemos.
_________________
><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Hola liki
Acabo de leer tu mensage y desargar lo que me mandas , de veras un millon de gracias por la ayuda
mis respetos y saludos
ifirt
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

tranquilo... por aquí estamos cualquier duda solo diga..
_________________
><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

liki te agradezco la respuesta anterior sobre el buscador
pero como la sed de conocimiento no se me ha saciado , me queda algoces por preguntar
Si yo deseara hacer que el buscador haga algo similar al de windows. Que debo de hacer?

Como puedo hacerlo para que no tenga que ser visual lo que hago ?

y si deseo eliminar los txt de determinado directorio como me las agencio

disculpa la retreta de preguntas pero es que el tema no me va muy bien y no comprendo mucho. de veras infinitas gracias
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

tanto este codigo como otros de buscar ficheros en la pc, comienzan a buscar y que sucede dejan colgada la plicacion , es decir no puedes hacer nada en tu ejecutable hasta que no termine la busqueda y por otro lado tampoco puedes detener la busqueda
yo deso saber como hacerle para que no suceda ninguga de esas dos molestis qeu les menciona mas arriba si es que se puede
gracias
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

hola ifrit, con respecta a detener al busqueda ver
Código:
Application->ProcessMessages();

y para liberar tu aplicacion, y puedas continuar con otras tareas deberia ver la forma de colocar el codigo de leo en un thread.
saludos tor
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Tor, gracias por responder pero de nunguna de las dos que me das se nada
y mucho menos se que es un thread , me prodrias explicar un poco lo que sepas sobre ello si tienes la oprotunidad porfavor
gracias
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

para el
Código:
Application->ProcessMessages();

ejemplo
Código:
//---------------------------------------------------------------------------

bool run;  /*variable global*/
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 run = true;
 while(1)
 {
  Application->ProcessMessages();
  if(!run) break;
 }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 run = false;
}
//---------------------------------------------------------------------------

la variable global, puede estar en la parte privada de la class Form1, en ese caso dejaria de ser global, que seria lo correcto.

Lo de los thraed hay vastantes ejemplos en el foro, uno de los que se esta bien explicado es para comunicacion con el puerto serie, que puedes estudiarlo para adaptarlo a tus nesecidades.
saludos tor.
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

perdon como aclaracion lo de arriba es un formulario con 2 botones.
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

_Leo escribió:
Cita:
...No busco un archivo en concreto, sini una lista de todos los archivos...

Si lo que necesitas es una lista de todos los archivos de un disco o directorio puedes usar la siguiente función:
Código:
void ListarDir(String dir, TStrings* sl)
{
    TSearchRec sr;
    bool finalizado = FindFirst(dir + "\\*.*", faAnyFile, sr);
    while (!finalizado)
    {
        if(sr.Name != "." && sr.Name != "..")
        {
            if (sr.Attr & faDirectory)
                ListarDir(dir + "\\" + sr.Name, sl);
            else
                sl->Add(dir + "\\" + sr.Name);
        }
        finalizado = FindNext(sr);
    }
    FindClose(sr);
}


Y un ejemplo de uso con un TMemo:
    ListarDir("c:\\windows", Memo1->Lines);
o
    ListarDir("c:", Memo1->Lines);

bueno yo solo quisiera saber si puedo encontrar solo las carpetas y las direccion completas de estas
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

¿Que tal así?:
Código:
void ListarDir(String dir, TStrings* sl)
{
    TSearchRec sr;
    bool finalizado = FindFirst(dir + "\\*.*", faAnyFile, sr);
    while (!finalizado)
    {
        if(sr.Name != "." && sr.Name != "..")
        {
            if (sr.Attr & faDirectory){
                ListarDir(dir + "\\" + sr.Name, sl);
                sl->Add(dir + "\\" + sr.Name);
            }
        }
        finalizado = FindNext(sr);
    }
    FindClose(sr);
}


Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.