procedure TForm1.MakeTree;
var Sr : TSearchRec;
Err : integer;
TrSize, FilePath : string;
Begin
Err:=FindFirst('*.*',$37,Sr) ;
While (Err = 0) do
begin
if Sr.Name[1]<>'.' then
begin
FilePath:=ExpandFileName(Sr.Name);
TreeSize:=TreeSize+Sr.Size;
TrSize:=FloatToStr(TreeSize);
Form1.Caption:=DirectoryListBox1.Directory+' '+IntToStr(TreeCount)
+' files and folders Size: '+TrSize;
if (Sr.Attr and faDirectory)=0 then
begin
FilesSize:=FilesSize+Sr.Size;
inc(FilesCount);
end;
inc(TreeCount);
end;
{ Begin Recursion }
If ((Sr.Attr and faDirectory)<>0)AND(Sr.Name[1] <> '.') then
begin
DirsSize:=DirsSize+Sr.Size;
inc(DirsCount);
ChDir(Sr.Name) ;
MakeTree ;
ChDir('..') ;
end ;
{ End Recursion }
Err:=FindNext(Sr) ;
end ;
End;