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