Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateien im Verzeichnis zählen (https://www.delphipraxis.net/16664-dateien-im-verzeichnis-zaehlen.html)

EvilDragon 21. Feb 2004 11:48


Dateien im Verzeichnis zählen
 
wieder mal ich,
bräuchte nen einfachen code der in einem verzeichenis (z.b. C:/ordner/) alle *.dat dateien zählt, also ich brauche eigentlich halt die zahl (anzahl der dateien)

hoffe jemand kann dat ganz easy aus dem ärmel schütteln ;)

Sharky 21. Feb 2004 11:53

Re: Dateien im Verzeichnis zählen
 
Hai EvilDragen,

Du wirst nicht darum kommen die Dateien mit FindFirst und FindNext zu zählen.

EvilDragon 21. Feb 2004 12:08

Re: Dateien im Verzeichnis zählen
 
hm.. da mit komm eich noch net so ganz klar, gibts vieleicht nen einfachen code hm.. mit kommentar oder so??? halt als demonstration

SirThornberry 21. Feb 2004 12:08

Re: Dateien im Verzeichnis zählen
 
Delphi-Quellcode:
function CountFilesInFolder(AFolder: String; AMask: String): Integer;
var tmp1: TSearchRec; //Record in den FindFirst/Findnext die Daten schreibt
    ergebnis: Integer; //zur Zwischenspeicherung von Findfirst und FindNext
begin
  result := 0;
  if (AFolder <> '') then //wenn kein Pfad angegeben wurde könn wir gleich abbrechen...
  begin
    if AFolder[length(AFolder)] <> '\' then AFolder := AFolder + '\'; //wenn AFolder keinen '\' am Ende hat fügen wir einen an weil "c:\mypfad" + "*.*" schief gehen würde
    ergebnis := FindFirst(AFolder + AMask, faArchive + faReadOnly + faHidden + faSysFile, tmp1); //erste Datei aus Verzeichnis holen. Ergebnis <> 0 = nix gefunden
    while ergebnis = 0 do //solange wie Dateien gefunden wurden weitersuchen
    begin
     Inc(result); //anzahl der gefundenen Dateien erhöhen
     ergebnis := FindNext(tmp1); //nächste Datei suchen
     while ((tmp1.Name = '.') or (tmp1.Name = '..')) and (ergebnis <> 0) do ergebnis := FindNext(tmp1); //Filtert "." und ".." raus. Eigentlich unnötig weil wir Ordner nicht berücksichtigen, aber bleibt drin falls wir die Attribute mal wieder um "faDirectory" erweitern
    end;
    FindClose(tmp1); //Am Ende der Auflistung sollten wir das SearchRec wieder freigeben
  end;
end;
Beispielaufruf:
Delphi-Quellcode:
  showmessage(inttostr(countfilesinFolder('c:\', '*.dat');
[Edit]Kommentare im Quelltext hinzugefügt zum besseren Verständnis[/Edit]

EvilDragon 21. Feb 2004 12:37

Re: Dateien im Verzeichnis zählen
 
SirThornberry

danke, blick ezwa rnciht gnaz durch was es genua tut aber es läft einwandfrei *g*

torud 18. Nov 2004 07:55

Re: Dateien im Verzeichnis zählen
 
Vielleicht blickst Du nicht ganz durch, weil Du Dir nicht die zeit nimmst es zu verstehen oder Dir genügend Mühe gibst!???

Ich denke, dass die, die Dir den Code zur Verfügung stellen Deine Aufmerksamkeit und Deinen Versuch diesen Code zu verstehen, als Mindestlohn verdient haben!

TypusMensch 18. Nov 2004 12:01

Re: Dateien im Verzeichnis zählen
 
Anmerkung:
HIER findest du eine erweiterte Funktion. :wink:

Sharky 18. Nov 2004 12:36

Re: Dateien im Verzeichnis zählen
 
Ähmmm.... ihr habt aber schon gesehen wie alt der Thread ist oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz