Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2005
acl_gandalf acl_gandalf is offline
Miembro
 
Registrado: feb 2005
Posts: 39
Poder: 0
acl_gandalf Va por buen camino
Listar Subdirectorios con su fecha de creacion y su capacidad

Hola buenas a todos, estoy haciendo un programa q consiste en q yo selecciono un directorio de un DirectoryListBox y al hacer click en un boton, tengo q ver en un memo todos los directorios q dependen de el, ademas de la fecha de creacion de cada directorio/subdirectorio y el espacio q ocupa
Esto es lo q pongo yo, con elo consigo averiguar todos los subdirectorios de ese directorio, pero en cuanto a la capacidad y a la fecha de cracion aparece en el memo con 0. ¿alguien sabe porque?,¿que puedohacer para evitarlo?, lo he probado de muxas maneras y no consigo nada




procedure TForm1.Button2Click(Sender: TObject);
procedure func_directorio(directorio: string);
var x: TSearchRec;
begin
if FindFirst(directorio+'\*.*', faDirectory, x)=0 then
begin
while (FindNext(x)=0) and (profundidad <> 0) do
begin
if ((x.Attr and faDirectory)<>0) and (x.Name<>'.') and (x.Name<>'..') then
begin
// memo1.lines.Add(directorio+' '+x.Name+', '+inttostr(x.size)+'KB ,'+timetostr(x.Time));

memo1.lines.Add(directorio+' '+x.Name+', '+inttostr(x.size)+'KB, '+timetostr(x.Time));//+DateTimeToStr(FileDateToDateTime(fileAge(directorio))));
func_directorio(directorio+'\'+x.Name);
end;
// profundidad:=profundidad -1;
end;
FindClose(x);
end;
//profundidad:=profundidad -1;
end;
begin
memo1.Lines.Add('SUBDIRECTORIOS DE '+DirectoryListBox1.Directory); //+',' +DateTimeToStr(FileDateToDateTime(fileAge(DirectoryListBox1.Directory))));
func_directorio(DirectoryListBox1.Directory);
end;
Responder Con Cita
  #2  
Antiguo 08-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código Delphi [-]
  fecha := FiletimeTodatetime(x.FindData.ftCreationTime);

Para el tema del tamaño, creo que no tienes más remedio que hacer una búsqueda de todos los archivos e ir sumando.

Para el tamaño de un archivo, puedes usar x.Size.

Para ir sumando, debes tener cuidado, ya que x.Size es un Cardinal y solo llegará a 2 GB y pico, en caso de que ocupe más, tendrás que partir el tamaño en 2 variables de tipo Cardinal, tal y como hace el propio FindFirst.

Si miras en: s.FindData.nFileSizeLow verás que se corresponde con x.Size y s.FindData.nFileSizeHigh será 0. Esto será así cuando el archivo ocupe menos de los 2 GB ya comentado.

Tengo que investigar más para ver como va eso de las 2 variables, mientras tanto, si alguien tiene la respuesta, será bienvenida.


Nota: Cardinal = LongWord = DWORD;

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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


La franja horaria es GMT +2. Ahora son las 12:29:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi