this slowpoke moves

Get all Files in Folder

Hier ist ein Beispiel, wie man alle Dateien in einem Ordner auflisten und zählen kann. Es lassen sich nach bestimmten Dateien suchen oder auch alle befindlichen Dateien. 

Dateien auflisten :
uses FileCtrl

//

procedure ListFileDir(Path: string; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.*', // HIER KANN DIE DATEIENDUNG BESTIMMT WERDEN
  			   faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        FileList.Add(path + SR.Name);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListFileDir('C:\WINDOWS\', ListBox1.Items);
end;
Dateien zählen :
uses FileCtrl

//

procedure AlleDateienImVerz(pfad:string; gefunden:TStrings; MitUnterVerz:Boolean);
var  sr : TWin32FindData;
     h :  THandle;
begin
  if ansilastchar(pfad)<>'\' then
  pfad := pfad+'\';
  h := FindFirstFile(PChar(pfad + '*.*'),sr); // HIER KANN DIE DATEIENDUNG BESTIMMT WERDEN

  if not (h=INVALID_HANDLE_VALUE) then
  repeat
    if DirectoryExists(pfad+sr.cFileName) then
    begin
    if not (sr.cFileName[0]='.') then
      if MitUnterVerz then
      AlleDateienImVerz(pfad+sr.cFileName,gefunden, True);
    end
    else
    begin
    gefunden.add(pfad+sr.cFileName);
    end;
    until
    Findnextfile(h,sr)=false;
  windows.FindClose(h);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringlist;
begin
  sl:=TStringList.Create;
  try
  AlleDateienImVerz('c:\Inprise\', sl, True);
  ShowMessage(IntToStr(sl.Count) + ' Dateien im Ordner c:\Inprise\');
  finally
  sl.Free;
end;
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate