var
Form1: TForm1;
TreeCount, FilesCount, DirsCount : integer;
TreeSize, FilesSize, DirsSize : comp;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;
Form1: TForm1;
TreeCount, FilesCount, DirsCount : integer;
TreeSize, FilesSize, DirsSize : comp;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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货