Einzelnen Beitrag anzeigen

Benutzerbild von St.Pauli
St.Pauli

Registriert seit: 26. Dez 2004
351 Beiträge
 
Delphi 7 Personal
 
#1

Dateisuche mit Zäheln der durchsuchten Datei-Grössen

  Alt 14. Mär 2005, 16:01
Hi @ all,

Unten ist ein Teil des Codes. Ziel ist es, dass ich am Ende schreiben kann: "... mit der insgesamten Größe von xxxxx durchsucht"
Aber irgendwie klapp es nicht. Es gibt zwar keinen Fehler beim Comp. doch ich habe es einfach mal auf C:\ getestet, ohne Unterordner, und die Zahl war viel kleiner als die Tatsächliche Größe aller Dateien. Hat jemand einen Plan, was ich falsch gemacht habe???

Delphi-Quellcode:
function GetFileSize(const AFileName: String): Integer;
var
  F: TSearchRec;
begin
  Result:=-1;
  if FindFirst(AFileName,faDirectory + faHidden,F)=0 then
  begin
    try
      Result := F.Size;
    finally
      FindClose(F);
    end;
  End;
end;
Delphi-Quellcode:
procedure GetFilesInDirectory(Directory: String; Mask: String; List: TStrings; WithSubDirs, ClearList: Boolean; a : integer);

procedure ScanDir(const Directory: String);
var
  SR: TSearchRec;
  SearchedFiles : int64;
begin
SearchedFiles := 0;
  if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) < 0 then SearchedFiles := SearchedFiles + GetFileSize(Directory + SR.Name);
  if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) > 0 then SearchedFiles := SearchedFiles + GetFileSize(Directory + SR.Name);
  if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) = 0 then SearchedFiles := SearchedFiles + GetFileSize(Directory + SR.Name);
  if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) = 0 then try
    repeat
      List.Add(Directory + SR.Name);
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
a := SearchedFiles;
  if WithSubDirs then begin
Jetztschonmal danke für alle Antworten
Gruß St.Pauli
  Mit Zitat antworten Zitat