Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 25-11-2006
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 20
aeff Va camino a la fama
Wink algo parecido!!!

es posible que para buscar los archivos de una carpeta y los archivos de las subcarpetas, la siguiente función que te muestro te sea de gran utilidad, lo que la he desarrollado en Delphi, si tienes algún problema para traducirla a C te puedo ayudar...

procedure SearchFiles(Path: string; vList: TStringList; all: boolean);
var
p, fn: string;
fs: TSearchRec;
attr: Integer;
begin
if trim(ExtractFileName(path)) = '' then fn := '*.*' else fn := trim(ExtractFileName(path));
p := ExtractFilePath(path);
{Buscamos los ficheros}
attr := faArchive;
if FindFirst(p + fn ,attr, fs) = 0 then
vList.Add( p + fs.Name);
while FindNext(fs) =0 do
vList.Add( p + fs.Name);
{Buscamos las carpetas}
attr := faDirectory;
if FindFirst(p + '\*..' ,attr, fs) = 0 then
if (fs.Name <> '.') and (fs.Name <> '..') and (all) then
SearchFiles(p + fs.Name + '\*.*', vlist, all);
while FindNext(fs) =0 do
if (fs.Name <> '.') and (fs.Name <> '..') and (all) then
SearchFiles(p + fs.Name + '\*.*', vList, all);
end;


un ejemplo de llamada a la función
...
var
x: TStringList;
begin
x := TStringList.Create;
SearchFiles('C:\*.*', x, CheckBox1.Checked);
Memo1.Lines.Clear;
Memo1.Lines.Add(x.Text);
end;
...
/////////////////////-----

para obtener algunos datos de los ficheros, desarrollé la siguiente, digo, si te hace falta:

type TFDEspec = record
Fecha, Hora: string;
end;
type TFileDates = record
dCreation: TFDEspec;
dLastAccessTime: TFDEspec;
dLastWrite: TFDEspec;
end;
function GetFileDates(pFN: TFileName): TFileDates;
var
vFoundData: _WIN32_FIND_DATA;
c_SysTime, at_SysTime, lw_SysTime: TSystemTime;
begin
{Buscando el archivo y obteniendo sus datos}
FindFirstFile(pChar(pFN), vFoundData);
{Convirtiendo los datos a datos del sistem}
FileTimeToSystemTime(vFoundData.ftCreationTime, c_SysTime);
FileTimeToSystemTime(vFoundData.ftLastAccessTime, at_SysTime);
FileTimeToSystemTime(vFoundData.ftLastWriteTime, lw_SysTime);
{Elaborando los resultados}
{Creaci
ón}
Result.dCreation.Fecha := IntToStr(c_SysTime.wDay) + '/' + IntToStr(c_SysTime.wMonth) + '/' + IntToStr(c_SysTime.wYear);
Result.dCreation.Hora := IntToStr(c_SysTime.wHour) + ':' + IntToStr(c_SysTime.wMinute) + ':' +IntToStr(c_SysTime.wSecond) + ':' +IntToStr(c_SysTime.wMilliseconds);
{Último acceso}
Result.dLastAccessTime.Fecha := IntToStr(at_SysTime.wDay) + '/' + IntToStr(at_SysTime.wMonth) + '/' + IntToStr(at_SysTime.wYear);
Result.dLastAccessTime.Hora := IntToStr(at_SysTime.wHour) + ':' + IntToStr(at_SysTime.wMinute) + ':' +IntToStr(at_SysTime.wSecond) + ':' +IntToStr(at_SysTime.wMilliseconds);
{Última escritura}
Result.dLastWrite.Fecha := IntToStr(lw_SysTime.wDay) + '/' + IntToStr(lw_SysTime.wMonth) + '/' + IntToStr(lw_SysTime.wYear);
Result.dLastWrite.Hora := IntToStr(lw_SysTime.wHour) + ':' + IntToStr(lw_SysTime.wMinute) + ':' +IntToStr(lw_SysTime.wSecond) + ':' +IntToStr(lw_SysTime.wMilliseconds);
end;

espero que de algo te sirva!!! salu2.
Responder Con Cita
 



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
Listar archivos de directorio a travez de FTP ilichhernandez Internet 6 22-09-2006 01:03:14
Listar una carpeta [Gunman] API de Windows 4 03-01-2006 16:25:43
adjuntar el archivo que esta dentro una carpeta kinteam1 Internet 1 11-10-2005 22:32:01
Listar archivos d 1a URL y descargarlos Descendents Internet 0 06-11-2003 17:29:41
Listar ficheros dentro de un arbol olaya API de Windows 2 11-08-2003 19:44:15


La franja horaria es GMT +2. Ahora son las 22:36:11.


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