Club Delphi  
    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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2005
JOSE NARANJO JOSE NARANJO is offline
Miembro
 
Registrado: ago 2003
Ubicación: Bogotá (Colombia)
Posts: 10
Poder: 0
JOSE NARANJO Va por buen camino
Unhappy Como capturo el tamaño de un directorio

Quisiera saber como capturo el tamaño de un directorio.
Responder Con Cita
  #2  
Antiguo 25-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué entiendes por tamaño de un directorio? Porque podemos estar hablando de la longitud de su nombre o de los archivos que contiene.

// Saludos
Responder Con Cita
  #3  
Antiguo 25-11-2005
JOSE NARANJO JOSE NARANJO is offline
Miembro
 
Registrado: ago 2003
Ubicación: Bogotá (Colombia)
Posts: 10
Poder: 0
JOSE NARANJO Va por buen camino
Tamaño en disco

Me refiero al tamaño en disco que tiene el directorio, incluyendo los subdirectorios y archivos. Ejemplo quiero saber cuanto tamaño (kb,Gb) tiene el directorio c:\windows
Responder Con Cita
  #4  
Antiguo 25-11-2005
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Segun el truco 351 de trucomania es asi:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
 
  function GetDirectorySize(const ADirectory: string): Integer;
  var 
    Dir:  TSearchRec;
    Ret:  integer;
    Path: string;
  begin 
    Result := 0;
    Path   := ExtractFilePath(ADirectory);
    Ret    := Sysutils.FindFirst(ADirectory, faAnyFile, Dir);
 
    if Ret <> NO_ERROR then 
      exit;
 
    try
      while ret=NO_ERROR do 
      begin 
        inc(Result, Dir.Size);
        if (Dir.Attr in [faDirectory]) and (Dir.Name[1] <> '.') then 
           Inc(Result, GetDirectorySize(Path + Dir.Name + '\*.*'));
        Ret := Sysutils.FindNext(Dir);
      end; 
    finally
      Sysutils.FindClose(Dir);
    end; 
  end; 
 
 
begin 
  Caption:=IntToStr( GetDirectorySize('c:\delphi3') );
end;

Si lo asignas a Caption como esta en la funcion aprecera en la barra de titulo del formulario.

Nota: Por favor no vuelvas a repetir hilos.
espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 25-11-2005
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
He movido este hilo a API de Windows porque Windows no era la mejor ubicación para una pregunta como esta.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #6  
Antiguo 28-11-2005
JOSE NARANJO JOSE NARANJO is offline
Miembro
 
Registrado: ago 2003
Ubicación: Bogotá (Colombia)
Posts: 10
Poder: 0
JOSE NARANJO Va por buen camino
Hola:

Disculpen por colocar dos hilos. Muchas gracias por la rutina me esta funcionando muy bien. Lo unico es que hay que hacer una anotación.

Cuando hay directorios con tamaño que un Integer no soporta tiene problemas. dir.Size es de tipo Integer, hay que tenerlo en cuenta.

gracias
Responder Con Cita
Respuesta



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 01:57:00.


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