| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
NooB Ens

Registrado: 30 Abr 2003Mensajes: 42Ubicación: Valencia
|
Publicado: Vie 11 Jun, 2004 12:03 am Asunto: toooodos los archivos |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 14 Jun, 2004 12:24 am Asunto: |
|
|
| 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 |
|
 |
NooB Ens

Registrado: 30 Abr 2003Mensajes: 42Ubicación: Valencia
|
Publicado: Lun 14 Jun, 2004 11:41 pm Asunto: |
|
|
Gracias Leo!!
Lo pruebo ya mismo!! _________________ Saludetes |
|
| Volver arriba |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Mar 19 Ago, 2008 9:43 pm Asunto: |
|
|
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 |
|
 |
likibuay Master


Registrado: 24 Abr 2006Mensajes: 190Ubicación: COLOMBIA
|
Publicado: Jue 21 Ago, 2008 2:02 am Asunto: |
|
|
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 |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Jue 21 Ago, 2008 3:45 am Asunto: |
|
|
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 |
|
 |
likibuay Master


Registrado: 24 Abr 2006Mensajes: 190Ubicación: COLOMBIA
|
Publicado: Jue 21 Ago, 2008 4:15 am Asunto: |
|
|
tranquilo... por aquí estamos cualquier duda solo diga.. _________________ ><(((((º> From °l||l° §ÂN ÅNЮ€$ i§Lã$ °l||l°
_____________________ |
|
| Volver arriba |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Jue 21 Ago, 2008 6:03 am Asunto: |
|
|
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 |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Vie 21 Nov, 2008 2:28 am Asunto: |
|
|
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 |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Vie 21 Nov, 2008 4:04 am Asunto: |
|
|
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 |
|
 |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Vie 21 Nov, 2008 5:05 am Asunto: |
|
|
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 |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Vie 21 Nov, 2008 5:51 am Asunto: |
|
|
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 |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Vie 21 Nov, 2008 5:55 am Asunto: |
|
|
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 |
|
 |
vizca321 Lt


Registrado: 06 May 2008Mensajes: 83Ubicación: Mexico
|
Publicado: Lun 15 Jun, 2009 9:05 pm Asunto: |
|
|
| _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 |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Mar 16 Jun, 2009 12:59 am Asunto: |
|
|
¿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 |
|
 |
|