Einzelnen Beitrag anzeigen

C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Verzeichnisgröße gerechnet wenn Verzeichnis >2GB ist

  Alt 16. Aug 2008, 20:30
Hi,
So sollte es gehen:

Delphi-Quellcode:
{-----------------------------------------------------------}
{}function GetDirSize(dir: string; subdir: Boolean): Int64;
{-----------------------------------------------------------}
//label1.Caption := FloatToStr(GetDirSize('e:\download', False) / Sqr(1024)) + ' MBytes';

var
  rec: TSearchRec;
  found: Integer;
  iSize : int64:
begin
  Result := 0;
  if dir[Length(dir)] <> '\then dir := dir + '\';
  found := FindFirst(dir + '*.*', faAnyFile, rec);
  while found = 0 do
  begin
    Int64Rec(iSize).Hi := Rec.FindData.nFileSizeHigh;
    Int64Rec(iSize).Lo := Rec.FindData.nFileSizeLow;
    Inc(Result, iSize);
    if (rec.Attr and faDirectory > 0) and (rec.Name[1] <> '.') and (subdir = True) then
      Inc(Result, GetDirSize(dir + rec.Name, True));
    found := FindNext(rec);
  end;
  FindClose(rec);
end;{GetDirSize}
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat