Tamanho e espaço livre no hd
Alguem possui algum codigo q me retorne o tamanho e o espaço livre no HD.
Se alguem puder me ajudar desde ja agradeço
Se alguem puder me ajudar desde ja agradeço
Seccatto
Curtidas 0
Respostas
Chico Gois
08/04/2004
Abaixo é pra retorna tamaho de um diretorio, qq coisa adapte
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;
GOSTEI 0