Buscar

Tamanho de um diretório

Código

Function DirSize(Dir:string):integer;
{Retorna o tamanho de um diretório}
var
  SearchRec : TSearchRec;
  Separator : string;
  DirBytes : integer;
begin
  if Copy(Dir,Length(Dir),1)='' then
  begin
  Separator := '';
  end
  else
  begin
  Separator := '';
  end;
  if FindFirst(Dir+Separator+'*.*',faAnyFile,SearchRec) = 0 then
  begin
  if FileExists(Dir+Separator+SearchRec.Name) then
  begin
  DirBytes := DirBytes + SearchRec.Size;
  {Memo1.Lines.Add(Dir+Separator+SearchRec.Name);}
  end
  else if DirectoryExists(Dir+Separator+SearchRec.Name) then
  begin
  if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
  begin
  DirSize(Dir+Separator+SearchRec.Name);
  end;
  end;
  while FindNext(SearchRec) = 0 do
  begin
  if FileExists(Dir+Separator+SearchRec.Name) then
  begin
  DirBytes := DirBytes + SearchRec.Size;
  {Memo1.Lines.Add(Dir+Separator+SearchRec.Name);}
  end
  else if DirectoryExists(Dir+Separator+SearchRec.Name) then
  begin
  if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
  begin
  DirSize(Dir+Separator+SearchRec.Name);
  end;
  end;
  end;
  end;
  FindClose(SearchRec);
end;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Arquivos
Adicionada dia: 24/06/03
Por: Felipe Monteiro
Visualizada: 2634 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009